There is a lot of value in truly finishing a side-project. You can look back with pride at your accomplishment, and it’s a pleasure to share. Also, that last bit of a project is where you gain most of the benefits. It’s no surprise that it’s easier to walk away when things get tough or complicated, but you get more value out of seeing those things through. I am still stopping though, because I am happy with what I’ve gotten from this project, and ultimately I’m judging that the value I would get from continuing this project isn’t currently worth the opportunity cost. Simply put, there are other things I would rather be doing. I am ready to move on.
Below is a quick video walking you through the game, I think this is more interesting than playing the game yourself since it lets you see what I wanted to show, not just what’s there.
Game: I Have No Mouth (published on itch)
Description: You play as an artificial intelligence tasked with preventing an alien from escaping the planet. You win by containing the escapee…or helping it escape. Mostly streamed on Twitch.
Liked:
- PyGame: Perfect blend of functionality and simplicity. Very intuitive and user-friendly. Version 2 just came out, but I had no problem with older information as it was highly backwards compatible.
- Twitch: I streamed the development of most of this game, the interaction was great and I learned a ton from the chat.
- Paid Assets: You’re going to be spending a lot of time looking at your art when you’re making a game, I was happy to have paid assets that brought me joy through out.
- Itch.io made publishing the game a breeze. Like PyGame, it’s the perfect blend of expressiveness and easy. It had enough options to cover everything I cared about, without having to jump through so many hoops (like requiring signed DLL or signed agreements)
- Python: Awesome, especially the optional typing even though I was bitten a few times by my own mistakes. Also, debugging and packaging was surprisingly easy.
- The NPCs felt good, they had funny little sayings, and looked around nervously. Most of them got cut by the end, but they were fun.
Didn’t Like:
- Native Applications: It’s risky to install native applications, so I don’t think (m)anyone will ever play this game, which is ultimately what killed my motivation. I will lean towards browser-based gaming engines in the future. (update: sounds like I could have gotten this working with something like trinket.io – thanks joerecursionjoe!)
- Paid Assets: Using paid assets meant prevented me from making the game open-source, which also part of the reason for my lack of motivation.
- Custom map format, hand editing and counting sprites is no fun
Lessons Learned:
- YAGNI worked out: I cut a lot of corners, but I don’t regret many of them. I lost a couple hours to issues caused by complexity or poor organization, but not nearly as much as I lost to over-engineering.
- I should take more breaks, most of my “rabbit hole” problems were at the end of streams, when I was tired and missed little things.
- This was fun! I certainly plan on making games in the future…but probably not this one🙂
- I should have worked on the man gameplay first to make sure the idea had legs before sinking more time into it. Turns out it wasn’t very fun or intuitive the way I made it
- Use tools! A map editor would have saved a lot of counting
Estimated Time Spent:40 hours (most of it on Twitch)
So what’s next? I’m not totally sure yet, but probably more Python and Kubernetes…at least till January, then it’s all about the Game Jam.
Speaking of, if you’re still reading this, you should join our first Game Jam!