How we work

What we changed in the open-source games

Published 2026-08-26

Thirteen of the games here were built by our studio. The other twenty-one are open source, and we host every one of them ourselves rather than pointing an iframe at somebody else’s server. That is a deliberate choice with real consequences: it means no third-party ads run inside our pages, and it means when a game has a problem, fixing it is our job.

Checking the licence first

Before any game is copied, its licence gets checked in three separate places, because they disagree more often than you would expect.

The licence file is the claim. The source files are the reality, and we have found projects whose licence file says one thing while every source file carries a different, much stricter header. The README is where the real trouble hides, because code and artwork are licensed separately and the artwork is usually the half with the problem.

We have turned down games for exactly this. One racing game had genuinely permissive code, and a README admitting the car sprites were lifted from a commercial arcade game and the music was cleared for that project only. Perfect licence, unusable game. Two others carried a permissive licence file and a much more restrictive header inside every source file.

The automated licence label that code-hosting sites display reads one file and guesses. On three of those projects, it guessed wrong.

What actually got fixed

ReversAi drew its board at a fixed 508 pixels. On a phone that is wider than the screen, so the last two columns were cut off and the game could not be played properly. The board now derives its size from the screen it is on. No game logic was touched.

Five games from the LittleJS Arcade (Mini Golf, Moon Lander, OrbitSwarm, Pegball and Pinball) shipped without a mobile viewport setting. A phone handles that by pretending to be a desktop and scaling the result down, which leaves everything soft and small. One line each.

Nine games were using a gameplay screenshot as their icon. Screenshots make terrible icons: at the size an icon is actually displayed, all the detail turns to mush. We drew each of them a real one.

One game was carrying instructions for search engines to treat our copy as the authoritative version of someone else’s page. That was a leftover from the original project and would have sent search traffic to the wrong place. Removed.

What a real device found that a test script did not

Every one of these games had already passed our automated checks. We then sat down with an actual Android phone and opened all of them, and that is when the interesting problems turned up.

A brick-breaker game was laying out its court at a fixed 640 pixels with no breakpoint below it. On a phone that is 250 pixels wider than the screen, so the right-hand wall, the paddle and half the bricks were simply off the edge. It was not playable, and nothing automated had noticed, because the page loaded and the game ran perfectly. It just ran somewhere you could not see.

An Othello board had the same problem in a worse place: its colour picker overflowed the viewport, so the “White” button sat off-screen and a new game could not be started at all on a phone. Both now have a mobile layout.

One game shipped a “Get APK” button, plus two more download buttons in its settings and a call out to a code-hosting API on every load, all left over from being distributed as a standalone app. We do not hand out app binaries. The only install link anywhere on this site goes to an official Google Play listing.

Another carried a notice telling our visitors that every copy of it except the original was a fake, with a link away to that original. It is a reasonable thing for its author to have written and a strange thing to serve on our own page, so the notice is gone and a proper credit is in its place. The same game was explaining how to play using arrow keys, on a device with no keyboard.

Two games were loading fonts from a third party on every visit, which sends the visitor’s address to that third party for nothing in return. Both now use the fonts already on the device.

One game’s menu called itself a clone of a commercial title, in artwork. We redrew the artwork.

What we do not host

One game we had taken was, on closer reading, a personal gift. It was written in another language, dedicated by name to someone the author knows, and its ending opens a private message to them. The licence permitted us to host it. That did not make it ours to put advertising next to, and a visitor here would have had no idea what they were looking at. We took it down. A permissive licence answers the legal question, not the question of whether something belongs on your site.

What we do not change

Game logic. Balance. Art, beyond the icon. If we thought a game needed its rules rewritten, the honest thing is not to host it.

Every open-source game keeps its licence file, and its author, licence and original project are credited on its own page and on our credits page. That is a condition of the licences, and it is also just correct.

Games mentioned here