I started writing this blog last fall, pre-baby, but never got around to getting it posted. Jump half a year into the future, I have not touched game development since, but the experience was still fun and educative.

I’ve been playing around game development: another hobby in my growing pile of interests. It combines my burgeoning interest in deepening my coding skills - mostly for work - with my life long love of games - mostly for fun. There’s irony in that I don’t particularly like video games, but building them is proving quite fun.

For the past year, I’ve completed various game engine tutorials, trying to find one that clicked. I have this vision of recreating a board game that my friends and I love, but I need to build my game dev skills first. So I’ve been making the rounds of the possible engines, starting off with boardgame.io. I gave the HTML5 based Phaser framework a shot next, poked a bit at Pygame, and finally settled on the indie juggernaut Godot.

That’s where I’ve now been spending the majority of my time and effort, and can proudly say I completed my first self-made game! There’s still a long way to go though, and I’ll probably be writing more about my upcoming attempts.

Boardgame.io

This was the first game engine I tried. I found it when searching for the best game engine to build a multiplayer board game. It popped up in a reddit comment and it sounded perfect for my use case.

I walked through the tutorial presented on the website - a simple tic tac toe implementation, and even got the multiplayer working after sm trial and error. But after that, I struggled to build on top and keep going. The lack of any tutorials, along with my struggles understanding JavaScript, quickly led me to look elsewhere. I may come back one day, it seems like a clever enough system.

Phaser3

My friends have potato computers, so one of my key requirements in building out a video game was its ability to play in any web browser. Phaser3 seemed like a popular, lightweight, web centric option recommended by a lot on Reddit.

I followed a set of wonderful tutorials fun the Ourcade website, building a few of their example projects like Rocker Mouse.

Product of following a Phaser3 Tutorial

Eventually I tried moving on to building my own simple game, which is where I ran into my now familiar road block: I don’t know JavaScript. I tried pushing further along with it this time, following some js specific lesson plans, but ultimately I didn’t have the time, it wasn’t particularly fun, so I moved on.

Godot

I thought that might be the end of my game dev journey. Then the Unity fiasco cropped up, and I read lots of testimonials praising godot, it’s beginner-friendliness, intuitive language, and plethora of online resources. The desire to give this one more attempt cropped up and so I dove in.

As always, my first step was to complete the beginner tutorials listed in the documentation. Simple little projects, but that quickly showed me that this might be my engine into game design. Some things just clicked:

  • GDScript made sense to me. Its syntax seemed similar enough to Python that i found it easier to write code and debug.
  • The integrated IDE was a big plus. I’m a visual person, so being able to design scenes directly in the environment instead of having to code pixel placements just made more sense.
  • Deploying a game was extremely easy, and being able to throw it up on the Web in a few clicks brought a feeling of satisfaction that spurred me to keep building.

The big breakthrough happened because for once, I didn’t try to build a complicated game right out the gate. I put the multiplayer board game clone aside and instead focused on a simple little game for our baby shower - a generator to guess what our child might look like.

That’s how Bébé Story came to be. I had a clear idea of what I wanted, broke it down into as simple of steps as I could, cobbled together a set of tutorials and code examples implementing it. And then I focused on the content of the game. Which, it turns out, is much more to my taste than coding coding coding. Deploying the game and sharing it with friends and family was an extremely satisfying experience, as was using it as part of our baby shower. You can try it here:

Bébé Story live

With that success under my belt, I thought I’d circle back to my initial project of recreating a multiplayer board game to play with my friends. I struggled with it for a solid month, testing, following tutorials, breaking things, retrying code snippets, recompiling code. Eventually though, I got frustrated with the amount of free time outside of work I was spending on the computer, and the lack of progress I was making. So the game dev project got put to the side.

Bébé Story's absurd baby generator

Closing Thoughts

Ultimately, I don’t think game development is for me. There’s great satisfaction to getting a feature working, and an even greater sense of accomplishment when you have a playable product. I have so many other hobbies already though, and they scratch that creative itch too without requiring I spend so much extra time on the computer. Screen fatigue after a full day of work is real, and it’s easier to disconnect by crafting some leather goods or drawing up a DnD adventure. Maybe I’ll circle back to it one day, but for now it’s goodbye to my game dev career.