Day 8: Completed Game (Mostly)


The final pin for this project has been placed on the corkboard. Today, I completed the last video in Justin Zendt's fantastic Asteroids tutorial series, and with it, the first project of my developer bootcamp is officially complete!

The last session was all about tying the systems we've built into a cohesive and replayable experience. The game now features a proper game loop. It tracks when all asteroids on screen have been destroyed and seamlessly loads the next level, increasing the challenge by spawning more asteroids. I deviated from his tutorial to make the game ramp up in difficulty the more levels that get completed. This continues until the player runs out of lives, at which point a "Game Over" screen appears, prompting a restart. We now have a complete, satisfying, and full-fledged game...minus a loading screen

As you can see in the GIF below, it feels like a real arcade shooter.


If this were a commercial project, my mind would already be racing with ideas for power-ups, new weapon types, or different enemies. But the goal of this bootcamp was to learn, and I have to say I learned more than I ever expected. When I started, I didn't know what to expect from such a deep tutorial series, but it was exactly the kind of thorough explanation I needed to truly understand the "why" behind the code.

Before I post the game to Itch.io, I will add in a loading page. That wasn't part of the tutorial though. It is important to me to have it feel like a complete game before I share it online.  I'll also be jumping into the second game in my bootcamp, which will be based on Mr. Ridgway's Maze Tutorial series on YouTube. I'm excited to continue learning!

Thank you for following along on this first, crucial step of the journey. This project has been an invaluable foundation, and I'm excited to carry these new skills forward. The game should be posted later this week. In the mean time, you can check out my GitHub repository for this project here.

Leave a comment

Log in with itch.io to leave a comment.