tiennm99 68a808ec7e chore: drop orphan Phaser-era assets
bg.png (295 KB) and logo.png (24 KB) had zero references in src,
index.html, or any CSS, but matched the workbox precache glob and
shipped to every install. Removing them drops the precache from
555 KB to 235 KB (-58%). Update the docs note.

Also add the review-fixes plan to plans/.
2026-04-27 21:15:46 +07:00
2026-04-27 21:15:46 +07:00
2026-04-27 20:51:37 +07:00
2026-04-20 16:01:04 +07:00
2025-04-26 23:07:35 +07:00
2025-04-26 22:44:57 +07:00

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 on desktop; on-screen D-pad on mobile (bottom-right, one-handed). U / Z to undo, R to restart, Esc for menu.
  • Mobile-optimized: Touch-safe controls, haptic feedback (vibrate on push & win), safe-area insets for notches/nav bars, browser gesture blocking.
  • Installable PWA: Add to home screen on iOS/Android, play offline, standalone fullscreen mode.
  • Undo history, live move counter, animated moves.
  • Progress saved locally in localStorage (per browser, per device).
  • Responsive tile sizing so small and large levels both look right on any screen.

Development

npm install
npm run dev          # dev server on http://localhost:8080
npm run build        # production build

Project layout

See docs/codebase-summary.md.

Documentation

Credits

License

  • Source code: see LICENSE.
  • Puzzle layouts (Microban): see LICENSE-LEVELS.md — Skinner's free-distribution-with-credit terms, not the main project license.
S
Description
A simple sokoban game generated with AI
Readme Apache-2.0 1.5 MiB
Languages
Svelte 57.4%
JavaScript 37%
CSS 4.9%
HTML 0.7%