Van Phan

Game Developer

Unreal Engine C++ | Unity C#


About Me

my photo

I'm Van, a graduate from the class of 2024 of RIT with a BA in Game Design and Development . Since my graduation I'm currently working as a game development instructor for iDTech teaching my students Unreal Engine, Unity, and C++.


In 2022, I worked for Magic Spells Studio on the project That Damn Goat which I have the invaluable opportunity of working with a team of artists, programmers, and designers to ship our local multiplayer capture the flag like game onto steam! I was also blessed to be able to present this project in PAX EAST 2023.


Outside of work, I love to stay active. I dance at a collegiate level for the Rochester Lilac Dancesport Team (Standard, Smooth, Latin, and Rhythm styles). I also love working on games outside of work, with projects from when I first started college to now being posted on both GitHub and Itch.io .

Unreal Multiplayer C++ Project

During the fall of 2023 and my last semester at RIT in the spring of 2024, I would spend a majority of my free time working on a multiplayer template project that was primarily C++ in Unreal Engine. The project has taught me how sessions are implemented in Unreal's C++ library and has allowed me to improve my understanding of system replication. Moving forward, I have also decided that I would make all my projects open source since it would allow people to not needlessly spend time on finding solutions for particular issues in C++ Unreal.


Current project progress:


● Users can host sessions, defined the lobby size, and whether this session is LAN.


● Users can browse all available sessions and see if the lobbies are full and what user is hosting that particular session.


● When in the same sessions, users are able to travel to the main "game" using Q, traveling all clients to a new level. This new level has boxes the have UI pop-ups that only appear for that particular client and there is a basic melee combat system to demonstrate basic replication.


● Beyond the multiplayer aspects, that project has the systems developed for language localization, graphics settings, and audio settings.


● Currently in development is creating a character selection system that persist between selections when loading to the server session and traveling. From there I also need to fix how these characters are replicated between the server and client.


Game Jams (C++/C#)

During my fall semester of 2024 I wanted to do as many game jams. Attached to the button is a link to my Itch page of all the games I have playable throughout my college career.


The game jams have given me the opportunity to test my problem solving skills without being given the answer. A lot of my time in game development had been stuck looking at courses and tutorials for Unreal or Unity so being able to prove I can operate indepedently from those systems is very self-fulfilling.


I have also at this point started using github much more on my personal projects to track commits to track how much I work and to be able to share solutions to problems so people don't have to spend hours like I did trying to solve a problem that consist of one line of hidden code.


Unreal Consulting (UE 5 C++)

During my winter break of my senior year of college I decided I would get a certificate in Unreal C++ development. I wanted to prove to myself that if a client of mine wanted a particular game developed I would be able to complete the request in a timely manner and also use strong S.O.L.I.D principles for system development. I reached out to a handful of collegeues who agreed to design game ideas and create art/music assets. In exchange I would develop their requests in Unreal using the C++ pipeline.


Over the span of the spring semester of 2023 I developed:


● A 1st person platforming game where the main character can wall run, teleport, and double jump. A checkpoint system setup. Since this project was made for an audio engineer, I developed the system to expansable from a blueprints approach so that my team member can easily work in tandum with me without needing to be overwhelmed by looking at all the code.


● A 3rd person FPS which replicates the throwing mechanic from the game "Control". This project was used to help me understand how to develop a C++ for a colleague whos main focus was on VFX systems.


● A 2.5D puzzle game where you utilize roots to connect other fungal colonies while traversing through the world's terrain. This project was espcially challenging since I had to override Unreal's default spline system to work as a modular component that would allow the artist to pass in their own assets and would use these assets to regenerate roots at runtime.


Unity Client Project (C#)

During my spring semester of 2023 I was requested to help represent Magic Spell Studios at PAX East 2023. While I was there I meet old colleagues of mine who wanted assistance in developing their next game they wanted to published. The game is a 2D zelda inspired game.


My current contributions include:


● Setting up a character ability system to use an interface that would allow designers/developers to drag and drop any abilities in the 4 respective ability slots.

● A ranged weapon system that uses a projectile interface to handle object pooling with whatever projectile types the team designs.

● A dynamic room system which allowed scenes to be additively loaded in and out upon entering/exiting entry points, with the objective of allowing designers to be able to work on multiply scenes at the same time and reduce computation of loading unneccessary scenes.


Physics Engine (C++ and HLSL)

During my junior year of college, I took a class that focused on the development of common game engine systems using C++ and HLSL. The class really helped me understand the many systens underneath most game engines. Over the course of the entire class I worked on one primary project where I developed:


● A game engine that took in .fbx files and parsed that data into points for the computer to calculate out triangles and visualize the object.

● A simple render pipeline that took in HLSL data, materials, shaders, textures, normals, and light maps. Using the feed in data it would apply these desired changeds onto a specific mesh.

● A game object system that would allow meshes to have transforms and translation which could be updated at runtime.

● A camera system to utilized culling for optimization. Contained movement and rotation, allowing the user to fully view 3D objects.

● A light system to allow for interaction with spot lights, directional lights, spot lights, diffusion, and specular data.


Shrine of Radiance (UE5 Blueprints)

Shrine of Radiance is Unreal Engine Blueprints project I developed over my winter break of my Junior year of college based off the online course "Game Dev Unlocked". The course helped me develop a baseline understanding of Unreal Engine's main systems. I decided to use this project during my spring semester for my composing for video games class. The results I got from the project were:


● A simple first person puzzle game where the player had to bounce around lasers to hit goals and move onto new levels.

● Over 10 puzzle areas designed using nanite assets for the quixel bridge marketplace.

● A dynamic music system that changed based off progress into the game using metasounds.

● Self developed music using Ableton Live.

● A checkpoint system.


Peace of Mind (Unity)

Peace of mind is a walking-sim where you activate generators to escape society. I created the project during the summer of my softmore year of college, which was based off the online course "Game Dev Unlocked". I used the concepts learned from this project to demonstrate my understanding of Unity and secure my first job in the game dev industry. What I accomplished was:


● Created a open world level experience using assets from the Unity Marketplace.

● Used built in Unity tools: terrain generation, foliage system, post-processing, lighting, VFX, etc. to enhance the visuals of the world.

● Created and editted art assets in photoshop and blender/maya.

● Created voice-over clips in audacity and adobe audition.


iDTech Instructor at MIT

I decided that would take a leap year during my college career to focus on sharpening my skills in game development. During this period I landed a job offer from iDTech to teach the Unreal Engine classes at MIT for the summer. I worked 70+ hours a week, assisting over 180 students in the tech camp and overnight academy program. Over the summer I was able to help by:


● Teaching students how to utilize Unreal Engines blueprint system to develop gameplay mechanics.

● Many students would request material outside the planned curriculum so I would create my own material to teach Unreal Engines behavior tree AI system, the C++ pipeline in Unreal Engine, low-level shader concepts for materials, and linear algebra concepts.

● I handled assisting in the supervision of the students during lectures, meal times, activity periods, and class trips.

● During the spring of 2024 I now teach fully online, developing two projects to teach concepts in Unity and Unreal.



Magic Spell Studios AI Engineer

During my time at Magic Spell Studios I started as a gameplay developer and they slowly migrated me to a full-time position as an AI developer. I worked with teams for audio and art, proactively integrating their work into the project while handling my own task. During my time of the team I worked on:


● Re-developed AI system to use a behavior tree system. Designed the architecture and system direction in lucid chart.

● Resolved over 30 gameplay bugs in the code base (system crash, incorrect character/item behavior, and UI bugs).

● Developed the UML graph in lucid chart to visualize all the systems in the project (over 140 systems)

● Removed over 60 scripts from and their dependencies to clean up development environment for engineers.



Teaching Assistant (Web development)

During my junior year of college I worked part-time as a web developer. My responsibities included:


● Assisting over 50 students in learning: Html, CSS, JS programming, and developing portfolio sites and web apps.

● Grading student's work on a weekly basis, providing individualized feedback and extra assistance on subjects.


Teaching Assistant (Data-structures and algorithmns for C#)

During my junior year of college I wanted to gain some experience teaching the foundations of C# in order to sharpen my own understanding of the foundational systems. Helping the students also helped me solidify my own understanding of math concepts at the time. My overall responsibities included:


● Assisted 30 students in learning: version control, C# MonoGame pipeline, data structures, and search algorithms.

● Grading student's work on a weekly basis and helped students architecture systems for semester long group projects.

udemy certificate udemy certificate udemy certificate udemy certificate udemy certificate udemy certificate udemy certificate udemy certificate udemy certificate