Devlog: Prairie maze and sinkhole remodeling
Added 2025-07-27 06:44:38 +0000 UTCAs the end of the second year of game development draws near, my goal for next month is getting all the puzzles of level 3 as functional as possible. This won't be easy because the more I model and program, the more horrible past models and code become and I have to fix my previous mistakes.
Jul 23
First things first, I have to decide where each puzzle area must be located within the level. I want it to have a large central area where the player can talk with the shepherds - and also where the boss battle takes place. I also want every area to be easily reachable, but not close enough to each other for crazier players to jump from atop the taller ones into the deeper ones and accidentally soft-locking themselves.
Approximate map of Sheerk Prairie.
Jul 25
I started with the maze, which is probably the most complex part of the level, since it has rotating elements and holes in its collider. The original model was a complete mess, so I remade it whole and now it looks beautiful.
Sheerk Prairie maze
I probably shouldn't have spent so much time fixing the textures, but I wanted to see the final result. This however revealed a big problem: my brick textures aren't vertically symmetrical, so sharp-eyed players will notice when a wall is upside down, which reveals the path to take. I could fix that by simply multiplying the vertical UV component by -1 in the shader, but maybe I'll keep it that way to give little hints to speed-runners.
One of the biggest issues with the previous model was its collider. Since the ground of the maze has holes in it to allow paths to cross over each other, I had to rotate the whole structure to accommodate maze variations. To fix that abomination, I simply added more holes. All possible underground paths (which I reduced from 4 to 2 by just adjusting an angle) are now a permanent part of the mesh, I just have to cover whichever isn't needed with a quad and no one will be the wiser.
Overlapping paths in the maze: the bridge (green) rotates over one of the two tunnels (red). The tunnel at the center of the maze (yellow) leads back outside.
And finally, my favorite part: the exit ramp which the player must knock down from below. I again used Pythagorean triples to make it connect seamlessly to the textures around it. And damn, it's so satisfying to watch. The exit tunnel is 2.5 units deep and the slope of the exit ramp had to be less than 45º. Since I had plenty of space, I chose the <5, 12, 13> triple (times ½), which makes the slope angle atan(5/12) = 22.62º.
Exit ramp of the maze.
Jul 26
Next was the sinkhole, which I again had to completely remodel. I stupidly kept all hexagonal rooms geometrically exact, which makes them an absolute nightmare to model and program. So I adjusted everything to integer positions and split the model into ground, rocks, walls, area limits, and a guardrail, to which I'll just add a large hemisphere collider - can't have the player yeet themself right into the exit.
Sheer Prairie sinkhole.
While modeling I noticed that by removing the rocks and the walls, I ended up with a perfectly anti-symmetrical structure, so I'll save a bit of memory by exporting only half of it and placing it down twice.

Anti-symmetrical structure of the sinkhole.
The only difference between the halves is that the exit has a hole that keeps the player from entering the area from its exit, but I just did the same thing I did with the maze: both entrances have a hole, I'll just plug the one at the start.