Allowed symbols All other characters are rejected by map character validation; bonus builds extend this alphabet with bonus tile symbols.
Map rules define the minimum structure required before movement, collision, and raycasting can safely use the parsed grid.
Map rules
Validation protects movement and raycasting by rejecting malformed map geometry before runtime graphics initialization.
Allowed symbols All other characters are rejected by map character validation; bonus builds extend this alphabet with bonus tile symbols.
Single player spawn Exactly one orientation marker is required.
Closed playable area Open cells must never leak to void, spaces, or missing row columns, and unreachable open pockets are rejected.
spaces and short rows are void Irregular maps are valid only when BFS cannot escape through implicit void.
11111 10N01 10001 11111
11111 10N01 100 11111
project-specific behavior These rules match the parser and validation contract used by this repository.
interactive map validator Try map integrity cases: symbols, spawn count, empty lines, BFS closure, and reachability.
validate_map(...) success invariant One spawn, allowed symbols, no leak to void, no unreachable open area, and a structurally valid map block.
N, S, E, or W