Hey folks! Now that the jam is over, I just wanted to look back a little on my game, Spore Valley.
Spore Valley is an engine-builder where you play as the newly germinated spore of an alien slime mold, and you must grow complex enough to complete your reproductive life-cycle within the limited space of a narrow river's edge, hemmed in by otherwise arid and barren desert. Different "bioforms" allow you to do different things, such as produce resources, construct other bioforms, cross water, and eventually win the game. Placement of bioforms depends in large part on what else is nearby, as well as what resources you've built up already.
This was my first game jam since doing the 7DRL in 2019, and my first Ludum Dare in even longer. I was motivated by a few things, partly the fact that I got this Monday off work, and partly because I've been considering switching my personal projects to Godot. I figured this would be a good chance to wrangle the new engine and see how I get along with it, and seeing the theme was "Limited Space" sealed the deal, since I very quickly thought of something entertaining to do with it.

The idea of an alien that sits vaguely somewhere in the triangle between a slime mold, a fungus, and a lycophyte is really just a reflection of the kinds of things I like spotting when I go outside in nature. The gameplay concept reflects my love of strategy games, which were what got me into gaming orginally (particularly 4X and RTS games). On top of that I've played some fun games that distill the 4X genre into simple, almost puzzle-like systems, and I've been playing some engine-builder board games lately too, so the concept of filling up a literally limited space with parts of your biological "engine" fell into place immediately.
The mechanics were simple enough to come up with, and I found myself "accidentally" having fun playing the game almost as soon as it was functional. I was delighted when I asked my partner to give it a try and they not only enjoyed the game but, unprompted, proceeded to play four whole rounds until they'd mastered the mechanics and won! The mechanics are familiar ones, so I was leaning on tried and true principles here, but I'm glad that worked out well.

The real meat of this challenge, for me, was figuring out how to use Godot. So far my one and only experience with the engine was running through the "Your First 2D Game" tutorial a couple of weeks ago, so this was my first time doing any self-directed work with the engine.
Happily, I found I really enjoyed my time with Godot. For reasons I'm not sure I can express yet, I found Godot's framework and flow for constructing a game GUI to be much smoother and more pleasant than my experiences with Unity. And I found the Node structure most objects in the game use to be pleasantly easy to slip into.
I did struggle at first to figure out how to align and distribute multiple objects in the UI in a way that felt coordinated, and repeated googling eventually dragged me through the Container paradigm and all its quirks; there are still things about it where I feel I don't understand what's going on or why the children of my containers behave the ways they do, but I made enough progress learning about the system this weekend that I feel the rest should eventually follow.
Godot's editor also, for the most part, feels less clunky and chuggy than Unity's. There are a few odd behaviours it has that may be either bugs or design choices I need to get used to, but for the most part it felt like the editor just got out of my way and let me do my job.
There are a couple of things I feel I didn't have the time to develop a sufficient understanding of. Tweens don't always do what I expect; I was unable to get map tiles to steadily flash when selected with Tweens (there was always a delay between tweens, even though I didn't define one), although I was able to use the same code to make it work with Buttons, so I switched to manually adjusting the color of the tile per frame instead. And I only barely touched the animation system enough to get my water tiles to animate a little; I would have liked to cross-fade between frames instead of instantly switching from frame to frame, but I can't tell if that's supported or if that's something I'd need to approach differently. I also would have liked to experiment with 2D bones, ironically to get the boneless slime structures wavering in the wind a bit, and I want to check out whatever Godot has for a particle system too.

Beyond that, I'm pretty proud of how I managed to make the system very data-driven. The tooltips, help page, graphics, and gameplay all draw from the same core set of data, so adding a new bioform (such as the Lysoplasm, which I added about 4 hours before submission) is incredibly easy and automatically propagates everywhere it needs to go with barely any work.
I'm also happy for the one piece of code I brought in from past projects; a class I call HexHelper. I love procedural generation and have been working in procgen for over a decade, and many years ago I decided to start playing around with map generation on hex grids. I loved it, and ended up writing a class of helper and math functions for dealing with hex grids.
I popped that over into Spore Valley to help with a couple of things... and immediately realized I had made a mistake! Because for years I've been working in flat-topped hex grids, so all my math was specific to flat-topped grids, but for some reason I'd decided to make Spore Valley a pointy-top hex grid. This resulted in some time spent rewriting my HexHelper class to account for both orientations, which felt silly to be doing so late and is probably going to be valuable in the future.
I'm reasonably happy with the art and I did learn some better Inkscape workflows as I made it, though I'm under no illusions as to its overall quality; I've already seen some art in other games in the jam that have blown me away! But this was primarily an engine-learning and gameplay-programming challenge for me, and in that respect I had a blast, and I consider the experience to be a great success.
If you happen to check out Spore Valley, thank you so much!