The first problem with any new thing you try to do is that you not only don’t know how to do it, you also don’t know enough about it to know which things you don’t know about yet.

In this particular example, I know I want to make a game, that part I understand because I’ve played lots of games and have a pretty good idea about what makes games that I enjoy. Then, because I’m a pretty nerdy guy, I am aware of things related to making a game like the engine you choose or make so the game is playable. I know how to code in dozens of languages because I’ve been a professional software engineer for a long time. That means I’m also comfortable with making a game in an engine that uses languages I’ve never used because I’m confident I can learn how to use them without much trouble. Unfortunately that’s where a fair chunk of my confidence ends.

What else is needed when making a game that I had never thought of? Well, obviously I’m not sure because this is all new enough for me that I’m not sure what to even ask. I can carry some things from my profession over like how to do localization if needed, or how to serialize information for network transmission or saving, how to make a reasonable user experience in my menus, how to put together data and algorithms that make sense, that sort of thing. This led me on an epic quest of trying to figure out what I don’t know yet.

As it turns out, there is a wildly powerful tool available for this quest that a lot of us use and don’t even think about. Brace yourself for the big reveal… YouTube recommendations. Amusingly, I started by searching YouTube for “Godot tutorials” which brought in a massive collection of options (thanks in part to Unity losing their minds about licensing). I watched some of those. Then I’d add some things like “Godot metroidvania” to help focus what I’m learning on what I’m actually trying to make. Next, I searched with Google for “free pixel art tools” which landed me on LibreSprite (which is the slightly less capable friend of Aseprite). Then I flipped back to YouTube and searched for “LibreSprite tutorials.” I watched some of those too. In some cases I’d subscribe to the people doing the videos so I don’t lose track of their content.

A few hours of searching and watching videos later, my YouTube recommendations are packed with videos about making pixel art, figuring out a palette to use, making metroidvanias, using Godot features I didn’t know I wanted, scaling characters and world tiles to the screen resolution, how to pick a screen resolution, and on and on. I admit to being a bit down the rabbit hole here, and being a bit overwhelmed.

The good news though, is that I’m starting to learn which questions I might need to ask to keep me from wasting a ton. There is very little that is worse in a project than spending a ton of time making things only to later learn that you’ve made a fundamental error early on because you made a decision without knowing it could be made wrong. This often results in massive efforts to remake things, and that’s not usually much fun.

The trick is to avoid paralysis. Watch the videos, get the ideas, learn the vocabulary, plan what you can, but don’t disappear down that rabbit hole and never actually work on the project.