Overview
So, I recently participated in two game jams: the Godot Community Game Jam, to learn an engine and to stop me from dropping the game partway, and GAMES MADE QUICK 2.5, to have a focus other than SGDQ for that week.
Since I didn’t manage to finish the game I was making for the GCGJ, I went ahead and used GMQ to keep working on it. The resulting puzzle game is currently under the placeholder name “color-letter-path”.
It needs polish, certainly, but even if I never get around to that, I liked the experience - I certainly didn’t get the chance to do much game making during school despite majoring in it. Now, though, I’ve got a half-decent prototype, and more importantly a Thing I’ve Made, from under two weeks of work.
The Design Process
The idea for the game was bouncing around in my head for a while, but I didn’t get around to more than jotting down a few notes until the first jam gave me a motivator. At the start, it was “what if you had a platformer on a Tetris board?” Other components came and went. The “Tetris + platformer” base quickly proved too difficult to incorporate other things in, since most games of that sort work on a full board, but I liked the idea of having something navigating the board on a local level as well as the larger scope. In the end, I went with three things: A match-three, a spelling game somewhat like Boggle or Bookworm, and navigating a maze made from the tiles on the board.
The details were a lot looser, really; that was all iteration. How many types of thing do I use for the match-three? Started with four, found that the game had a lot of trouble making a starting board with no three-in-a-rows on it, made it five. Should the maze have tiles that can only be dead-ends? Tried “yes”, too hard to get a long path, made it “no”. How many targets should there be for the maze portion? I started at one, kept raising it in testing until it got to five, and I think there’s still room for improvement.
Oh, and the Godot jam had a “temperature” theme, so I planned out a score mechanism based on that, but I didn’t manage to finish that until the second jam.
Development
I had never used Godot before this game; my code is certainly clumsy. If I develop it further, I might need to rewrite large portions from scratch. That’s all right, though; that just means I’m learning! (Or so I keep telling myself).
Seriously, though, Godot is interesting. Scripting is highly based in Python, but functions aren’t first-class. Every object is its own scene, laid out as a tree of nodes, each of which can have its own script file: It’s easy to design re-usable components, even more so than Unity, but I’m never sure of when to put multiple scripts on different nodes and when to centralize them on the root. These rough parts will likely go away as I make more games, I suppose.
As for my work habits… I got a lot more done per-day in the first (shorter) jam than in the second (weeklong) one; I just couldn’t maintain focus as well. That’s partly that I was watching SGDQ, partly other things going on that week, but the fact remains that my output was pretty front-loaded. I think I prefer the slower pace, really.
Results
… I think I did all right. That’s good enough for me, for this game. I’ve made a thing, and it’s not terrible.