Home
Getting Started

seeded-maze

Deterministic maze generation with geometry, curved walls and provable multi-layer solvability.

seeded-maze generates mazes from a seed and describes them as plain data: a grid layout, render-ready wall boxes, a navigation graph, smoothed wall outlines, and stacks of layers joined by stairs, drops and jumps. It does not draw anything and has no opinion about your engine.

Why use it?

Problemseeded-maze
A shared seed gives a different maze on another machineThe layout is a pure function of (width, height, seed)
Walls look like axis-aligned boxesbuildCurvedWalls smooths and wobbles them without changing which cells connect
A multi-floor maze can strand the playerassertSolvable proves the goal is reachable, honouring one-way drops
Every level feels the samefindDeadEnds reports side alcoves and their depth, so you can place rewards and scares
A maze library drags in a rendererPlain arrays and maps, one small dependency (seedrandom)

Start with Getting started, then use the API reference for signatures and the architecture notes for the invariants behind them.