top of page

Jalopy Jetstream

Jalopy Jetstream is a top-down 3D infinite runner for Windows and web initially developed by a team of 6 in Unity.

​

When your jalopy van ship breaks down in the middle of outer space, fight to survive by avoiding seemingly endless asteroids, satellites, and other dangerous space debris!

Project Overview

Length

Ongoing Development

09/05/2025 - Present​
 

Tools

Unity 6.2

Visual Studio (C#)

GitHub

Role(s)

Project Lead

Game Designer

Gameplay Programmer

Jalopy Jetstream began as a submission for the 48-hour 2025 Space Game Jam and has since moved into ongoing development.

Contributions

Project Lead

  • Created and managed GitHub repository, utilizing Git Large File Storage and GitHub Desktop to enable efficient real-time collaboration with a 6-person team in Unity 6.2.

  • Established and achieved realistic project scope and milestones given the 48-hour time limit.

  • Fostered active communication with the usage of Trello to manage tasks.

  • Led team meetings via Discord to discuss, implement, and finalize creative direction.

  • Oversaw playtesting by recruiting 10 volunteers and gathering detailed feedback.

Game Designer

  • Improved gameplay loop using extensive playtesting data from self and 10 volunteers.

  • Designed and iterated on the main gameplay scene in Unity 6.2, implementing new assets such as music, SFX and VFX to polish and finalize the prototype build.

  • Coordinated with artists and programmers to ensure the game feel was consistent.

Gameplay Programmer

  • Included concise summary and documentation of my work in code and Git commit comments to ensure understanding among the programming team.​​​​​​​​​​​​​​​​​​​​​​​​​​

commit comments.jpg

Example Git commit from when I modified the obstacle spawner logic.

  • Optimized game performance by implementing obstacle spawn limit and self-destruction once off-screen, effectively reducing game memory usage.

image.png

One of the conditions for the obstacle spawner script to spawn new obstacles is if the number of obstacles active in the scene does not exceed the obstacle limit.

obstacle destroyer.jpg

The obstacle controller script checks every frame to see if the obstacle has left the screen and, if so, destroys the obstacle and subtracts it from the current obstacle tally to free up space.

  • Added time-based difficulty scaling for a satisfying and challenging gameplay experience.

current difficulty scaling.jpg

The obstacle spawner script raises the difficulty by decreasing the time between obstacle spawns based on how long the player has been alive.

​

This system will soon be adjusted so that the game will switch to a distinct state once the difficulty increases to allow for a more dynamic and artificially intelligent obstacle management system.

  • Composed an algorithm to procedurally generate obstacles at the top of the screen to construct the dynamic and non-deterministic gameplay of an infinite runner.

image.png

The obstacle spawner script will spawn new obstacles at a randomized location if enough time has passed since an obstacle of the same type has spawned and the obstacle spawn limit has not been reached.

image.png

After the obstacles spawn, they are each given the Obstacle Controller script which will destroy the object once it has reached the given Z position.

 

They are also given the Obstacle Mover script which randomly assigns the obstacle a velocity and trajectory within a certain range of values.

Obstacle Spawner compressed.gif
  • Utilized a game state machine to determine when the obstacle generation algorithm would start and stop spawning obstacles.

state machine.jpg

If the game state is not "Playing", the obstacle spawner will not spawn obstacles. This is checked every frame in order to actively track changes to the game state.

spawner stop

When the player dies, the obstacle spawner immediately detects the change in game state and stops spawning in obstacles.

  • Modified and debugged obstacle movement logic to ensure obstacles could collide with the player within the 3D game space.

Obstacle Collision.gif
  • Developed fluid and engaging player movement with room for skill and mastery.

Player Movement.gif
bottom of page