Toolkit · Education
Retro Game
A historical life as a ten-chapter browser platformer.
The problem
Museum games are usually commissioned for tens of thousands of dollars, ship as a native app nobody downloads, and stop working after two OS updates.
How it works
Ten chapters spanning a life, each a short 2D platformer ending in its own mini-game and a learning recap. Forty fact achievements and twenty historically-motivated enemy types.
Worth knowing
Two things make this worth reading even if you never ship a game. Every sound is synthesized at runtime with Web Audio — there are no audio files at all, including ten chiptune themes and per-enemy defeat sounds. And the characters are drawn entirely in code, with the protagonist visibly ageing and changing costume across all ten chapters.
The mobile handling is the genuinely reusable part: touch controls build nothing on desktop and feed the same key handlers, and the iOS Safari 100vh-behind-the-toolbars problem is solved by measuring the visual viewport and letterboxing a 16:9 box inside the actually-visible area.
Content came from the institution's own digitized book collection, with dates and quotations verified against source texts.
Using it at your organization
- Listed as a reference rather than a fork-and-go — the content is deeply specific.
- The Web Audio, mobile-viewport and code-drawn-sprite techniques all transfer.
- Currently robots-blocked pending a public launch decision.
Stack: Vanilla JavaScript · Canvas · Web Audio · GitHub Pages
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.
Related tools
Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.


