Check that every key can be found without already owning it
A map can look fine door by door and still be impossible, for example when the red key lies in a room that only the red key opens. This entry shows how to simulate a player collecting keys and list every room and key that stays out of reach.
Why this works
A level can break in a way no single door shows, because the problem lies in the order things become possible. Playing it out in rounds, taking everything the player could take so far, shows what is truly out of reach, and whatever is left over is the problem.
When not to use it
Skip it when keys get used up, doors close behind you, or the player can lose or swap items, because then the order of use matters and this check says too much is fine. Test those levels by playing every sensible route.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- 30 lines of example code with 4 checks that pass
- How your AI shows you that it works
Say this to your AI
Use the Spielerando entry "Check that every key can be found without already owning it" (read_entry keys-locked-behind-their-own-doors) in my game. Build it step by step, and show me how you checked that it works.Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP