Each wave is a different disaster lineage — blizzard, wildfire, flood, tornado, meteor, glacier. Survivors breed: geometry, size and speed mutate every generation. Fixed towers auto-engage; possess any turret for first-person fire.
Wave 0 · choose Start Wave
🏙️ CRYSTAL CITY SIMULATOR
Every settlement grows as a mineral: a form (lattice that sets block layout) and a habit (growth shape that sets massing). Population drives block count, height, road tier and traffic. 100 simulated years pass every 60 seconds at 1×.
Corridors upgrade with demand: track → gravel lane → two-lane → four-lane divided → six-lane freeway with medians, overpasses and ramps. Vehicles snap to lane centres, pass slower traffic, and merge at interchanges.
—
AI drivers
📦 GLB CHARACTER GARAGE
Drop in one or many .glb/.gltf characters. Each becomes a drivable car prim on the map; as cities grow, an emergent number of them spawn as AI drivers using the intercity highways as tracks.
No model loaded
🛰️ REAL-WORLD GPS IMPORTER
Import GPX, KML, GeoJSON, or CSV (lat,lon[,name]). Points inside the Minnesota frame become world markers; ordered tracks become a drivable route. You can also drop a live device fix.
No GPS data loaded
🎬 MUSIC VIDEO LAB
60fps canvas or screen/tab capture with an MP3 soundtrack mixed directly into the recording. MP4/H.264 + AAC is preferred; WebM is used only when the browser cannot encode MP4.
No MP3 loaded
🎵 Music
Recorder idle · load an MP3 to dub play
📡 WAKE MULTIPLAYER
Auto-named PeerJS pilots share position, active turret, aim/fire events, simulation year and chat. The first client becomes the Wake relay; later clients auto-join.
starting…
1750100 years / 60 seconds
🛡️ STRATEGY · click a turret to possess
🛡️ G strategy · T/Tab turret · N city · J drive · H lane assist · WASD · Shift boost · Space fire/next · Y timeline · V camera · P photo
Minnesota elevation: AWS Terrarium/Mapzen · color: Esri World Imagery + ordered dither · Lake Superior depth scale: NOAA · boundaries: Natural Earth / US Atlas