
Time: Jan 2024 - May 2024
Role: programmer in a team of 40+ developers
-
Game play
-
AI
-
Optimization
Skills: Unreal Engine 5 Editor, Unreal blueprint, Unreal Materials, Jira, Miro, Agile Development, Unreal Insights, Unreal Localization Dashboard.
Game Pitch
Race through an enchanting carnival and be on the lookout for wacky obstacles and cool shortcuts as you compete against up to three other friends in this cute and cartoony arcade racing game!
Unreal Blueprint
Racing
AI
Responsibility
Targets which can be knocked down by cars
I worked on game mechanics at the beginning of the development. I quickly reached the requirements my designer and lead programmer given and created robust code which could easily face changes on design.
I leraned how to be a level designer friendly programmer since I had lots of communication with the track designers and told them how to use these blueprints and asked them for feedback.

Folder of all Target Stuffs
Shortcut
Balloon Hazard
Ramp
Mole Hazard
Opponent AI
I was moved to the AI group since the previous work of target system was done and I only needed to maintain it. Opponent AI was kind of broken and kept throwing errors at that time because of lack of AI programmers. I joined the team as the third member and started my AI programming work.
I chose to write a state machine structure to connect all of the code component that we have currently and the AI was fixed in 3 days. Then I worked with other AI programmers to help them to finish their AI jobs including steering, drifting, route choosing. I also added AI turning towards targets or items and AI begin-race decision making.
Finally, as all basic AI work are done, I worked on balancing the AI. With AI balancing, the opponent AI will be more challenging but not too strong to defeat.

AI State Machine

Detail of AI State Machine
Optimization
I optimized the game by using unreal insights and looking into unreal C++ source code after finishing my AI work, let the game's FPS increased from 10-20 to 60+. I looked deep intp the Unreal C++ code and found that a screen capture 2D for minimap in an early milestone is keeping rendering the level twice. The FPS goes back after I delete it. Some team member praised me that I saved the team.