Deep Sea Settler Postmortem
Play and rate here
Deep Sea Settler is a puzzle-ish colony builder. It's loosely, or rather unconsciously inspired by Reus, Dorfromantik, and Solar Settlers from BrainGoodGames. I interpreted the theme thus: You have to slowly build out your underwater colony by placing buildings farther away from your base, deeper into the ocean, and spread in a hostile environment - without destroying said environment.
Day 1
I came up with two main game ideas for this theme: The first was a game about a submarine navigating in complete darkness based on sonar and dead reckoning. The second was an under-water colony builder with an ecological theme.
The first would either have looked really boring, with no visible environments, only 2D submarine controls and instruments, or it would have been too much work to mode the interior of a submarine and interesting underwater environments.
I decided to work on the colony builder, and to set it on a hexagonal grid. You start out just below sea level, and as you go on, the sea bed gets deeper and deeper, sunlight becomes scarce and pressure increases, so the game gets more difficult. (The depth and difficulty mechanic did not make it into the final game, but tiles of varying depth did.)
I started by working on the art and rendering code.

I made a simple renderer for infinite hex tilemaps (stored in a hash table), and drew some tiles. They all had a "base" or "depth" to them, allowing me to raise or lower them a bit without "floating" over the playing field. After seeing the tiles arranged like that, I decided to re-work the tile shape to allow for a better perspective when drawing tile contents, and I drew a bunch of tiles based on an ecological and "humorous" theme:

A fishing submarine with a fishing rod and a fish farm with fish fenced in in a 2D enclosure felt like the peak of humour to me at the time.
Day 2
I drew some graphics for UI elements and cursors, and started making the map clickable and interactive. For this, I repurposed the drawing code and the hex marker that shows the selected tile. After a broad-phase collision check, the game checks if the mouse is inside the drawn tile by checking a collision mask at the positions of nearby tiles, preferring the tile nearer to the "camera" if two or more overlap. This was easier to code than convex hex shape collisions, and allowed me to stay a bit more flexible with depth and overlapping tiles. At this point I was still thinking about making depth a more prominent mechanic, but the interaction with the map and judging of distances got a bit too difficult when tiles were occluded too much.
Then I added the wavy underwater effect. It took me way too long to add it, and although everybody tells me it's a bit too distracting, without it it's not clear that you are underwater, which is an important thing to convey at all times, because of the theme.
I drew some sprites for resources and tile products, but I was still unsure which should become which.
After playing around with different configurations, I decided to focus on just building, without a way to destroy built structures, and without "turns". There were discrete actions, but no "turns" and no way to pass time. There was also no way to accumulate resources over time. The only action was clicking on a tile and building, with instantaneous effects: Left-click a tile, select what to build, repeat.

This gave the way a much more puzzle-ish feel, that I really liked, but it also meshed with the "ecological" theme: Every action is irreversible, every tile is a precious resource, every decision is meaningful. Using a tile for building can cost you food or oxygen production. Expanding can destroy synergies between tiles.
To make this more obvious, I added a UI that shows a tile's output when you hover your cursor over it.

Day 3
The game was "feature-complete" after the second day, but I felt a bit unhappy with the balancing and the UI. I took a third day and spent Monday evening adding mining tiles to make tile space more precious, and UI improvements like drawing the perimeter of the buildable area (instead of the range of the current habitant) when the cursor is outside of the buildable area.
The farms were too easy to build, and the power plants were too difficult, so I added power lines to distribute energy (at the expense of building over more tiles) and mining of rifts for science juice to build farms. This way, food, energy, and oxygen are more of a trade-off, and you can't just tile the world with farms, but you can upgrade some of your farms to undo your worst mistakes. If there are not enough volcanoes where you want to build, you can build power lines, but that will make habitat placement more difficult.
What Went Right
Scope: I am really happy with the tight focus of the game, but at the same time, this game mechanic has "legs". It would be easy enough to add more tile types, make the map bigger, and to increase the goal population in the future based on what I have now. But as it stands, it's an interesting game already. Adding more systems would have made it harder to balance, and I am glad I didn't add turns with actions per turn, or tiles that generate resources over time.
Art: For the most part, I stuck with the db32 palette, plus some transparent shades of those colours in the domes and bubbles. I don't think the tiles are as funny as I first intended, but they are distinctive and legible enough.
Balance: After playtesting the game for hours, it's really easy for me, but it's a decent challenge the first few times. Some of the difficulty stems from not knowing what tiles are available and the lack of undo, but it's replayable for some time without feeling "solved" even after you have internalised all the mechanics. None of the tiles is too abundant or too rare.
Game Design: The core loop is build habitat->connect food and energy->expand range->build habitat, but it's also possible to go back and increase the population of existing habitats by mining, upgrading farms and connecting more energy. In the endgame, the player can sometimes increase the population by densely packing the centre of the map with habitats after spreading on the map, and sometimes, it's the other way round. That gives this game a thinky, puzzle-ish feel.
Tile products follow the pattern [adjacent tiles->built tile->product->habitat], so that there are no loops. It goes kelp->fishing sub->food->habitat; rift->power plant (->power line optionally?)->energy->habitat; kelp forest->oxygen->habitat; farm->food->habitat. Evaluating the output of a tile is straightforward both for the computer and the player.
Theme: I tried to work in an ecological theme, where Oxygen is in short supply, built structures cannot be reverted into pristine nature, and tiles are an important resource. Players picked up on that.
What Went Wrong
Jam Theme: Unfortunately, the jam theme "deeper and deeper" got a bit lost in the process. The game was already difficult enough without making tile depth contribute to building costs, and complicated enough for a jam game without adding more mechanics. Making the terrain generation more extreme would have made tile adjacency hard to determine. I would have needed to use a 3D engine to make 3D game mechanics.

(extreme terrain generation with deep cliffs makes world difficult to parse)
Tutorial: There is no in-game tutorial that introduces the tiles gradually. I added some text on the itch.io download page and the LDJAM submission, but that can easily be missed. The only way to learn what the tiles do is to place them and then examine what changed, or the tool tip. Only after the compo I implemented a bunch of UI improvements, but they need to be enabled in the game's options. Now the tool tips are also shown in the build menu. I should have thought of that right away.
UI: The UI is too busy and the mechanics are not discoverable enough. Adding more things to the UI would make it busier, removing things would make it harder to see what's going on. The UI needs a complete overhaul if I add anything more.
Time: Looking back, I could have implemented all this and some more polish, animations, and sound effects within the time constraints of the compo, if I hadn't had anything else to do that weekend. I really wish I could have added some audio.
What I learned
- Don't try making depth a mechanic thing in a 2D game if you can't rotate the camera and look behind things
- Some users get annoyed by waves even if they don't get sea-sick
- People call every visual effect a "shader", even if it doesn't use the GPU
- Hexes are cool. Some mechanics just don't work on a square grid
- My visual jokes are not as funny as I think they are
- I can do LDJAM without feeling hungover and tired on Monday
- Try not to accidentally take out the jam theme when cutting down the scope!
- See, my games don't have to be platformers
- Limiting your mechanics to simplify controls to one mouse button can pay off