tiennm99 97d43d0d57 docs: scope Microban credit to level layouts only
Reword README, PDR, menu scene, and the data file header so the Microban
credit clearly covers only the puzzle layouts borrowed from David W.
Skinner. The parser, renderer, UI, and progression code are original, and
ownership is now stated explicitly. Attribution for Skinner is preserved
everywhere it appeared.
2026-04-11 22:55:07 +07:00
2025-04-26 23:07:35 +07:00
2025-04-26 22:44:57 +07:00
2025-04-26 23:07:35 +07:00

Sokoban

My from-scratch Sokoban game, built with Phaser 3 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

  • 100 solvable puzzles using level layouts from the Microban set (beginner-friendly, concept-focused).
  • Paginated level select with progress tracking and best-move record per level.
  • Controls: arrow keys or WASD. U / Z to undo, R to restart, Esc for 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
npm run dev-nolog    # dev without the analytics ping
npm run build-nolog  # build without the analytics ping

Project layout

See docs/codebase-summary.md.

Documentation

Credits

License

MIT — see LICENSE.

S
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%