One self-contained file
Markup, styles and logic in a single HTML file. Nothing to install, nothing to bundle, and nothing to keep in sync.
No engine, no framework, no build step, no dependencies to update. Each of the twenty games draws its own artwork at runtime, generates its own sound, and runs the same from a web server, a folder on a disk or a sandboxed host.
Markup, styles and logic in a single HTML file. Nothing to install, nothing to bundle, and nothing to keep in sync.
Every shape is painted on a canvas each frame, so the artwork costs bytes of code rather than kilobytes of images.
Each sound is a short waveform generated with the Web Audio API as it plays. No audio files and nothing to preload.
The single-file rule is not nostalgia. It removes a whole class of problems at once: no version skew between assets, no half-loaded state, no build artefact that can differ from the thing that was tested, and no dependency that can be deprecated out from under a game.
The only thing to download is the file itself, so a game begins in the time it takes to fetch a small page.
All twenty games share the same platform layer — input guard, saving, pause handling, particles, frame loop — so one fix reaches every game at once.
Nothing is fetched while playing and scores are kept in local storage, so a game keeps working with the network switched off.
No analytics, no ad script, no font to download. There is no third-party code running inside a game.
Most of the work in a browser game is not the game. It is the timing, the input and the resizing, and each of those has its own way of going quietly wrong.
An engine would make some of this easier and all of it heavier. For games this small the engine would be the largest thing shipped, and it would be the part that ages — a dependency to pin, update and re-test. Writing the few hundred lines a game actually needs keeps the whole thing auditable: you can read a game from top to bottom and know exactly what it does.
Everything that is not the game is shared. The head, the styles, the stage markup, the Playables SDK guards, the audio layer, best-score storage, the on-screen input guard, particle feedback and the frame loop all come from one shell. A game supplies its layout, its opening state, its per-frame step, its drawing and its input bindings — and nothing else. That is what makes twenty games maintainable by one person.
Best scores are written to local storage in the player's own browser, and nothing is uploaded. Inside a sandboxed host the game uses that platform's own storage call instead, which is the only mechanism such an environment permits. There is no account, so there is nothing to sign into and nothing about a player held on a server.
Open any of the twenty games and view source. There is no minified bundle, no third-party code and no network request to trace.