How I actually make games
People keep asking me about my process. It's surprisingly not special. But, in case anyone wants to know what it looks like to ship a game to Steam starting from zero, here is what I actually do. 1. Have gameplay idea. Write it down somewhere or draw some sketches to work through a few ideas. I write down everything that comes to my mind the moment I think of it, and then I curate the list later. Oftentimes, ideas I kill end up coming back in some way later. 2.Make some sprites to communicate the basic gameplay idea. The shapes need to be readable, and they need to relate to the gameplay. The player needs to have the perception that they are looking at something interactable. There should be no decorative art this early. Art should only relate to gameplay. 3. Get the sprites/UI into the game, just making sure I can draw them in the game where they are supposed to be. Whatever rendering logic you need to write to make this happen, write it. Don't support anything more than what you need to draw the art. There is no generic "renderer." There's just specific things you need to draw. Don't plan for a future which doesn't exist yet. 4. Once things can be drawn, I then make them interactable by doing things like click areas, movement, etc. This is specific to your game idea. You actually have to make the game playable as a game, using the prototype art. Gameplay doesn't come later once you have the "engine." The "engine" gets developed as a *consequence* of making the game work. There is no separation between the two. The engine is the game and vice versa. 5. As I make more and more similar things, I just extract to a function to reuse bits and pieces of what I have to do the next thing. I'm not particularly obsessive about this, trying to remove every bit of duplication. It's more like I casually notice some repeated patterns and then clean it up. Remember you are making a *game*, not raking a zen garden for personal satisfaction. 6. Over a long period of time, a "game engine" starts to emerge. But that's nothing special. It's just leftover code. The more you do this, your skill and knowledge base grows. Even if you don't have the code lying around, you will remember how you approached certain kinds of problems. Half of the "engine" is inside your head. It's your experience solving real problems.