A faithful NES Super Mario Bros clone built with TypeScript and Canvas 2D. Play the original 1985 World 1-1 in your browser. Zero dependencies.
🎮 Play Online · 📖 中文文档
- 1:1 level recreation — faithful World 1-1 layout, physics, and enemy AI from the NES original
- Authentic audio — BGM and sound effects with notes decoded byte-by-byte from the NES ROM disassembly
- Complete game loop — TIME countdown, GAME OVER, flagpole, time bonus, fireworks
- Power-ups — Super Mushroom, Fire Flower, Star, Fireballs
- 168 unit tests — zero runtime dependencies, 51 KB single-file build
- Built by AI — every pixel, note, and physics constant written by an AI agent
| Key | Action |
|---|---|
← → |
Move left / right |
SPACE |
Jump (tap = small, hold = high) |
SHIFT |
Run / Throw fireball (as Fire Mario) |
npm install
npm run dev # dev server at localhost:5173
npm test # run 168 tests
npm run build # production build → dist/index.html (single file)Or just download the latest release and double-click index.html — no install needed.
TypeScript · Canvas 2D · Web Audio API · Vite · Vitest
This project was built entirely by an AI coding agent in a single session — from blank canvas to a fully playable game with 168 tests.
The development process was orchestrated by superpowers, an open-source skill framework that brings structured workflows to AI agents: brainstorming → spec → plan → TDD → code review → merge.
Every pixel, every note of the BGM (decoded byte-by-byte from the NES ROM disassembly), and every physics constant was written by the AI — not copied from existing tutorials or repos.
The human's role? Specifying what to build, reviewing designs, and playtesting. The AI did the rest.
MIT — code is free to use, modify, and distribute.
Note: Mario and Super Mario Bros are trademarks of Nintendo. This is a fan-made clone for educational purposes, not officially affiliated with or endorsed by Nintendo.

0 comments
log in to comment.