The BFS solver couldn't account for obstacles blocking push paths - knowing the button is reachable doesn't mean the player can get to the correct side of the boulder. Reverse-pull guarantees solvability by construction: start with boulder on button, simulate valid un-pushes to move it away. Each un-push verifies both the new boulder cell and the player's required push position are walkable. Also fixes chest clumping: level 2 previously crammed 3 treasures + boulder + button into a single room. Redesigned all level plans to spread treasures across rooms (max 1 per room). Updated lv_planner for procedural levels 9+ with the same constraint. Level plans no longer specify "boulder" - it's auto-generated from the button position with min_pulls scaling by depth (2-8). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| cos_entities.py | ||
| cos_itemdata.py | ||
| cos_level.py | ||
| cos_solver.py | ||
| cos_tiles.py | ||
| example_text_widgets.py | ||
| game.py | ||
| geometry.py | ||
| mcrf_venv.py | ||
| simple_tiles.txt | ||
| text_input_widget_improved.py | ||