I began the project on the AI team with 2 other members. Our initial goal was to develop an A.I. that could autopilot around a simple track. For this prototype, we pre-plotted points on a spline and allowed the A.I. to target each point in succession. The A.I. would turn itself to the chosen point and propel forwards. Early challenges included overshooting the goal points and attempting to turn fully around, and balancing the turning speed so that AI wouldn’t brake too intensely or slide off the track.
When the AI could reliably drive itself around a track of pre-plotted points, we shifted our focus from pathing to decision making. AI had access to the same pickups and mechanics that the players used, but when should the AI use their items? The team spent a significant amount of time deliberating how the behavior tree’s branches should be structured, or rather which behaviors should take priority; throughout development, the tree remained largely the same thanks to our extensive planning.
In later sprints, the AI stabilized enough that I moved to the UI team. I helped improve the player HUD, implemented a random pickup wheel, and created a minimap that photographed the map pre-play and displayed icons for all racers mid-play. One of my favorite tasks was generating random names and accessories for penguins that remained consistent throughout multiple races with the same AI. I also assisted with menu screens by ensuring that buttons and sliders had proper focus, scale, and interactivity conveyance.
For the programming team, nearly everything went well in this project. We split into teams that matched each of our interests and existing skill sets, and we were able to split tasks up with minimal dependencies. The different programming teams achieved each milestone with room to spare. Most of us had never used Unreal; we swiftly learned the ropes of an unfamiliar engine, and we created a truly impressive final product within the time that we were allotted.
UI was a significant hurdle; it was left mostly incomplete until later sprints, which required several members of other teams to ultimately switch to UI for the final sprints. However, we overcame the challenge with few cuts to the originally envisioned mechanics.