What it is
Simple Maze is a maze generator with a solver built in. You choose the grid, the size and what goes in the maze, and it carves one for you. Then it solves the maze exactly, so you know for certain that it can be finished, how many moves the best solution takes and how many different best solutions there are.
Everything is deterministic. The same settings and the same seed always give the same maze, and every maze keeps the settings and seed it was made from. When the generator can't give you exactly what you asked for, it says so in the maze's notes instead of quietly handing you something else.
The four grids
Square
Classic square cells with four sides, from 2 by 2 up to 64 by 64. The only grid with weave crossings, where a passage tunnels under a corridor.
Hex
Pointy-top hexagons with six ways out of each cell, up to 64 by 64.
Triangle
Alternating up and down triangles with three sides each, up to 64 by 64.
Circular
A polar maze: a centre cell inside 2 to 40 rings that split into more cells as they grow, so the cells stay roughly square from the centre to the rim.
Any grid can be stacked into 2 to 8 floors joined by 1 to 4 stairs between each pair of floors, and any grid can be cut to a shape: a circle, ring, heart, star, diamond, cross, a word in the built-in font, or your own picture.
Features
Proven par
The solver searches every position the players can reach, so the par is the true minimum and not an estimate.
Soft-lock check
Every maze reports whether a player can get stuck somewhere they can no longer finish from, and NoSoftLocks only accepts mazes where that can't happen.
Difficulty stars
A 1 to 5 star rating worked out from the par, the real decisions on the way and the gimmicks, calibrated so each star covers about a fifth of everyday mazes. Ask for a star count and the generator keeps trying until it gets one.
Gimmicks
Up to 6 keys and doors, 4 switches with up to 3 gates each, 8 gems, 24 one-way sides, 4 portal pairs and traps, all placed so the maze stays solvable and proven together.
Players and movement
Up to 4 players, either racing to one goal from starts the same distance away or each heading to a goal of its own. Players step one cell at a time, or roll in a straight line until something stops them (Square and Hex).
Six carving algorithms
Recursive Backtracker, Prim, Kruskal, Wilson, Hunt-and-Kill and Growing Tree, each with its own look, plus braid, extra loops, open rooms and holes.
Shapes from pictures
Drop an image into the generator window and its dark, light or opaque areas become the maze.
Printable export
Save any maze as a PNG or SVG: a black on white puzzle sheet, an answer key with the solution drawn in, or the full colour view with every gimmick.
ScriptableObjects
Save single mazes or ordered packs, with inspectors that preview, re-check and regenerate them.
Play rules included
MazeRules tells your game what a move does, using the same rules the solver counted with, so the game and the par always agree. It also gives hints from any position.
Editor tooling
One Maze Generator window with 19 presets, an Auto button that fixes settings that fight each other, and generation on a background thread with a progress bar and Cancel.
A 3D demo
Five game modes with endless mazes and 50 ready-made levels, built entirely in code. It works in URP, HDRP and the Built-in pipeline.
How it works
Configure
Pick a grid, its size and what goes in the maze, in the Maze Generator window or with a MazeSettings object in code.
Build
The board is cut to its shape, carved, and given its rooms, loops and crossings. Then the start and goal are placed, the extra players are added and the gimmicks are set out along the way.
Solve and rate
The solver explores every reachable position, counting keys held, gems taken and switches flipped. It records the par, how many best solutions exist, one of them, whether anyone can get stuck, and the star rating.
Use it
Save it as an asset, export a picture of it, play it in the demo, or read the MazeData in your own scripts.
Why "verified"
Lots of generators make mazes that are probably fine. Simple Maze proves the things you design around:
- The par is real. It is the shortest solution that exists, counting every key, door, gate and portal, so a 40-move maze really takes 40 moves.
- Gimmicks are part of the proof. Doors, gates and gems are solved together with the maze, and by default every door and every switch's first gate stands in the way, so its key or switch is really needed.
- Getting stuck is detected. One-way sides, traps and rolling can leave a player somewhere they can't finish from. Every maze reports it, and you can ask for mazes where it never happens.
- Misses are reported. When a target star count, a coverage or a gimmick can't be met, the maze's notes say what happened and what you got instead.
One honest limit: the solver has a state budget (500,000 positions by default). A very large maze with many players and gimmicks can run past it, and then the par is reported as not proven rather than guessed. Raise StateBudget or make the maze smaller.
Getting started
Open Window > Living Failure > Simple Maze > Maze Generator, pick a preset, press Generate and look at the analysis on the right. Then open the demo scene and play. The Quick Start walks through the whole loop in about five minutes.