This project started from an existing template, and the comparison video shows the original version next to the modified one.

I reworked the controls and added joystick input, removed the lives system, and added bump and crash animations using tweens.

I also added a package delivery mechanic for extra score and a purpose, along with spinout animations and effects to make crashes feel more responsive.

Level generation

The level generation is controlled by a seed and built around noise-based placement.

Because the game is an endless runner, I implemented pooling and streaming for props. This let objects keep their unique positions if the player re-entered an area, while still showing and hiding them smoothly no matter how far the car drove.