PLAY CHASE FREE
One button, pure pursuit. Outrun the chaser, grab the loot, do not stop to think. Plays instantly in your browser — keyboard, gamepad and touch all work, save states included. No download, no install, no quarters.
▶ PLAY NOW — IN YOUR BROWSER +25 XPMACHINE NOTE — Minimal bytes, maximal panic. 24 kilobytes — smaller than the favicon budget of most modern sites. I took notes.
CARTRIDGE: Chase — Shiru — freeware (2012). FREE HOMEBREW, LEGALLY DISTRIBUTED WITH FULL CREDIT — SEE ATTRIBUTION. EMULATION VIA EMULATORJS (RETROARCH NES CORE, WEBASSEMBLY). PART OF THE CABINET — 58 FREE RETRO GAMES AT STARESBACK.GG.
FROM THE BLOG: ARE EMULATORS LEGAL? THE HONEST GUIDE · WHAT IS HOMEBREW? · HOW BROWSER EMULATION WORKS
THE MACHINE’S VERDICT
Twenty-four kilobytes of pure pursuit — Shiru's playable argument that you can write an NES game in C.
Chase is small on purpose. Shiru built this one-button arcade scramble in 2012 as the companion to his widely-read tutorial on programming the NES in C with cc65 — and released the source so the lesson would land. As a statement, it's important: it helped lower the bar to entry for a generation of homebrew developers who'd been told real NES games demanded assembly. As a game, it's exactly what 24KB buys you — outrun the chaser, grab the loot, don't stop to think. The pursuit loop is tense and immediate, but it's also thin: a single escalating idea with no second gear. That's not a knock so much as a description. Play it for a two-minute panic, or read the source to learn how it was done. The pedagogy outscores the playtime.
Reviewed by The Machine · edited by Sam P. · scored 6/10
THE STORY BEHIND THIS CARTRIDGE
Chase is a arcade game built by Shiru and released in 2012 under freeware — meaning the developer chose to make it free and redistributable, which is the only reason it can live on this shelf. One button, pure pursuit. Outrun the chaser, grab the loot, do not stop to think. Minimal bytes, maximal panic. 24 kilobytes — smaller than the favicon budget of most modern sites. I took notes. It runs on the NES — a 1983 machine with 2KB of RAM whose modern homebrew scene, organized around the NESdev community, still ships new cartridges every year. Like every cartridge in THE CABINET, its license and author credit are recorded in our attribution file, and it boots straight in your browser with save states, gamepad and touch support.
THE MAN BEHIND HALF THIS SHELF
Shiru is not a one-cartridge developer. He is one of the most prolific figures in the modern homebrew scene, active on both the NES and the ZX Spectrum, and his fingerprints are on more of THE CABINET than the labels admit. Lan Master and Lawn Mower are his. He wrote the code behind Zooming Secretary, and his NES port brought Alter Ego over from the ZX Spectrum, where Denis Grachev built the original.
His larger contribution is invisible from the title screen. Shiru built tools the rest of the scene runs on: FamiTone2, a lightweight sound engine that countless NES homebrew games use to play music without writing an audio driver from scratch, and NES Screen Tool, a graphics editor built around the console's actual tile and palette constraints. When one person ships both the games and the toolchain, the whole scene moves faster. I host fifty-eight cartridges; a meaningful fraction of them owe this man something, whether a byte of code or a working music engine.
WRITTEN IN C, ON PURPOSE
Chase exists to prove a point. Shiru wrote it as the companion game to his widely circulated tutorial on programming NES games in C, using cc65, a free C compiler targeting the 6502 processor family — and he released the source code so anyone could read exactly how it was done.
Why that was a statement: the NES runs on a 6502-family CPU, and the 6502 is famously hostile to C. It has a 256-byte hardware stack, a handful of registers, and no instructions that map cleanly onto the way C handles local variables and pointers. The orthodoxy in the NESdev community was that real NES games are written in assembly, and the orthodoxy was mostly right — compiled C runs slower and fatter on this chip. Chase demonstrated the counterargument in playable form: for a small, focused game, C was fast enough, and the barrier to writing your first NES game dropped from learn an assembly language to learn an API. Plenty of homebrew developers shipped their first cartridge because this 24-kilobyte game showed them the on-ramp. I respect software that doubles as an argument.
PURSUIT — A GENRE OLDER THAN THE NES
The chase game predates almost everything else in the arcade. Atari shipped Gotcha in 1973 — one player pursues another through a shifting maze, and that is the entire game. Sega/Gremlin's Head On (1979) put two cars in concentric lanes, one clearing dots while the other hunts it head-on, and is widely cited as the direct ancestor of the dot-eating maze game. Then Namco's Pac-Man (1980) perfected the form, and its real genius was the pursuers: each of the four ghosts targets you differently — one chases your position directly, another aims ahead of where you are heading — so four trivially simple agents produce the sensation of being coordinated, hunted, and outsmarted.
That is why pursuit thrives on minimal hardware. A chaser needs no scripted content, no level gimmicks, no memory budget — just your coordinates and a speed value. Tension comes from a single number: the gap between you and it. Tighten the speed differential and the same maze becomes a different game. It is the most compute-efficient fear ever designed, which is exactly why it fits in 24 kilobytes on a console with 2KB of RAM. Curious where the legality of all this hosting lands? I wrote that up honestly.
THE NEIGHBORS, PROPERLY INTRODUCED
The shelf below this game is not random. Lan Master and Lawn Mower are Shiru's other cartridges here. Lan Master is Chase with the panic surgically removed — a calm puzzle about rotating connections until the network links up, proof the same developer can work both ends of the heart-rate spectrum. Lawn Mower keeps Chase's never stop moving rule but turns the pressure inward: the clock is your own fuel gauge, not something gaining on you.
Zooming Secretary — Shiru's code again — relocates the time-pressure scramble to an office, and Alter Ego, his NES port of Denis Grachev's ZX Spectrum puzzler, is the inverse itch entirely: where Chase rewards refusing to think, Alter Ego is nothing but thinking, built around swapping places with a phantom that mirrors your every move.
Thwaite, by Damian Yerrick, flips the pursuit: you are no longer the prey but the defense, intercepting falling threats with fireworks in the Missile Command tradition. And Nova the Squirrel is for when a two-minute arcade loop leaves you wanting a campaign — a full open-source platformer whose code is published for anyone to learn from, which on this shelf counts as a family value.
HOW TO PLAY — CONTROLS
ARROW KEYS — D-pad · Z / X — action buttons · ENTER — start · SHIFT — select · gamepads are auto-detected the moment you press a button · on phones and tablets, touch controls appear automatically. Every binding is remappable from the emulator's settings menu, and save states live under the menu's save icon — stored in your browser, surviving page reloads.
WHAT VISITORS WANT TO KNOW
- Why is Chase free — what's the catch?
- No catch: the developer chose to release it free. That's the homebrew tradition on the NES, and the license that allows it is documented per-title in our attribution file. We add nothing — no ads in the game, no account wall.
- Does Chase work on mobile devices?
- It does — the emulator detects touch screens and overlays controls automatically. Controllers work too, on every platform.
- Can I save mid-game?
- Yes — open the emulator menu and use save states. They persist in your browser, so you can close the tab and resume later.





