JetSetCrash
2024
JetSetCrash was my 3rd skills project and my first experience working in a team of 4 programmers and 3 technical artists. The goal was to create a 5-10 minute, two-player split-screen game to be showcased at the Sheffield Gaming Museum.

Key Features
- Gameplay: I was responsible for most of the player gameplay, with assistance from Ricky for the animation system. I developed the third-person camera, perspective and turning mechanics, ensuring players couldn't instantly rotate but instead had a realistic turning circle. I implemented the booping feature, where players can slap both other players and aliens. This sends them flying and stuns them for a second upon landing, preventing movement. Additionally, I added the ability to pick up rocket parts, which slows you down, but allows you to throw them—speeding up movement but leaving the part open for others to steal. Players can also take the part directly from another player, but if they're booped, they'll drop the part and get stunned. This creates a balance between throwing, jumping to evade and the risk of being stunned. I also implemented air movement mechanics, where players move slower in the air but can perform a ground pound, making large jumps less punishing while enabling an aerial attack on enemies or other players. Lastly, I handled the collision resolution for objects on the spherical planet and set up all the necessary colliders for each object.
AI: I developed the alien AI, the native inhabitants of the planets. The aliens have several states that govern their behavior, including:
- Walking to a random nearby location
- Chasing a rocket part, with a timer that determines how long they'll pursue it before getting bored
- Joining a collective of other aliens who have picked up a rocket part. This collective is controlled by a separate AI that simulates a group of aliens moving together with the part, creating the appearance of many aliens carrying it like ants.
To add challenge and balance, the rocket part moves faster as more aliens pick it up, making it harder to retrieve the longer you wait. Additionally, when one player is at least one planet ahead, the alien AI adjusts by moving closer to the losing player and further from the winning player, keeping the competition neck-and-neck. I also introduced the booping mechanic, allowing players to boop aliens with their hand or perform a ground pound to make them drop any rocket parts they're carrying. When this happens, the aliens do a perfect flip and always land on their feet, like cats.
Particles & Effects: I created various particle effects to enhance the game's visual appeal. These included:
- Rocket flame thrust with smoke
- Sonic boom effect when aliens are booped
- Jump thrust effects
- Smoke rings from ground slamming
- Flares and floating leaves to add environmental atmosphere
Additionally, I implemented post-effects that adjusted contrast and saturation based on the planet the player was on. These effects were applied only to the screen half associated with the player, ensuring a unique visual experience for each.
Challenges, solutions and lessons learnt
Due to the large number of objects, we encountered a significant FPS issue, something previous projects didn't face due to their smaller scope and the power of modern computers. To optimize performance, we:
- Loaded specific planets one at a time
- Culled collision checks between planets
- I personally implemented instanced mesh rendering to handle large numbers of duplicate meshes, such as rocks and grass