A browser remake of Wonder Boy, reimagined as a desktop-only 32-round Canvas game.
Vanilla JavaScript, ES modules, no build step.
cd /Users/luigiottoboni/Projects/wonderboy
npm startOpen:
http://127.0.0.1:4173/
If you already have the server running, just open the URL again. Running npm start twice will show EADDRINUSE, which means the game is already being served.
A/Dor←/→— moveSPACE— jumpX— throw axePorESC— pauseS— saveL— load manual save
You can also use the buttons in the page for Start, Continue, Save, Load, Pause, and Sound.
npm testsrc/engine.js— game rules, levels, save/load, simulationsrc/main.js— Canvas rendering, UI, input, audiosrc/world.js— older world generation prototype, mostly supersededtests/— automated checks for simulation and browser renderingtools/serve.mjs— local static server
WebKit is the recommended browser for headless checks because Chrome has crashed in this environment.
PLAYWRIGHT_MODULE=/private/tmp/wonderboy-browser-tools/node_modules/playwright/index.mjs node tools/capture-game.mjsCaptures are written to /private/tmp/wonderboy-captures.
The game is intentionally original art and altered gameplay. It is a tribute, not a direct reproduction.