Gameplay screen with Bloomberg terminal header, candlestick chart, amber session clock, and scrolling ticker tape
Circuit breaker game-over screen with market_halt banner, WCAG-compliant typography, and terminal-style menu
Circuit breaker layout variant with bordered button-style actions for new_session and fed_bailout
Circuit breaker layout with F-key shortcuts for rankings and remove ads actions
Compact circuit breaker layout with condensed menu and action buttons
Gaming · Mobile · SpriteKit

FLASH_CRASH.

The March 2020 S&P crash, as an iOS game. Tap to buy, gravity sells. Bloomberg terminal aesthetic, real candlestick physics, and a monetization model that keeps the leaderboard honest.

01
Bloomberg Terminal Aesthetic
Every pixel is monospace, data-dense, Bloomberg — not a generic game skin. Terminal header, amber session clock, OHLC candlesticks, scrolling ticker tape. Finance-adjacent players get the joke immediately.
Art DirectionTarget AudienceGenre Fit
02
Channel System Difficulty
Six price channels based on real March 2020 S&P levels (2863 → 2663) create a difficulty curve that feels authentic. Support lines are hidden for 1.2 seconds on each new channel — a deliberate surprise mechanic. Trap zones above resistance or below support apply exponential gravity, forcing panic tapping that mirrors real trading psychology.
Difficulty DesignReal DataTension Loops
03
Deterministic Physics Engine
Fixed 60Hz simulation engine completely decoupled from rendering. Deterministic physics means replay validation for anti-cheat actually works — same inputs, same outputs, every device. Critical when the leaderboard is the whole game.
Anti-CheatLeaderboard Trust60Hz Fixed Step
04
Dual-Leaderboard Monetization
Rewarded revive (“Fed Bailout”) lets players watch an ad to continue after circuit breaker — but revive runs get a separate leaderboard. Pure runs stay untainted. This preserves competitive integrity while monetizing casual players. $2.99 IAP removes ads entirely and makes revives free.
MonetizationFairnessStoreKit 2
05
Session Length Targeting
Gravity scales from 1x to 3.5x at 60 seconds, up to 10x at 4 minutes. Channels narrow from 100% to 60% over 90 seconds. Anti-bot tap throttling caps at ~20 taps/sec. These tuning levers create predictable session distributions: new players 10–25s, average 45–90s, skilled 2–4min — long enough to hook, short enough to retry.
Retention TuningSession DesignDifficulty Curve
Key Themes
Game Design Real-Time Data Viz
Stack
Swift SpriteKit SwiftUI StoreKit 2 GameKit Google Ads SDK
Workflow
/spec /plan /build /review /ship