PortfolioCase study
SC-01Live · browser game
Slag City
Insert coin. The browser is the cabinet.
An original arcade beat-’em-up that runs in your browser — one complete stage, on a desktop cabinet or a phone. Coins are free.

3
bosses in one complete stage
Structural
10 s
continue countdown, coin-op style
Structural
Evidence keyStructural
Why it exists
Dino Arcade can’t be published. An original game can.
The emulator cabinet is fine for private play and can never ship. The goal became a publishable, original arcade beat-’em-up with wholly original IP.
…a publishable, eventually commercial, original arcade beat-’em-up… with wholly original IP.
The game
Attract, insert coin, fight, continue, initials.
A side-scrolling brawler that behaves like a coin-op cabinet, with a story told in an eight-slide intro and the boss dialogue.




Decisions
Deterministic underneath, arcade on top.
- Could have
- Game logic tangled into the renderer
- Chose
- A pure, deterministic core with a seeded RNG
- Because
- Recorded input replays are hashed in tests, so a behaviour change fails a golden.
- Could have
- Separate code per input device
- Chose
- Keyboard, gamepad and touch feed one input frame
- Because
- Every device drives the same game, desktop cabinet or phone.
- Could have
- Ship sound files
- Chose
- Synthesise audio in the browser
- Because
- Web Audio makes every sound; there are no audio files.
How it works
One input frame, one pure core.
- Keyboard · gamepad · touch
- One input frame
- Pure coreseeded RNG, no rendering
- Phaser 3 scenedraws the frame
- Web Audiosynthesised sound
Evidence
Live since 16 September 2026 — no numbers yet.
The game is live and its repository is public. No players, sessions or scores have been recorded.
What isn’t measured
- No users or usage data are recorded.
- No lessons-learnt file exists yet.
Sources
Everything here is backed by a real artifact.
- Readme
- PRD
- Build ledger
- Evaluation