I participated in the Game Dev Field Guide’s 2nd Monthly Game Jam in February. This was the first step in my resolution to dedicate time to game development and publish games.
I consider the project a success because I achieved my primary goals:
What Went Well:
- Godot: I decided to give Godot a try thinking I could benefit from using a “fully-fledged” game engine (read more about that decision here). Overall, I liked Godot and will continue using it. After just a few hours of tutorials, I was able to jump in and start developing. I’m confident that Godot saved me time, thanks in large part to its animation, mapping, and exporting capabilities. Also I think I’m learning some good programming practices from Godot that I will apply to my job and/or other games I design. Godot forces you to architect your game into a node tree structure that greatly encourages good design patterns such as object composition, modularity, de-coupling, encapsulation, and dependency injection.
- Regular Schedule: Inspired by Bulldog Mindset, I stuck to a daily routine of working on the game for 1 hour first thing (almost) every morning. This ensured that I made time for the game, and resulted in ~20–30 hours of development in February.
- Playtesting & Level Design: I had some family members play my game a few times throughout development to help me tweak the level difficulty before release. Taking that time made the level design better which is valuable for keeping players engaged.
- Participating in a Game Jam: Participating in a game jam was great because it gave me an audience, and in turn, feedback. It feels a lot better when someone actually plays your game, and it was very cool to see it played by Zackavelli on Twitch.
- Minimal Scope: Limiting my game development time to a month forced me to actually finish the game and not spend too much time on a single project. By the end, I was starting to lose interest in the game, so the timing was perfect.. And I’m pleased with the initial scope that I set for the game — I had initially wanted to do more, but I forced myself to limit my ambition to the absolute minimal to meet the one-month deadline, and I think it resulted in a more complete experience for the player.
- Addressing Feedback: After the initial jam was over, I took some time to address feedback and polish the game. It made the game a lot better and made me a better game developer.
- Publishing: I exported my game in HTML, Linux, Mac, Windows and Android, and published to Itch.io and the Google Play Store. It was really easy to export in all of these formats with Godot, which is critical to reaching the widest audience. I think publishing in HTML is especially valuable because it makes it easier to share your game (bonus if it’s playable on a mobile browser).
What Could’ve Been Better:
- More Learning: Sometimes I didn’t want to take the time to research the best way to implement something, so I jumped in and made my best effort to implement it quickly. Often it turned out fine, but there were several instances where it set me down a path that made development more difficult overall.
- Pathfinding: My game relied heavily on pathfinding, and while I got it working well enough for my simple game, I never quite worked out all the bugs. If I need pathfinding again in a future game, I think I’ll want to revisit my approach and try a different library.
- More Juice and Quality-of-Life: The extra quality-of-life improvements and bits of “juice” are part of what make an experience a fun “game” rather than a tedious “task”. For instance, little “unnecessary” things like giving the player “drag” options to place multiple blocks and sound effects when placing a block enhance the player experience and are what make a good game great. I’d like to have included more of these things in my game.
- Deliberate Level Design: While I think I did a decent job with level design, it certainly could’ve been better. Especially with a game jam game, you need to engage the player and each level needs to keep the player wanting more. I think I had an unnecessary quantity of redundant levels, and maybe should’ve favored fewer unique levels, where each introduces a new mechanic.
- Getting Things Just Right: When I’d go back to address feedback, I wasn’t always sure that I was actually making the game better. For instance, I was touching up levels and rearranging them to try to pace the game better, but I wasn’t certain if I was actually improving the pacing or making it worse. I suppose it’s just like any art form where there is no right or wrong, and you need to find a sweet spot.
- More Game Jams: I’m still learning a lot, and I think game jams are still the best way to learn. Game jams provide a start-to-finish experience, and you’re limiting the time you’re investing so you don’t go too far in the wrong direction.
- Keep Scope VERY Small: Plan on doing less than I think I can.
- Focus on New Skills: I’m thinking I will focus on a specific skill with each game jam game I produce going forward. It will depend on the game, but I think I want to focus more on music & sound effects or menus with my next game.
- Follow Tutorials: There are a lot of things I don’t know I don’t know, and I think tutorials are a good way to cover that. I poorly implemented some code in my first game, and I think it’d be worth the upfront cost to learn from a tutorial rather than jumping in and naively addressing a problem.
- Participate in Communities: I’m going to make a more concerted effort to give back to the communities I benefit from. I think it’s important to not only share my game, but provide feedback for others. Not only to build rapport, but also it’s another way to learn and develop myself.
- Blog a Tutorial: I think the next blog I write will be sharing how I implement something in my next game. It’s a way to give back to communities, but also a way to get a thorough understanding of what I’ve learned.
Also, the Game Dev Field Guide has been a great source of learning and community for me. This blog is based on my participation in the February Game Jam, and I am starting work on my entry for April’s Game Jam. I recommend anyone who’s interested in game development check it out!