Browser ports of classic games: why some stay up and others vanish
Last week a browser version of the original Halo made the rounds: open a page, and the 2001 Xbox shooter starts in a tab, with online play. By 7 October its address showed a Cloudflare phishing warning instead. Meanwhile a browser build of Crash Team Racing has sat on GitHub Pages without trouble. Both are built on decompiled code. The difference between them is a single screen.
How a game ends up in a browser
A decompilation rebuilds a game's code as C or C++ source. Source code can be compiled for almost anything, and that includes WebAssembly, the format browsers run at close to native speed. Toolchains like Emscripten do the heavy lifting. Once a game has been ported to PC from its source, a browser build is often not much extra work.
The code is only half of a game, though. Levels, models, textures, music and voice acting are data, and that data is still the publisher's copyrighted work. A browser port has to get it from somewhere.
Two kinds of browser port
The kind that asks for your file.
Crash Team Racing: High Octane's web build opens on a file
picker: select your own ctr-u.bin, a dump of the US disc, and the game starts. The page holds only the
project's code. Without your disc image, it has nothing to play.
The kind that starts straight away. If a page goes straight into the game, the game's data is coming from the site's server. Whoever runs that site is handing out the publisher's assets to anyone who visits, which is exactly what rights holders send takedown notices about.
What usually gets taken down
The pattern goes back years. In 2020, after the Super Mario 64 PC port appeared, Nintendo went after prebuilt copies, which contained the game's assets, and videos of them. The decompilation they were built from contains no Nintendo assets, and it is still on GitHub today. Code that needs your own copy tends to survive; ready-to-play copies of the game tend not to.
That's also why the same project can be safe in one form and gone in another. A port's official build that asks for your file is on firmer ground than a mirror someone else set up with the game's data already loaded.
How to tell before you play
- Does it ask for a file? A port built to use your own game will ask for it, usually on the first screen.
- Is the link from the project itself? Find the project's repository or site and use the link it gives. Mirrors and "unblocked games" sites copy popular ports and add the data.
- Does it want anything else from you? A game in a browser tab has no reason to ask for an email address, a login or a download. Copies of trending ports are an easy way to get people onto pages nobody is accountable for.
What FanGamesDB lists
For ports, our rule is the same as the first kind: the project ships its own code, and you bring the game. We link to the project's own page, never to mirrors, and we host no files. That's why OpenCE, the native Halo port that asks for your Xbox disc image, is listed and the browser Halo isn't. If a port needs files you don't have yet, our dumping guide covers where they come from.
Sources: Notebookcheck, CTR: High Octane on GitHub.