Nine timeless arcade games, reimagined for iPhone — stripped back to black & white, with an optional splash of colour. No accounts, no internet required. Just you and the high score.
Classic Arcade is a single, growing series: every title shares the same minimalist look and feel, the same calm philosophy, and the same one-thumb, pick-up-and-play design — built from a shared engine across nine apps.
THE LINE-UP
NINE GAMES
HOW IT PLAYS
ONE SERIES, NINE GAMES
GAMESNine classics, reimagined
LOOKBlack & white + a colour mode
PRIVACYNo accounts, no sign-in
INTERNETNot required — play anywhere
CONTROLSOne thumb. Pick up and play.
ENGINEERING
UNDER THE HOOD
SwiftSwiftUICanvasTimelineViewAVAudioEngineCore HapticsStoreKitProcedural GenerationZero DependenciesNext.jsVercel
- ▸Every frame is hand-drawn in a single SwiftUI Canvas, driven by a TimelineView(.animation) game loop — no SpriteKit and no UIKit views for gameplay.
- ▸Levels are generated procedurally and deterministically from a seeded SplitMix64 RNG — 500 per title, a 500-level campaign with 50 hand-authored bosses in Voidwave, and a 2,000-level road in Hyperlane.
- ▸All sound is synthesised at runtime as PCM buffers through AVAudioEngine — zero audio files — paired with haptics that respect the silent switch.
- ▸Bespoke physics, collision and opponent AI per game, tuned across three difficulties from a single configuration surface.
- ▸No third-party dependencies and no asset packs; every board reflows on rotation and resize from grid coordinates, not fixed pixels.
- ▸Fully offline and private by design — no accounts, no analytics, no servers, nothing leaves the device.
- ▸Shipped as one cohesive series sharing engine, controls and visual language across nine apps — plus this Next.js marketing site on Vercel, with a self-playing attract loop and a cursor-chasing snake.








