NEVERGONNA .lol
CREATOR DOCS

Ship a game in about five minutes

Every title here is a plain browser game in a sandboxed iframe. No engine, no build step, no backend. If it runs from a folder with an index.html, it runs here.

1

Write the game

One folder. An index.html, a canvas, and your JavaScript. Keep the whole thing under 16 MB. Load the SDK before your own script:

<script src="/static/js/ng-sdk.js"></script>
2

Talk to the shell

Four calls is the entire contract.

NG.ready()assets are up; the loader may show PLAY
NG.onStart(fn)fires when the player presses PLAY
NG.score(n)optional; drives score-based triggers and the leaderboard
NG.lose({score})run over — the shell takes it from here

There is also NG.progress(loaded,total) if you stream your own assets, and NG.win() if you are feeling generous. You never need to know where the player is sent — that is set per game and can change without touching your code.

3

Upload it

Zip the folder, or drop in a single .js file and we will wrap it in a canvas for you. Pick what ends the run — the player losing, a timer, or a score — and where they land afterwards.

Open the creator panel

EASY MODE Let an agent do all of it

You do not have to read any of the above. There is a machine-readable build spec at /build.md — point your coding agent at it and it writes a working game.

Generate my build spec
Build the game described at nevergonna.lol/build.md — read the whole file first, then follow it exactly.

Sign in first and you get something better: a personalised spec at your own URL, carrying your title, theme colour, ending and a publish token. Your agent then uploads the finished game by itself — no zipping, no upload form, no coming back here. It lands as pending for review, and you can play it immediately.

Or paste this prompt yourself

Paste this into Claude Code or Codex. It produces a folder that drops straight into the uploader.

Build a single-folder browser game for nevergonna.lol, a satire site that hosts
fake "leaked" versions of famous games. The joke: the game is playable and
looks good, but it is rigged to end within about 30 seconds, and the site then
rickrolls the player. My game must NOT implement the rickroll itself - the
host page does that.

Deliver exactly this folder:

  <slug>/
    index.html     canvas + <script src="/static/js/ng-sdk.js"> then game.js
    game.js        the whole game

Hard requirements:
- Vanilla JavaScript, Canvas 2D. No libraries, no build step, no imports, no
  network requests, no external assets. Draw everything procedurally and
  synthesise sound with the Web Audio API.
- Fixed internal resolution, scaled to fit with devicePixelRatio handling, so
  it is sharp on any screen. Letterbox rather than stretch.
- Fixed-timestep update loop, decoupled from rendering, so it plays the same
  on a 60 Hz and a 144 Hz display.
- Good-looking: parallax, particles, screen shake, glow, easing. Aim for
  "polished arcade", not "programmer art".
- Keyboard controls, listed on the title card. Also accept touch if it's easy.

The host contract, in full:
  NG.ready()                 call once when assets are built and you can render
  NG.onStart(fn)             fn runs when the player presses PLAY in the shell
  NG.score(n)                report the current score whenever it changes
  NG.lose({score: n})        call the moment the run ends. Then STOP the loop
                             and leave the last frame on screen - the shell
                             fades its own panel over the top.
  NG.win()                   only if winning is genuinely possible

The rig: play fair for the first ~12 seconds so it feels like a real game, then
escalate the difficulty until it is unwinnable. Make the escalation look like a
bug in a leaked build - a spawn rate that runs away, physics that stops being
reasonable - not like the game cheating. The player should lose within about
30 seconds and want one more go.

Theme: <describe your fake leaked game here, e.g. "Minecraft 2 nether update">

Write the two files in full, no placeholders and no TODOs.

House rules

  • Original work only. Don't upload anyone's actual leaked build — the joke is the point, the crime is not.
  • No network calls out of the sandbox. The iframe has no same-origin access and a CSP that blocks it anyway.
  • Nothing that pretends to collect a password, a card, or an account.
  • Uploads are reviewed before they go live.