From 97d43d0d573323401781162c7a3571c08d57be4e Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Sat, 11 Apr 2026 22:55:07 +0700 Subject: [PATCH] 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. --- README.md | 7 ++++--- docs/project-overview-pdr.md | 5 +++-- src/game/data/microban-levels.js | 8 +++++--- src/game/scenes/menu-scene.js | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e155b29..ff1975d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Sokoban -A browser-based Sokoban game built with Phaser 3 and Vite, shipping 100 Microban levels by David W. Skinner. +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/](https://tiennm99.github.io/sokoban/) ## Features -- **100 solvable puzzles** from the Microban set (beginner-friendly, concept-focused). +- **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. @@ -33,7 +33,8 @@ See [`docs/codebase-summary.md`](docs/codebase-summary.md). - [`docs/project-changelog.md`](docs/project-changelog.md) — release notes. ## Credits -- Puzzles: **Microban** by David W. Skinner (April 2000). Freely distributable with credit. Original site: http://users.bentonrea.com/~sasquatch/sokoban/ +- 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). - Engine: [Phaser 3](https://phaser.io/). ## License diff --git a/docs/project-overview-pdr.md b/docs/project-overview-pdr.md index 19b4a23..b5e6b3b 100644 --- a/docs/project-overview-pdr.md +++ b/docs/project-overview-pdr.md @@ -1,7 +1,7 @@ # Sokoban — Product Development Record ## What it is -Browser-based Sokoban puzzle game. 100 solvable Microban levels (David W. Skinner, freely distributable), Phaser 3 + Vite, deployed to GitHub Pages. +A from-scratch Sokoban implementation by tiennm99. Phaser 3 + Vite, deployed to GitHub Pages. The engine, UI, parser, and progression system are original code. Puzzle layouts come from David W. Skinner's freely distributable **Microban** set (100 of his puzzles shipped) — layouts only, no code reused from Skinner's own programs. ## Goals - Clean, beginner-friendly Sokoban that runs in any modern browser with no install. @@ -24,5 +24,6 @@ Casual puzzle fans, Sokoban beginners. Microban set chosen specifically because - Runs smoothly on desktop browsers at 1024×768 canvas (scaled responsively). ## Credits -- Puzzles: Microban by David W. Skinner (April 2000). Used per the collection's free-distribution terms with credit. +- Puzzle layouts: Microban by David W. Skinner (April 2000). Used per the collection's free-distribution terms with credit. Only the level designs — none of Skinner's code. +- Game code: tiennm99 (with AI pair-programming from Claude). - Engine: Phaser 3. diff --git a/src/game/data/microban-levels.js b/src/game/data/microban-levels.js index 762420b..5a7f07e 100644 --- a/src/game/data/microban-levels.js +++ b/src/game/data/microban-levels.js @@ -1,7 +1,9 @@ /** - * Microban level set by David W. Skinner (April 2000, 155 puzzles). - * Freely distributable with credit. First 100 levels shipped here — small, - * concept-focused puzzles that are great for beginners and still interesting. + * Puzzle layouts from the Microban level set by David W. Skinner + * (April 2000, 155 puzzles, freely distributable with credit). + * First 100 layouts shipped here — small, concept-focused puzzles. + * Only the level designs are borrowed; the parser, renderer, and engine + * are original code written for this project. * Source: http://users.bentonrea.com/~sasquatch/sokoban/ * * Format: XSB diff --git a/src/game/scenes/menu-scene.js b/src/game/scenes/menu-scene.js index e8009f6..5c2515c 100644 --- a/src/game/scenes/menu-scene.js +++ b/src/game/scenes/menu-scene.js @@ -19,7 +19,7 @@ export default class MenuScene extends Phaser.Scene { const cy = this.cameras.main.centerY; this.add.text(cx, cy - 200, 'SOKOBAN', FONTS.title).setOrigin(0.5); - this.add.text(cx, cy - 130, '100 Microban puzzles', FONTS.subtitle).setOrigin(0.5); + this.add.text(cx, cy - 130, '100 puzzles to solve', FONTS.subtitle).setOrigin(0.5); createButton(this, cx, cy - 20, 'PLAY', () => this.scene.start('LevelScene'), { width: 240, height: 64 }); @@ -33,6 +33,6 @@ export default class MenuScene extends Phaser.Scene { ].join('\n'); this.add.text(cx, cy + 170, hints, { ...FONTS.small, align: 'center' }).setOrigin(0.5); - this.add.text(cx, this.cameras.main.height - 24, 'Microban puzzles by David W. Skinner', FONTS.small).setOrigin(0.5); + this.add.text(cx, this.cameras.main.height - 24, 'Level layouts from Microban by David W. Skinner', FONTS.small).setOrigin(0.5); } }