mirror of
https://github.com/tiennm99/sokoban.git
synced 2026-10-14 04:16:36 +00:00
feat: ship 100 Microban levels with overhauled UI and modular core
Replace the 3 hand-crafted JSON levels with the full Microban set (100 solvable puzzles by David W. Skinner) stored as XSB text and parsed at runtime. Rework the game into kebab-case modules under a 200-LOC budget: - core/level-parser: XSB parse with flood-fill interior detection - core/board-model: pure move/undo/win logic, Phaser-free - core/progress-store: localStorage persistence with graceful fallback - core/theme: Nord palette, fonts, responsive tile sizer - ui/button-factory: one rounded button impl with hover/press - ui/board-renderer: animated tile/wall/goal/box/player drawing - scenes: menu, paginated level select (5x4 grid, 5 pages), game Add WASD movement, U/Z undo, R restart, Esc to menu, live move counter, best-move tracking per level, win overlay with next/levels actions, and a radial-gradient CSS backdrop. Drop the dead Arcade Physics wiring, the broken manual shutdown/destroy code, the unused main.js self-import, and the hardcoded 3-level registry state. Add docs/ and refresh README.
This commit is contained in:
1 parent
a61d5a2410
commit
1d2fff6bf8
27 files changed
+1866
-881
No files matched your search
@@ -0,0 +1,30 @@
|
||||
# Development Roadmap
|
||||
|
||||
## Phase 1 — Core game (complete)
|
||||
- Phaser + Vite scaffolding.
|
||||
- Menu / Level / Game scenes.
|
||||
- Arrow-key movement, box pushing, target detection.
|
||||
|
||||
## Phase 2 — Overhaul (complete, 2026-04-11)
|
||||
- Replace 3 hand-crafted levels with 100 Microban levels.
|
||||
- Modularize: core / ui / scenes split, every file <200 LOC.
|
||||
- BoardModel with undo + move counter.
|
||||
- Paginated level select (5 pages × 20 levels).
|
||||
- Nord theme + rounded button factory + animated board renderer.
|
||||
- WASD support, U/Z undo, R restart, Esc to menu.
|
||||
- localStorage progress (completed + best move count).
|
||||
- Drop dead Arcade physics and broken shutdown code.
|
||||
- Docs folder + README refresh.
|
||||
|
||||
## Phase 3 — Polish (planned)
|
||||
- Sound effects (step, push, win).
|
||||
- Player facing direction indicator.
|
||||
- Level category tabs (Easy / Medium / Hard) derived from puzzle size or move count.
|
||||
- Touch controls (swipe) for mobile.
|
||||
- Unit tests for `level-parser` and `board-model`.
|
||||
|
||||
## Phase 4 — Stretch (ideas)
|
||||
- Additional level packs (Sasquatch, Sokogen).
|
||||
- Custom level importer (paste XSB text).
|
||||
- Replay / move playback.
|
||||
- Per-level leaderboards (local only).
|
||||
Reference in new issue
Block a user