Super Racer


Super Racer

Super Racer is a multiplayer racing game being developed at Little Guy Games. It takes place in an apocalyptic future, where animals have have replaced the humans that once populated the Earth.

Details

Time:             Aug 2021 - Oct 2022
Team Size:   5-7
Tools:            Unity
Role:              Programming Lead, General Development

Super Racer is a multiplayer racing game being developed at Little Guy Games. It takes place in an apocalyptic future, where animals have have replaced the humans that once populated the Earth.

Details

Time:             Aug 2021 - Oct 2022
Team Size:   5 - 7
Tools:            Unity
Role:              Programming Lead,                          General Development




Contributions


  • Core Game Systems
  • Database Solution Integration
  • Live-Ops development
  • UI Design & Implementation
  • Vehicle Controller
  • AI Racers
  • Unity Editor Tools & Inspectors
  • Gameplay Design
  • Technical Artist

I was hired at LGG (Little Guy Games) in May 2021, and was moved to project Super Racer in August 2021. I was originally tasked with various programming tasks, such as AI development, and game systems, and was promoted to Lead Game Programmer in January 2022. As the lead programmer, I was tasked with overseeing all the on-going game programming tasks, while also planningĀ for future implementation.

I performed multiple programming tasks for the duration of this project, while also performing general development tasks as well. These tasks included:

  • Database integration
  • Vehicle gameplay design & tweaking
  • Vehicle paintjob designer
  • Economy Design
  • Gameplay Design
  • Sound retrieval / implentation




AI Racers



The AI racers utilized multiple systems to simulate other racecars with the major system being their steering.

I began with placing a spline across the different race tracks that the Ai would use as a baseline on where to steer. The AI would have a 'aim target' that was always a set distance ahead of the car. The distance would vary on their speed and 'ai attitude'. Each point on the spline would have a left width and right width, which determined the range of where the aim target would be. As the spline would curve, the aim target would move along with the turn, and depending on the sharpness of the curve, the AI could choose to drift. Additionally, if the curve was very sharp, the AI could choose to brake.

The ai also had an 'attitude' system, which controlled their stats. I based this system on the Nature system in Pokemon, and each attitude would have a buff and debuff on certain stats. These stats controlled different parts of how the ai behaved during a race, such as; how careful they were when turning/drifting, how often they would bump into others, how far ahead they would be planning when steering, and how often they would aim for shortcuts/powerups.



Takeaways


Takeaways


While working on Super Racer, I learned & developed much of my existing technical and soft skills.

One of the major lessons was learning how to manage and delegate tasks as the programming lead.

This was my first time being a lead in a professional workplace, and I learned much while in this role. As the programming lead, I had an overview of the project, it's current state, and what tasks needed to be done to meet the current milestone. As I was also a programmer on the project, I was able to understand the current state of each part of the game as well. As a result, I was able to quickly determine where issues could present themselves, and create plans to reduce their impact. While meeting with the lead designer & project manager, I would bring up time estimates to assist in creating accurate milestones and predictions.


I also greatly developed my programming skills, while working on various programming tasks.

Before working on this project, I was generally a game systems & AI programming. Although I was assigned systems & AI tasks on Super Racer as well, I was also given tasks I havent worked with before, such as the vehicle controller physics, various gameplay mechanics, and database integration. I especially developed my knowledge on Unity custom inspectors & editor tools, which have allowed me to speed up other areas of development.