Screen Shot 2022-04-11 at 3.41.05 PM
Screen Shot 2022-04-20 at 6.36.11 PM
Screen Shot 2022-04-23 at 11.49.42 AM
Screen Shot 2022-05-05 at 5.18.42 PM

Day 15-18


Merge the UI layer with the 3D world.

Implement advanced particle systems.


Day 19-24


Implement copy, clone, and freeze.

Develop advanced lighting techniques.


Day 25-30


Implement shadow rendering.

Develop an audio engine.

Finish up.


The engine, along with a crossplatform demo and an extremely detailed tutorial, has been release on GitHub!

Day 8-10


Create ultra-realistic PBR shader.

Optimize skeletal animations.

Render skyboxes.


Day 11-14


Develop the UI layer.

Implement 2D image and text rendering.

Construct 2D scene graph.


Week 1


All beginnings are hard, especially when everyone thought that I was mad. They kept wondering why I insisted on developing a game engine, which was not mandatory. Therefore, I realized that I must impress them with something powerful in the first few days, so I started the project with model loading and rendering functionalities. Usually, it takes thousands of lines of code to show just a single 3D model without an engine. However, using my engine, you only need to write less than ten lines of code, which means you can efficiently add more models to your game than the groups without an engine. And for games, the more details a game has, the better. After I showed the engine's prototype to my groupmates and the professor, they were deeply shocked, and my plan was approved.


If you ask me what the most meaningful and challenging course I have taken at UCSD is, I will say CSE125 without hesitation. Disguised as a course about system development, it is actually a game development course where students will make a fully functional multiplayer 3D game in groups without using any modern game engines like Unity and Unreal. As a professional indie game developer, making a game with fundamental graphics APIs is not a challenge for me at all. However, it will be difficult for other students in my group with no game development experience to create the effects they want without a powerful game engine. After reading the syllabus several times, I realized that although the professor had prohibited us from using modern game engines, he did not forbid us to make one ourselves.

Therefore, I made a risky decision:  kill batman  develop a game engine in 30 days!

Modern Game Engine Development

In 30 Days