FAILURE MAP
← Case archive

FA-86412 / Procedural level generation constraints / Member archive

Key and lock solvability: Any key opens any lock · case 02

A blue key opens red doors, validating unsolvable dungeons.

Member previewVariant 2 · 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
wrong colour #1{"keys": ["blue"], "solvable": true, "visited": 2}{"keys": ["blue"], "solvable": false, "visited": 1}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 ↗