Reflections on Game Development


Sando has had a lengthy design process for a first commercial product. Honestly, it's longer than I would recommend to someone starting out in game development. Even when the world of Sando came into focus in my mind, it took a single-pointed level of focus to document my vision that far surpasses anything I've worked on in the past. 

The Brainstorming Phase

Sando's initial brainstorming phase started out as an examination on the genre. I played a bunch of similar games and jotted down notes. Have I looked at them since? No, I don't even know if I saved those files, or if I just needed to play those games to remind myself that, when all is said and done, at least will enjoy Sando.

After reminding myself of how the games feel to play, I started picking apart the assets. I came to the realization that a lot of solo devs hit, there are a LOT of assets you need to make for your game to be ready to show someone.Here's a small screenshot of my FigJam board where I started laying out all the animations, menus, icons, etc., from some games I love:


A lot of unfinished games follow a common pattern: Early on, your momentum gets carried by the satisfaction of solving a new problem. By the second month of development, though, you hit a wall. But development is progressing faster than ever! What happened? I stopped programming without a plan.

The Planning Phase

Computer Science courses have given me a lot of tools and knowledge on how to create solutions, but it also imparted a horrible, nasty habit that took months for me to even recognize that it had already infected Sando's core design. When you tackle an assignment for a course, you are working under the assumption that there is a successful outcome you're working towards. In almost every case, nobody is reading the code you write and submit. It's being run against tests and scanned, summarized, and sometimes even graded with assistance from a Machine Learning Model. A lot of games follow a similar model. You code, you code, you code, and it breaks, and then it breaks again, and then... it works! Until it breaks... but we can patch that! I'm convinced it's not worth trying to solve this problem. 

I thought that if I just went into enough detail, I would find what was wrong. Here's an example of a UML diagram of Sando's initial combat scene structure.

EDIT: Ok the diagram is so big, I can't even share it with you here. I'm just going to give you a link to look at it with PlantUML.

I am willing to humble myself here. We can all take a look at this and say, "This is terrible!" But the detail in which I documented this with in UML actually created a new monster. Who the hell even wants to read this, let alone fix it? Big surprise, I ended up not touching the codebase after making this for about 2 months. It wasn't until I started documenting in abstraction and recognizing opportunities to use design patterns that I could build the confidence to return to this personal project and imagine this someday becoming a commercial project.


Structural design and architecture are so difficult, there was no way I was going to nail it on my first try. Not only is this simplified refactor insufficient for modeling the game and dependencies, but this post doesn't even go into the fine details of planning. There are dozens of Game Design Document pages, Excel spreadsheets, and sloppy character sketches that didn't make this post. But overall I just want to communicate one thing through all of these examples and explanations: Yes, making a game is hard, but I promise the experience you get from failing over and over again will make you a better engineer.

This was my first devlog, so I apologize if it was a bit long-winded, and meandering. I wanted to get a lot of feelings I've had about game development because it's so hard for others to understand that you might be willing to work on something for years that might not be successful. Sando is a celebration of the things I love, so I'm more excited about sharing these joys with others than I am about the woes of game development. Can't wait to share some of the cool things I've come across while learning design patterns, game design, and Lua!

With LÖVE❣️

CakeJamble

Get Sando

Buy Now$8.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.