mirror of
https://github.com/tiennm99/sokoban.git
synced 2026-10-11 03:13:52 +00:00
bb720327a0e6a8563ff3e7318e4a1f97f8160853
Add on-screen D-pad (bottom-right) and action stack (UNDO / RESET / LVLS, bottom-left), shown only on coarse-pointer devices. Hide the duplicated header actions on touch. Block iOS/Android browser quirks: pull-to-refresh, double-tap zoom, long-press selection and callout. Game stays inside the viewport via overscroll-behavior and per-element touch-action rules; viewport zoom is left enabled for accessibility. Add navigator.vibrate wrapper (haptics.pulse) and fire short pulses on box push and longer pulse on level solve. Silent no-op where the API is missing. Reserve room for the bottom controls in computeTileSize on coarse pointer; raise minTile to 16 for legibility on small phones.
Sokoban
My from-scratch Sokoban game, built with Svelte 5 and Vite. The engine, UI, level parser, and progression system are all my own implementation. The puzzle layouts themselves come from David W. Skinner's freely distributable Microban set — I'm not reusing any of his code, only his level designs.
Play: https://tiennm99.github.io/sokoban/
Features
- All 155 puzzles from the Microban set, from beginner teasers up to the giant "Take the long way home" maze and "The Dungeon" finale.
- Paginated level select with progress tracking and best-move record per level.
- Controls: arrow keys or WASD.
U/Zto undo,Rto restart,Escfor menu. - Undo history, live move counter, animated moves.
- Progress saved locally in
localStorage. - Responsive tile sizing so small and large levels both look right.
Development
npm install
npm run dev # dev server on http://localhost:8080
npm run build # production build
Project layout
Documentation
docs/project-overview-pdr.md— product scope.docs/system-architecture.md— how the pieces fit together.docs/code-standards.md— conventions.docs/development-roadmap.md— past and planned phases.docs/project-changelog.md— release notes.
Credits
- Puzzle layouts: Microban level set by David W. Skinner (April 2000). Freely distributable with credit. Original site: http://users.bentonrea.com/~sasquatch/sokoban/
- Game code: tiennm99 (with AI pair-programming from Claude).
- Framework: Svelte 5 on top of Vite.
License
- Source code: see
LICENSE. - Puzzle layouts (Microban): see
LICENSE-LEVELS.md— Skinner's free-distribution-with-credit terms, not the main project license.
Description
From-scratch Sokoban puzzle game — Svelte 5 + Vite, all 155 Microban levels, undo, progress tracking
Readme
Apache-2.0
1.4 MiB
0 Stars
1 Watchers
0 Forks
Languages
Svelte
56.5%
JavaScript
38%
CSS
4.8%
HTML
0.7%