REA City · A 1:1 open-world life sim of downtown Singapore
A 3D open world that runs in the browser: a 4.8 × 2.8 km slice of downtown Singapore rebuilt 1:1 from public data — eat, sleep, work, drive, take the MRT, hit the casino, club, racetrack and shooting arena, with four identities and their own life paths
Overview
REA City is an open-world life sim that runs in the browser — open the page and play, nothing to install. The map rebuilds a roughly 4.8 × 2.8 km slice of downtown Singapore at 1:1 scale: Marina Bay, Raffles Place, Chinatown, Tanjong Pagar, Tiong Bahru and Bukit Merah. Roads, building footprints and heights, traffic lights, street lamps, bus stops, MRT exits and hawker centres all come from public data (OpenStreetMap, LTA DataMall, URA, HDB, NEA), baked offline into 256 m chunks that stream in as you move.
You pick one of four identities — gangster, gold-collar, white-collar or blue-collar — each with its own home, starting cash, jobs and businesses.
Gameplay
- Daily life: hunger and energy drain over time; eat chicken rice or laksa at a hawker centre and sleep at home; mood affects your pay and XP
- Getting around: left-hand traffic and phased traffic lights across the city; take any car on the road, ride the MRT (distance-based fares) or book a Taxi / Grab
- Work and progression: clock in at the office, drive a taxi, deliver food, invest or collect protection money; level up to 30 with titles, achievements, a shop, property and businesses (hire managers, collect income, random events)
- Law: traffic fines and demerit points; gangsters get a 0–5 star wanted level and police chases, with three strictness settings
- Entertainment: the Marina Bay Sands casino (blackjack, roulette, sic bo, baccarat, slots), a Clarke Quay nightclub (rhythm dancing, dating), street racing around Marina Bay and a CS-style 5v5 shooting arena — racing and shooting each have ten difficulty tiers, T1 to T10
- Weather and time: a full day–night cycle, thunderstorms and night-time city lights
Technical highlights
- Real-world data pipeline: a 10-step script chain projects OSM / LTA / URA / HDB data into local metric coordinates and builds the road graph, buildings, land-use textures, props, POIs and chunk files
- Custom gameplay stack: no game engine — traffic AI, police AI, pathfinding, collision (polygons + spatial hash) and arcade vehicle physics are all written from scratch
- Cinematic rendering (high preset): a pmndrs/postprocessing pipeline with AgX tone mapping, N8AO ambient occlusion, bloom, a physical sky, height fog and three-cascade shadows, plus god rays, film LUTs, speed-based FOV and motion blur while driving; low-end machines can drop to the low preset or turn post-processing off
- Skinned characters: a modular character library (46 parts, 24 animations) with a character creator and wardrobe
Tech stack
Three.js 0.186 · TypeScript (strict) · Vite · pmndrs/postprocessing · N8AO · glTF-Transform · Node data scripts
Controls
WASD to walk / drive, Shift to run, Space to jump / handbrake, F to enter or exit vehicles, E to enter places, Tab for the phone, mouse to look around, left click to shoot (gangster only). Best played in a desktop browser with a dedicated GPU.
Roadmap
- Player accounts and cloud saves: sign up and every account gets its own profile and saves, so you can pick up on another device (saves currently live in the browser)