Procedural sea villas. The player arrives by boat. Goal: grab the shiny blue cube and get back. Wooden bridges collapse after one pass, consoles open gates wired to them. Guaranteed to be solvable and without shortcuts.
Different sizes. I like small ones because you can solve them just from a screenshot. Bridges are hard to fit in small sizes though. Often the only way to reach the goal is to cross a wooden bridge, and then the player needs to find another way to return to the pier.
Sometimes it generates quick returns from the goal to the start, like on the 4th output here. Imagine navigating large ones in a first-person perspective, without compass or minimap. Everything is rendered in #MagicaVoxel.
Each floor is a dungeon. Probably would look better if inner stairs were allowed too, but global conditions are harder to satisfy without inner stairs, and I wanted to test the new tech on a harder problem.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Did you know that WFC algorithm can generate ~unbiased (not-necessarily-shortest) paths between A and B? Each tile here has an even number of outgoing edges, therefore all paths split into cycles, except A and B, which become connected by a path! Tiles by @beast_pixels.
Thread.
Take a tileset with Lines, Turns and DeadEnds, but ban DeadEnds everywhere except 2 endpoints. The key is to NOT include T-shaped roads, as they have odd number of outgoing edges, and the result then doesn't have to split into cycles. X-shaped intersections are fine though.
WFC may be an overkill for simple 2d paths, but it's very handy for more complex geometries like 3d stairs or heavily constrained tilesets.
@Andy_Makes Yeah, this is a classic problem. You can ensure the playability by either 1. Generate and test, aka rejection sampling. 2. Post-processing: dig tunnels, draw ladders with custom rules.
@Andy_Makes 3. Pre-processing: generate connected structure in advance and use it as constraint for cellular automata/ConvChain/WFC
@Andy_Makes 4. Use a special heuristic to maximize the probability of generating a solvable level