Inspiration
We wanted to capture the feeling of inevitability — a spaceship you can't slow down, a black hole you can't escape. Classic endless runners inspired the core loop, but we wanted stakes that felt cosmic and final.
What it does
Asteroid Dodger is a 3D first-person space survival game. You dodge incoming asteroids while your speed automatically increases and a black hole grows larger in front of you. Survive long enough and you get pulled in — triggering a dramatic transition to the next chapter of the game.
How we built it
We built it in Python using Pygame for windowing and input, and OpenGL for all 3D rendering. Asteroids are procedurally generated lumpy spheres, the cockpit HUD is drawn in 2D overlay passes, and the black hole scales dynamically with your speed.
Challenges we ran into
Mixing 2D HUD rendering with a 3D OpenGL scene required careful matrix management — constantly switching between perspective and orthographic projections. Getting collision detection to feel fair without being frustrating was also tricky to tune.
Accomplishments that we're proud of
The transition sequence when you hit max speed — the screen spinning out of control and flashing to white — came together really well and gives the game a dramatic, cinematic ending to the first chapter.
What we learned
How to manage OpenGL state carefully, how to structure a game with multiple scenes, and how much mileage you can get out of procedural noise for making things look organic and handcrafted.
What's next for Hackstoga 2026 asteroid project
A full story arc — cutscenes, a second game chapter, a menu, and an ending. The scaffolding is already there in main.py, we just need time to fill it in.
Log in or sign up for Devpost to join the conversation.