New Year, Old Passion
I grew up with a love for video games, thanks to the SNES classics like Donkey Kong Country, Gradius, and Zelda: A Link to the Past. Plus, the family Macintosh introduced me to the puzzling world of Myst. Since my early teens, I’ve wanted to not just play games, but actually create them.
I used to fill composition notebooks with sketches and game ideas, taking inspiration from games I had played but adding my own twists and “improvements.” Although these notebooks have been lost to time (perhaps for the best), they remind me of my enduring passion for creating and building games.
In college, I teamed up with a friend and someone I met on Twitter (through our shared interest in the game Little Big Planet) to start making games, but we didn’t get very far. I was an art major back then, and with no coding experience, I decided to take an iOS development class to help get things rolling. That’s when I realized how much I enjoyed programming, so much so I ended up switching majors.
But unfortunately ever since then, I’ve only hovered on the margins of game development. I quickly learned that game development was not a good career choice, so I stayed away in hopes of launching into a more stable trajectory. Since college I’ve participated a few game jams, and followed a handful of tutorials for game engines like Unity and more recently, Bevy. But it wasn’t until recently that games like Animal Well and Tunic truly reignited my interest in game development.
But, despite this renewed enthusiasm, I was still hesitant to entertain the idea of actually starting down this road. Game development, even as a hobby, demands a lot of time and energy, both things that are hard to spare for me right now as I still haven’t reached that “stable trajectory” I thought I would be in. But perfect conditions as it turns out are pure fantasy, and with this acknowledgement I decided to practice some radical acceptance.
The 20 Games Challenge
While openly musing to myself on how to kick-off my game development journey in the Recurse Center Zulip (stream channel of #conciousness
shout-out)1, a friend referred me to The 20 Games Challenge. This challenge involves recreating up to 20 classic games, using the game-engine of your choice and ideally without tutorials, to sharpen game development skills and make future projects smoother. It aligned with the direction and shape of my initial plans, providing a structured way to learn game development fundamentals and techniques in a hands-on format. The curated list of games, organized by increasing difficulty by someone experienced in game development, would save me from potentially selecting a game too far out of my reach. I was immediately drawn to the idea and decided to commit to the challenge.
My goal is to complete at least 10 games, culminating in a Portal clone as my final project. If I find myself needing more practice, I’ll continue working towards the full 20-game goal. Ideally, though, by the time I reach the 10th, I hope to have already begun developing my own original ideas. I’ve set a baseline pace of completing one game per month, although this timeline may shift as the projects grow in complexity. I plan to use this opportunity to gain experience using Godot and Bevy as game-engines, likely focusing on Godot.
Here are the 10 games I plan to recreate (in this order):
- Flappy Bird
- Jetpack Joyride
- River Raid
- Spacewar!
- Pac Man
- VVVVVV
- Worms
- Super Monkey Ball
- Mario Kart
- Portal
The full list suggested by The 20 Games Challenge can be found here.
The aim of this challenge goes beyond simply completing games; it’s about immersing myself in the world of game development and truly enjoying the experience. It represents my first concrete steps on this path which I’ve dreamed of starting since I was a child. I’m excited to learn and embrace the creative process every step of the way!
You can follow my progress in this Mastodon thread (and under the hashtag #cr20gc
), where I’ll be posting regular updates as I work. I’ll also be blogging my updates here each month under the tag #20gc
, or more broadly under #gamedev
. In fact, at the time of writing, I’ve already wrapped-up Flappy Bird and started Jetpack Joyride and am very excited to share my experience so far.
If you’ve been inspired to try this challenge yourself I’d love to hear from you! You can email me, or reach out to me on Mastodon @crenfrow@hachyderm.io.
Additional Resources