02 Runtimes
Flash
For roughly fifteen years the browser was the largest games platform in the world: no install, no store, no gatekeeper, and one company's runtime underneath all of it.

The preloader was the only moment the platform showed itself to the player.
oujouer.com collection
The runtime that made the browser a games platform
For roughly fifteen years, one company's plugin was the closest thing the web had to a universal games console. You did not install it separately — not really; the browser handled that, or it came pre-installed, or a site prompted you once and you clicked yes without reading the dialogue. Then it was there, invisible, and so was everything built on it: animations, interactive toys, music players, cartoons, and eventually games elaborate enough to occupy an afternoon.
The technology started life elsewhere. FutureWave Software built a vector animation tool called SmartSketch, pivoted toward web animation, and by 1996 was shipping FutureSplash Animator. Macromedia acquired it that year and rebranded it Flash. The file format — .swf, for Small Web Format — was designed to be compact enough to load over a modem, and the player was a browser plugin that rendered those files. Macromedia also had the heavier Shockwave runtime, built around Director, and for a while the two coexisted, and for a while the two coexisted in a hierarchy: Shockwave for CD-ROM-grade multimedia, Flash for anything that had to arrive over a wire.
Adobe acquired Macromedia in 2005, and with it the plugin, the authoring tool, and the installed base — already enormous by then. The acquisition was worth roughly $3.4 billion, a figure that reflects how central the runtime had become to the everyday web. Under Adobe, Flash Player continued shipping, ActionScript matured through version 3, and the just-in-time compilation introduced in that era gave Flash games the performance to handle physics, pathfinding and real-time rendering in a way that felt genuinely surprising given the medium.
What the plugin made possible
The plugin model was architecturally simple and commercially consequential. A browser encountered a .swf embed, handed it to the plugin, and the plugin ran it inside a sandboxed process, isolated from the page around it. The sandbox was imperfect — Flash's security record was poor, and the patch cycle became a routine part of computing life — but it was good enough to let untrusted code run on hundreds of millions of machines without constant catastrophe. The authoring tool was expensive; the player was free. That asymmetry was the whole business model, and it seeded a culture of amateur and semi-professional game-making unlike anything that had existed before.
The portals grew around that culture. Sites assembled catalogues of .swf files, ran advertising against the traffic, and sometimes paid developers per play. The revenue was modest by studio standards but enough to sustain individuals working alone or in pairs. A game could be built in a weekend, submitted to several portals simultaneously, and be played by tens of thousands of people within days. The preloader — the small progress bar that appeared while a file downloaded, usually carrying a sponsor's logo — became so embedded in the experience that it was its own genre convention.

The manuals outlasted the plugin. Documentation is often the last part of a runtime still legible.
oujouer.com collection
ActionScript 3, introduced in 2006, was a properly typed object-oriented language compiled to bytecode and executed by the AVM2 virtual machine inside the player. Games built on AS3 could be complex enough that studios used them as portfolio pieces. The Newgrounds community and the portal networks it overlapped with produced work that is now understood as genuinely significant in the history of game design — experiments in mechanics, narrative and interface that the console market would not have funded.
The end and what it left behind
The end came in stages. Apple refused to ship Flash on the iPhone in 2007, and Steve Jobs's public letter of 2010 — "Thoughts on Flash" — articulated a critique that the industry had been murmuring: proprietary, battery-hungry, insecure. The browser vendors were already moving; HTML5 canvas and the Web Audio API were absorbing the use cases that had once belonged exclusively to plugins. Adobe announced in 2017 that it would end support for Flash Player at the close of 2020, giving the ecosystem three years to migrate. Most commercial publishers had already left. What remained was the archive: hundreds of thousands of games and interactive works with no obvious successor runtime.
Adobe ended support on 31 December 2020, and the browsers actively blocked the plugin from running — not merely stopped shipping it, but blocked it — which is a meaningful distinction in preservation terms. A file format becoming unreadable because software is no longer available is one problem; a runtime being actively prevented from executing is another. The installed base of Flash Player did not simply age out; it was switched off.

Director shipped on disc first and on the web second, which is why it never reached Flash’s install base.
oujouer.com collection
The preservation response split along two strategies. One was to collect the games themselves at scale: BlueMaxima's Flashpoint, a volunteer project, assembled a library of tens of thousands of titles together with the runtimes and proxy infrastructure needed to run them in a controlled environment. The archive runs locally, offline, with its own web server simulating the network calls that many games expected to make. The other strategy was to emulate the runtime itself rather than the games — to build something that could run arbitrary .swf files without needing the original player. That project is Ruffle, written in Rust and compiled to WebAssembly, which means it runs inside the browser without a plugin at all. The Internet Archive uses Ruffle to serve Flash content directly in the page; as of the time of writing, thousands of games are accessible there without any additional software.
Neither solution is complete. Ruffle's ActionScript 3 support has lagged behind AS1 and AS2 compatibility, and games that made runtime network requests — loading external assets, checking licence servers, posting scores — broke in ways that no emulator can fully repair, because the servers are gone. What the emulator preserves is the interpreter; what it cannot preserve is the infrastructure that surrounded it. The games that survive cleanest are the ones that shipped as self-contained files, everything bundled into a single .swf, no external dependencies. Those are also, not coincidentally, the games that most feel like the era they came from.
For roughly fifteen years, one company's plugin was the closest thing the web had to a universal games console.
Flash's fifteen years left a body of work with no physical media, no boxed editions, and no institutional stewardship at the time of creation. The platform that produced more browser games than any other was entirely dependent on a single company's plugin, and when that company withdrew it, the games went with it — except where preservation projects moved faster than bit rot.

Distributed, installed, withdrawn — the disc outlived the software’s reach.
oujouer.com collection