Hello!
Welcome to my site!
I am a Lecturer in Games Programming and PhD Researcher in Computer Science ๐ป (VR and Hand Tracking) at
Goldsmiths University of London. Senior Unity Developer experience in creating VR and AR experiences as well as Games/Apps for mobiles and computers.
Developer.
My Skills
Unity Development
I started learning to code because I wanted to make my own video
games ๐ฎ. Over time, I have gained a wealth of experience in
developing and designing my own mobile, web, VR and AR app, experiences and games.
During my Masters degree, I become interested in VR and AR got accepted as PhD research in VR and AR at Goldsmiths University of London and got
experienced in XR development and research.
UI and UX
My interest in game, creative app and experience lead me to learn about UI and UX design as well because
I wanted to create experience that was easy to navigate and had good presentation which required me to understand design ๐ ๏ธ๐จ. Over the years I have
expanded my knowledge and got experienced in designing games, app, VR, AR apps and experiences.
Web Development
The ease of access to the website for users always fascinated me
no need to install an application just a web address and you are
good to go. This lead to me become interested in web
development and I started learning more about the web ๐ and how the
internet works in my free time. Although my knowledge in web development is not as advanced as my background in Unity development I do have some experience
developing websites and web apps using HTML,CSS, JavaScript (Front-End) Node.JS and Express.JS (Back-End) and other web dev libraries.
My Education
PhD in Computer Science (from Goldsmiths University of London),
Since 2019 - Expected Graduation September 2023 (Learn More)
- Research area Virtual Reality and Augmented
reality
- Researching the effect of hand tracking on user
performance and behavior in VR
- Researching physics-based hand tracking
interaction in VR
- Part of Goldsmiths SEE VR Lab research team
Master's in Computer Games Art & Design (from Goldsmiths
University of London), 2018โ2019 Graduated with Distinction (Learn More)
- Programming (C# and C++)
- Unity (C#) and Unreal Engine (C++ & Blueprints)
application development
- VR application development using Unity game engine
(C#)
- UX and UI Design (Photoshop, Adobe Illustrator and
InDesign
- 3D Modelling and Animation (Using Maya +
integration in-game engine)
- Game Design and Analytics
- Project planning and game business practices
BSc (Hons) in Games Programming (from Goldsmiths University of London), 2014โ2017 (Learn More)
- Programming in Java, C# and C++
- Graphical Programming (P5.js, C++ openFrameworks,
Processing)
- Game Development in Unity game engine(C#) for
computers, web and mobile devices
- Front end web development (HTML, CSS and
JavaScript)
- Numerical Mathematics and Symbolic Mathematics
- Algorithms and Data Structures (Java)
- Artificial Intelligence
- AI for Games (Unity C#)
- Machine Learning (Python)
My Experience
Lecturer in Games Programming - Goldsmiths, University of London -> Sep 2019 - Present (Learn More)
- Lecturer in Games Programming Aug 2022 - Present
- Lecturer for the following courses:
- Games Project 1 (Undergraduate Course)
- Games Project 2 (Undergraduate Course)
- Games Development (Postgraduate Course)
- Games Development Online Degree Coursera (Undergraduate Course)
- Associate Lecturer Sep 2020 - Aug 2022
- Writing course materials and teaching VR & AR
application development in Unity.
- Providing technical support to students in VR & AR
computing Laboratory.
- Teaching C# Programming using Unity and
application development for VR devices and mobile phones (iOS, Android, WebGL and VR devices).
- Providing lab support for Algorithm and Data Structure course.
- Teacher Assistant Sep 2019 - Aug 2020
- Responsible for holding lab sessions for students in order to answer their questions, creating course materials and marking assignments.
- Teacher Assistant for the following courses:
- Advanced Topics in Virtual and Augmented Reality (Postgraduate Course)
- Game Programming (Postgraduate Course)
- 3D Virtual Environment and Animation (Postgraduate Course)
- Mixed Realities (Postgraduate Course)
- Introduction to Virtual Reality (Undergraduate Course)
- Numerical Mathematics (Undergraduate Course)
- Symbolic Mathematics (Undergraduate Course)
- Algorithm and Data Structures (Undergraduate Course)
- Introduction to Statistics for Business (Undergraduate Course)
- Problem Solving (Undergraduate Course)
- Foundation Mathematics for Computing (Foundation Course)
External Examiner - University of London -> Nov 2021 - Present (Learn More)
- Designing midterm and final year examinations coursework as well as final exam for Java Programming Year 1 and Year 2 of BSc in Computer Science degree and marking students submissions, providing feedback and solutions.
- Courses Include:
- Introduction to Java and Object-Oriented Programming
- Graphical Object-Oriented and Internet Programming in Java
AR/VR Consultant - South Bank Innovation -> Apr 2021 - Mar 2022 (1 Year) (Learn More)
- AR/VR consultant for London-based start-ups and
SMEs
to conceptualise, research and develop innovative products and services.
- Sought through development of the project from
idea
to release version of the app, providing advice and guidance.
- Working closely with the CEO of a new start-up,
discussing the project to develop their ideas.
- Working closely with companies engineers and
designers to make sure they are on the right track, giving advice on project timeline and deliveries.
- Work as of Part of the ACE-IT Team, which is a
partnership between London South Bank University and London College of Communication. ACE-IT is co-funded by
the European Regional Development Fund.
Online Tutor Coursera - University of London -> Apr 2021 - Oct 2021 (7 Months) (Learn More)
- Moderator for the โIntroduction to Computer
Programming 2โ course part of BSc computer Science Degree on Coursera platform.
- Taught 100 students application development using
P5.js and javascript.
- Holding weekly webinar sessions to go over
lessons.
- Answering queries from students on form and
supervising forum discussions.
- Marking students mid-term and final submissions.
- Reporting problems and concerns to the module
leaders.
Software Engineer Research Intern - Nokia Bell Labs -> Jun 2020 - Aug 2020 (3 Months) (Learn More)
- My Main role developed AR location based game called Harry Spotter
- Responsible for developing a gamified location based Augmented
Reality app for mobile phones using Unity game engine (C#)
- Responsible for integration of backend and
frontend
and end-to-end testing.
- Researched mobile user engagement and personality
traits through the application, the paper for this research will be released in the near future.
- Worked in a team of four people, gave weekly
presentations of projects and research updated to the team and communicated the progress effectively.
My Research
Hands On: Studying how VR experiences are influenced by different interaction systems, such as hand tracking and controllers. Looking for
participants to join the research!
My Publications
- VR Research: The Effects of Hand Tracking on User Performance: an experimental study of an object selection based memory game (IEEE ISMAR 2022, Conference Paper, Acceptance Rate 21%) (๐ Link to Paper) (๐ Link to Presentation)
- AR Research: Our Nudges, Our Selves: Tailoring Mobile User Engagement Using Personality (Upcoming INTERACT 2023 Conference Paper, Acceptance Rate Less Than 25%)
My Projects
๐ฎ Roll: a 3D isometric game endless runner game made using Unity game engine (C#) made for iOS and Android Devices. WebGL version is also available (๐ฎ Play the game!)
๐งฉ Link: A puzzle game to test your problem-solving skill. Originally made in C++ for macOS and Windows.
Rebuild for Web using JavaScript, HTML and CSS. (๐ฎ Play the game!)
๐จ Math Geometric Drawing: a web app that draws shapes based on user mouse movement and mathematical algorithms.
Made using P5.js, JavaScript, HTML and CSS. (๐ Try it out!)
๐ Bezier Curve Simulation: In computer graphics, we often have to draw different objects. Objects aren't always flat, so you have to draw a lot of curve lines to draw them.
This web app is a simulation of Bezier Curve (AKA Drawing Cool Interactive Curved Lines!).
Made using P5.js, JavaScript, HTML and CSS. (โคด Try it out!)
๐ Rocket: A 3D physics based game made in Unity (C#). The project was part of a Game Dev challenge where you make
a game with "Unstable" as theme, and you are limited to use Unity basic objects like cube, sphere and etc. I developed toon shader and light glow effect in order to make the game, look more interesting.
(๐ฎ Play the game!)
๐พ e-Learn: A website designed and built by me for an educational platform. Made using HTML, CSS, JavaScript
and Bootstrap framework. (๐ See web the design example!)
My VR Projects
- Pixel: A musical based VR game based on the mechanics of Beat Saber, one of the most popular VR games ever. Made in Unity(C#) using Oculus Integration SDK. (๐ฅ Video Demo)
- Pattern Memory: A puzzle game made in VR developed to support for both hand tracking and controller interaction,
I develop this game as part of my PhD research to understand how different interaction method effect users cognition and ability to solve puzzle. Made in Unity(C#) using Oculus Integration and XR Toolkit SDKs (๐ฅ Video Demo)
- Hand Tracking Interaction Demo: An interactive that demos different interaction method possible in VR using hand tracking. Made in Unity(C#) using Oculus Integration SDK (๐ฅ Video Demo)
My AR Projects
- Rayah Project: I work as a freelance AR developer on this project to develop an educational interactive AR experience for Rayah Museum. Developed with Unity (C#) and AR Foundation SDK. (๐ฅ Video Demo)
- Harry Spotter: A location-based AR game that I developed during my internship at Nokia Bell Labs UK, this project is a research project designed to understand how user personality affects their interaction with mobile applications. (๐ฅ Video Demo)
My Tutorials
Learning Git: a guide that covers how to use git & command lines (๐ Link)
Guide On How To Build Unity Project On Windows For iOS (๐ Link)
More tutorials available on my YouTube page. (๐ Link)
My Languages / Dev Tools
My Game Engine
Extensive Experience using Unity Game Engine
iOS, Android, PC, Mobile and WebGL development
Experienced in using VR and AR libraries such XR Interaction Toolkit, AR Foundation, Oculus Integration.
3D character animation and movement system
Online multiplayer experiences using Photon
UI interface design and implementation
Gameplay and tool programming
Shaders
Implementing analytics system for collecting data and analyzing user experience
Backend integration through Unity Web request
Some experience using Unreal Engine and blueprints for creating and prototyping idea
...........
My Computer Languages
Always down to learn more!
...........
My Human Languages
Persian (Native) && English (Proficient)
Trying to learning ๐จ๐ณ Chinese now ๐
...........
My Web Development Tools
+ Express.js, npm, Bootstrap, React and many others!
...........
General Dev Tools
...........
3D Model and Animation
some knowledge of 3D modelling and animation in Blender and Maya to create simple assets for game prototype. (๐ Link)