Share your idea, and together we’ll turn it into a fully playable game prototype.

My name is Ronghao Luo. I am currently doing the Game Development Bootcamp online program from Circuit Stream Network. I’m studying Computer Engineering at the University of British Columbia. I build playable Unity prototypes—like my procedural platformer—and thrive working with teams to craft engaging games of any genre.
Gacha / Open-World: Wuthering Waves, Genshin Impact, Duet Night Abyss
PvP: Counter-Strike 2
Programming & Engineering: C#, Java, C/C++, OOP, Algorithms & Data Structures, Design Patterns, SOLID, Git, Debugging & Optimization
Unity: Gameplay Systems, Object Pooling, Coroutines, Character/Rigidbody Movement, Input System, UI/UX, Raycasting, NPC AI (State Machines), Mobile/WebGL Deployment, Networking (Firebase)
Technical & Collaboration: Vector Math, Quaternions, Finite State Machines, SCRUM/Agile, Rapid Prototyping
A first-person puzzle shooter with color-based mechanics and interactive world systems. The game implements component-based architecture, object pooling, and custom interaction systems.
This is an ongoing project from my course that enforces Player Interactions and Character AI. The game has intention to be a combat required puzzle solving game, like Half Life.
Space Shooter is a 2D Top-Down Arcade Shooting game made in Unity. Player controls a spaceship in a region enclosed by asteroids. The goal is to kill enemies, get power ups and weapons, and kill more enemies! The game offers crispy responses from killing enemies.
This project started out as a course assignment, and since then I have added elements like weapon obtaining to make the game fun and interesting. What I enjoy the most from this game is destroying enemies in a crowd, it’s just so satisfying!
The Game is currently at its first build (build September 10, 2025), play it on itch.io
Check out the project on GitHub if you’re interested.
The anticipated outcome of this project was to learn about OOP (Object Oriented Programming). But ever since I had added sound and visual effects to the enemy destruction, I wanted to make a prototype of a satisfying, arcade 2D shooting game.
For planning and task management, I used Microsoft Loop and the Kanban feature. I also used Git and GitHub to keep track of project version history. Let’s briefly go over what I have done for the game. After I have done the Character Classes and Player basic functions from my course, I started expanding and refactoring my code, particularly the classes for Enemies.
I used diagrams to help me create new enemies. Fun fact about the explosive enemies, their explosions can result in a chain reaction.
I had to ask ChatGPT for some help to make this work. Long story short, I had to make safety checks to avoid chain reaction from going nonstop.
Moreover, I implemented Power Ups and UIs. Because I made the player prefab destroy and instantiate when the game ends and begins, I had to learn a little bit about the lifecycle methods of game objects in Unity. I made starting and ending screens, so the game is now playable.
Next, I wanted the combat to be more appealing, so I added sound and visual effects for attack and destruction. To not bore the player, the higher the score the player has, the more enemies the game spawns. Furthermore, with the new drops and weapons, the player has more options to smash the enemies!
To wrap up for the first build, I added an all-weapon mode, so I can test with all the weapons. The player can also choose to play this game mode for satisfaction. To illustrate the playable range of the map, I added asteroids to indicate boundaries. Finally, to spice up the prototype gameplay, I added some music.
As a result, I made a playable arcade 2D shooter prototype with satisfying enemy destruction in Unity. The project has organized and organized prefabs and scripts for maintainability and expandability.
As for lessons, I learned about Unity and C# memory management, and lifecycle of the Unity game objects. I’m working my way to become an engine programmer. As for improvement, abiding to task deadlines are important for Scrum, and I am working my way there. Recording down images and clips of the game at each stage is also important for any writeups for the project. For implementation of the game, it is also helpful for a beginner like me to look up some common designs first. It is important to learn professional and industry standard designs. Lastly, although generative AI is helpful for most of the time in my opinion, learning how to use forums is also important for my knowledge.
I enjoyed doing this project, and I will carry on with what I have learned.
An online PvP game in development using Unity Netcode and modular system architecture. The game implements movement, combat, and real-time synchronization for multiplayer matches.
“The Jump Guy” is a 2D platformer made in Unity with procedurally generated platforms. I learned how to do animation in Unity with finite state machine. The game also supports controls for touch screen. This was originally an assignment about the animation in Unity for my course, but I expanded it and made the platforms procedurally generated. The goal of the game is to get as much coins as possible without hitting the obstacles. The challenge is that the more time the player spends, the more obstacles get generated on new platforms.