FAILURE MAP
← Case archive

FA-86410 / Procedural level generation constraints / Member archive

Key and lock solvability: Doors are one-way · case 05

Rooms listed on the far side of a door are unreachable.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

rooms maps room -> keys lying there; edges [a, b, lock] are two-way doors, lock None or a key colour. Keys are never consumed. Starting in start, repeatedly pick up keys in visited rooms and walk through doors that are open or whose key is held, until nothing changes. Returns {solvable: goal visited, keys: sorted keys held, visited: count}.

Why this case matters

Procedural generators silently emit unplayable or unfair levels when a single constraint check uses the wrong boundary, axis, neighborhood or update order; the defect is visible in exact generated geometry.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
reverse listed door #1{"keys": [], "solvable": false, "visited": 1}{"keys": [], "solvable": true, "visited": 2}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗