Bytelane

About Bytelane

Every game on this shelf was made by somebody else. This page explains how each one got here, what the site stores in your browser, and how to ask for a removal.

Where the games come from

Nothing here is written by this site. Every game is taken from its author's own repository at a fixed commit and copied in as-is, so a game cannot silently change under you and a build is reproducible from the repository alone.

  1. upstream/manifest.json pins one repository, branch and commit per game.
  2. node scripts/fetch-upstream.mjs clones exactly those commits into upstream/<slug>/.
  3. bash scripts/vendor-all.sh runs scripts/vendor/<slug>.sh, which copies the game into public/games-runtime/<slug>/.
  4. Anything a game needs beyond a verbatim copy lives in patches/<slug>/ and is recorded on the credits page.

Games are never rewritten into this site's framework. Each one is served from its own folder and runs in its own frame, so a game's code cannot reach into the page around it, and the page around it cannot reach into the game.

Removing a game

If a game is broken, the most useful place to say so is that game's own upstream repository, which is linked from the game's page and from the credits table. Bugs in this portal, wrong attribution, or a licence we have misread are ours to fix.

If you hold the rights to a game listed here and want it gone, it will be removed without an argument. There is no negotiation step and nothing to prove. Every copy of Bytelane is self-hosted, so the request goes to whoever operates the copy you are reading, and the whole change is three steps:

  1. Delete the game's data module at src/data/games/<slug>.ts.
  2. Remove its entry from upstream/manifest.json and its vendor script.
  3. Delete public/games-runtime/<slug>/ and rebuild.

The game's pages stop being generated on the next build, and the credits table stops listing it as playable. Nothing in this project depends on a game staying.

What is stored, and where

No cookies, no analytics, no tracking pixels, no advertising, and no requests to anybody else's server. Fonts, scripts, styles and images are all served from this domain, so loading a page here does not tell a third party that you visited.

Three things are kept in your browser's own storage, and only so that the site remembers what you told it. They never leave your device, because there is nowhere for them to go: this site has no backend and no database.

bytelane:favorites:v1
The slugs of games you starred, as a list.
bytelane:recent:v1
The last eight games you opened and when, newest first.
bytelane:prefs:v1
Your display preferences: whether the scanline overlay is on, and whether motion is reduced.

Clearing site data for this domain removes all three. With storage unavailable or disabled, the games still play; the site simply forgets your favourites between visits.

Accessibility

The portal is built so that reading it and reaching a game never depends on JavaScript. Every game, genre and play link is a real anchor in the HTML, there is a skip link to the main content, focus outlines are kept visible, and the scanline overlay and other motion are suppressed when your system asks for reduced motion.

Games run in frames, so they take keyboard focus when you click or tab into them, and your browser's own fullscreen and zoom controls keep working. Controls for each game are listed before you launch it, in text.

What we cannot promise is the inside of a game. Each one is somebody else's work, written years before this site existed, and their own accessibility is theirs to decide. If a specific game is unusable with a keyboard or a screen reader, say so and we will note it on the game's page.

How the pages are made is part of that: static HTML generated by Astro 7, with React 19 islands for the three things that genuinely need to hold state, which are the game browser, the launcher and the display preferences. Styling is Tailwind CSS v4 over a small set of design tokens, TypeScript runs in strict mode, and the whole site is served as static assets from Cloudflare Workers, so every page is the same bytes for every visitor.

The credits page lists the typefaces and the software, with licences.

Nothing on this shelf is written by this site. Every game belongs to the person who made it.

Games listed
21
Playable here
18
Documented only
3
Trackers
0