I'm the kind of person who always starts things and never sees them through. Even writing this feels like the beginning of another one of those things.
But I've been recently toying with the idea of making a game. I like to play games, and I know how to program (not games though). Finding a pet project in programming is always difficult. As a back-end developer, I don't want to make another rest API or horizontally scalable key-value store. That's been done a thousand times. I know how to do those things, and when I do those things nobody cares because we all know how to do them. But something about games is different I think.
I think whatever I make will truly be my own, probably down to my mistakes and the novice ways of architecting things or handling collisions. But that's a good thing, right? I've recently been playing vampire survivors and one of the things that I loved was unlocking that red death guy and realising that he moves so fast you can just clip through any wall in the game. And that's not even a one-off glitch, it's just a quirk of the game. It's got a certain charm to it.
For a longer time that I've been a programmer I've also made music, both with instruments and digitally, and while that might not give me directly transferrable skills (perhaps it will) I think it might provide a half-decent backdrop for the mindset of creating something more subjective than what I'm used to programming.
So anyway, I haven't just had this thought blindly on a whim... I've been making simple GUIs with Golang for a little while now using some frameworks and what I noticed is that I hate all of them (not naming any names). So I started looking at more primitive tools like SDL2, raylib, and ebintengine. Of the three I liked the looks of raylib the most with its simple API, intuitive function names, and handy cheat sheet that'll save me document diving. After playing around for a bit making hacky little user interfaces I found myself just enjoying the process, hence the idea to make a game. Also, I know golang isn't the standard for writing games but it's what I enjoy using so that's my decision.
Now as for what kind of game, well when I was growing up I was pretty much addicted to Link's Awakening on the Gameboy. I think using that kind of art style and simple mechanics would be a good first step to learning the ropes.
I'm also a sucker for things like Stardew Valley and Graveyard Keeper, so I'm going to try to sprinkle a bit of that in too, probably just some simple gathering and potion-making system. I like the idea of a skill tree too, but I'm not thinking about it too much for now. Like I said, I'm the kind of person who always starts things and never sees them through. However, I am far more likely to see them through if I make myself accountable by writing this.
I originally considered making some videos that would document my ongoing development, but I'm scared of my voice and there's nothing worse than a silent video of someone typing for hours. I also don't want to spend just as much time writing about this project as I do trying to make progress on it, so I plan to do little write-ups as I go, about what I've done right, what I've done wrong, what I thought I'd done right but realised was wrong, and anything else along the way.
So that’s where I’m at—probably about to dive into a project that’s way over my head, but hey, maybe that’s half the fun. If you’re into seeing someone take the scenic route (with plenty of wrong turns) through game dev, feel free to follow along. I’ll be posting updates here whenever I manage to get something right (or hilariously wrong). And if you've got advice, comments, or warnings about what lies ahead, I'd love to hear them. Thanks for reading!