I helped the team brainstorm and implement AI racing behavior.
The designers wanted to introduce branching paths to make the levels and tracks more interesting to play. They also wanted to add shortcuts to the tracks.
The initial race logic for AIs was designed with AI racers following a single spline.
AI racers follow that spline, with a simple randomized variation that allows them to choose which lane they want to travel in, based on their distance from the main spline.
To facilitate the junctions, we added separate junction splines.
When nearing a junction, the AI would randomly decide whether to follow that spline. Upon nearing the end of the junction spline, it would switch back to following the main spline.
The best learning was that Debug Draw is your ally, and it's beneficial to get familiar with it as soon as possible.
We were really pleased with how the debug drawing illustrated the AI following the spline.
In the picture on the right:
Green: AI following junction spline
Red: AI following main spline
1. Sometimes you don't get to work on what you want. If the team needs more people in UI, then you should help out there.
2. Following the requirements of the milestone is crucial. It's tempting to keep adding extra work to a feature, thinking of it from the perspective of a portfolio piece. However, it's important to respect the milestone and prioritize tasks that need more attention for the project.
3. Any new feature introduced in Alpha, or any major rework during Alpha, has a high chance of being cut or the outcome will be poor.
4. Game development is very fast-paced! Yay!