Skip to content

Five On It — Game design document ​

How to use this document (for humans and LLMs). This is the single source of truth for what the game is. It is written to be pasted into an LLM's context before asking for code, levels, missions, dialogue, art briefs or tests.

  • Terms in bold in §2 are the canonical vocabulary. Use them exactly.
  • Tags: [V1] is in the first shippable release; [NEXT] comes in the first updates after it; [LATER] is not to be built unless explicitly requested. The Today columns say what the repository already has (built, partial, planned) as of 2026-10-04, version 0.18.0.
  • This document is also the brief of the AI that turns a player's words into a game: §5, §9, §10 and §15 are written so the MCP integration can hand them to Claude as they are.
  • Anything not covered here is an open question (§19), not an invitation to invent. Ask or leave a TODO.
  • Engineering (stack, netcode, the platform API, the MCP server, the generator, tests, milestones) lives in TECHNICAL_SPECS.md. Do not restate it here; refer to it.

1. Overview ​

Title: Five On It.

One-liner: A top-down, low-poly, satirical open-city sandbox where anyone can describe a game (a city and the missions in it) to Claude and play it with friends minutes later.

Elevator pitch: GTA2's camera and pace in a real 3D toy city. Cars drift, guards doze off (stealth in the spirit of Metal Gear Solid 2, simplified), and a phone in your pocket unlocks cars, opens gates and texts your contacts. The game ships with five Curated games built by the developer from the same Blocks players get. Everything after that is made by players: you describe a place and a story ("a harbour town at night; smuggle three crates past a corrupt customs office before the ferry leaves") to Claude in Claude Code, or, owning the game on Steam, in a brief written in the game itself (planned), and an AI turns it into data through the game's MCP integration, the server builds and checks it, a Room opens, and you play it alone, with friends, or with whoever joins.

Design pillars (use them, in this order, to resolve conflicts):

  1. Building blocks, not features. Every mechanic ships as a Block with parameters, anchors, events and actions, documented so the AI can use it. A mechanic that cannot be expressed as a block is not finished. The curated games use only public blocks: if the developer needs something, players get it too.
  2. Everything a player makes is data. Levels and missions are documents in a fixed vocabulary. The AI writes data, never code; the server builds and checks every document before anyone plays it.
  3. Moving through the city is the game. Driving, chasing, sneaking and escaping must feel good before anything is layered on top. A block that makes none of them better waits.
  4. Readable from above. Everything must be understandable at a glance from the top-down camera: silhouettes, colours, markers.
  5. Multiplayer by default. Every game is played in a shared room. Systems should create stories between players.
  6. Satire, not cruelty. The city mocks institutions, trends and hustle culture. It never mocks victims, real people or protected groups. Player-made games follow the same rule.

Platforms: the desktop app (Windows, macOS, Linux) and the web browser, running the same client [V1]. Creating happens in Claude Code with the five-on-it MCP integration, on the creator's own Claude subscription [V1], and in the game for its owners on Steam, on the platform's one model under a monthly cap (decided 2026-10-16, planned); playing needs nothing but the game. Mouse and keyboard only, the keys remappable.

Session shape: a Game is played in Rooms of 1–32 players, opened on demand and closed when empty. Drop-in, drop-out. Missions last 3–20 minutes. A multiplayer mission is played in a Run, a room of its own for the players a Lobby gathered, and the lobby then takes them on to the next mission, on any level (built, §13).

2. Canonical vocabulary ​

TermMeaning
PlayerA person playing. Has a Character, and sometimes a seat in a Vehicle.
CreatorA player who makes Games: in Claude Code with the five-on-it MCP integration (anyone with a Claude subscription), or in the game, from a brief, if they own it on Steam (planned).
CharacterThe on-foot avatar. Seated and visible in open vehicles, hidden in closed ones.
VehicleAnything drivable. Has a Vehicle class (§6.1), seats, an owner and a lock.
NPCA computer-controlled character or vehicle driver. Has a Role.
RoleWhat an NPC is for: civilian, driver, guard, police, contact, target, VIP, shopkeeper.
BlockA reusable building piece of games: a look, a behaviour, parameters, anchors, events and actions (§5).
Block catalogueThe list of every block with its documentation. The only vocabulary the AI may use.
PieceThe look of a block: a low-poly model from a kit.
AnchorA named point on a piece: a door, a seat, a parking bay, a spawn point, a camera mount.
PlaceA named point or area of a level that missions refer to, such as docks.warehouse_7.
ZoneAn area with a purpose: pickup, drop-off, checkpoint, restricted, safe.
PathA named route: a patrol, a race, a bus line.
LevelThe playable space: ground, roads, pieces, places, zones and paths.
Level specThe short description of a level the AI writes (districts, roads, landmarks). The Generator turns it into a level.
GeneratorThe program that builds a level from a level spec and a Seed, the same way every time.
SeedThe number that makes the generator's choices repeatable.
MissionA data document of Objectives, Triggers, Conditions, Actions, actors, dialogue and rewards (§9).
ItemAnything carried: a key, a keycard, a document, a weapon, cash, the Phone (§7.4).
ContainerAnything that holds items: a character's inventory, a trunk, a locker, a crate, a shop.
PhoneThe item that holds Contacts, Apps and messages (§7.5).
AppA text-based phone screen defined as data. Its buttons run mission actions.
GameA published bundle: one level, its missions and its rules, pinned to the versions it was built with.
DraftA game being made. Private to its creator.
RoomA running instance of a game on a game server.
RunOne play of one mission in a room of its own, for a fixed roster of players in Teams (planned, §13).
TeamThe players of a run who share its objectives: a co-op mission has one, a versus mission two or more.
LobbyWhere players gather for a run, see its rules, get ready and vote on the next one (built, §13).
Curated gameOne of the games shipped by the developer (§11).
ValidatorThe checks every level and mission must pass before it can be played.
AwarenessWhat an NPC has noticed: seen, heard, remembered (§8).
Alert phasenormal, suspicious, alert, search, caution (§8).
StatusA character's state: awake, stunned, knocked out, asleep, down, dead (§8).
Heat / Wanted levelHeat (0–100) builds up from crimes and decays; its thresholds set the Wanted level, 0–5 stars (§12).
Cash / RepThe in-game currency and reputation, kept in the room (§14).
RespectAn account's standing across every game, earned by playing runs well, shown as one of five tiers (§14).
Safe zoneAn area where players cannot hurt each other or steal cars.

3. Player experience ​

3.1 Two loops [V1] ​

The play loop:

browse games (curated, featured, friends', your own) ─► open or join a room ─► spawn
   ─► missions: drive, sneak, talk, use the phone, pick up and hand over items
   ─► rewards (Cash, Rep) ─► rate the game ─► the next mission, or the next game

The create loop:

describe it to Claude in Claude Code ("a hill town with a rally track and a heist at the bank")
   ─► Claude drafts a level spec and missions ─► the server builds and checks them
   ─► preview in the real renderer ─► playtest, alone or with friends
   ─► refine by talking ("bigger docks, a second escape road, sleepier guards")
   ─► publish (private link, public) ─► others play, rate and remix it

Minute to minute: read the minimap, pick a route, drift through a corner, slip past a guard's vision cone, unlock the getaway car from the phone, lose the cops in the tunnel.

3.2 What makes a session memorable ​

  • A friend describes your part of town as a heist town, and ten minutes later you rob it together.
  • The guard you put to sleep wakes up just as your partner drives past.
  • Two players' missions collide in one room: one escorts the van the other was told to steal.
  • A stranger's game turns out to be great, gets featured, and you remix it.

3.3 Player fantasy ​

Getaway driver, quiet operator, and director of your own small city. Violence is slapstick and vehicular, every mission that matters has a non-lethal way through, and consequences are cartoonish.

4. Camera and presentation ​

AspectDesignToday
CameraPerspective, looking down 18° off vertical; follows the player, rises smoothly with speed (30–52 m by default; the player can turn it off or set how far and how quickly) to show more road ahead, leans toward the cursor on foot. No free camera. North is up the screen and east to its right; directions and degrees shown to players follow it (bearings clockwise from north).built
WorldA real 3D low-poly city: buildings with real height, bridges, tunnels, car parks with ramps, hills. Roofs fade when the player is underneath (tunnels, decks). Walk-in buildings, simplified and of one style: a building's ground floor is walked into under upper floors that fade over the player like a tunnel's roof (decided 2026-10-07: the bank's hall and vault in Downtown job, the compound's lab); since 0.33.0 the landmarks (a mall, a hospital, a mensa, a castle, a ski lodge) are explored floor by floor, each storey fading over a player under it, up stairs, escalators, lifts and ladders, across walkways and a bridge (decided 2026-10-09).built
ModelsVehicles, characters and kit pieces are low-poly models made in Blender: flat colours, no textures, a few hundred triangles (budgets in assets/README.md), one tinted body colour per owner, no two faces fighting for one plane.built
Animation [V1]Characters are rigged and animated: idle, walk, run, jump, fall, crouch, low and high cover, aim, throw, sit in every seat type, ride, knocked down, get up, asleep, dead.built: 74 short keyframed clips on a ten-part rigid figure (head, torso, arms with forearms, legs with shins), made in Blender (assets/blender/models/animations.py): every move, cover, weapon, ride, hurt state, interaction, NPC role and emote, each fading into the next; an animation gallery (?anim-gallery); test-on-foot
Buildings from the world125 buildings generated from OpenStreetMap's most used tags (shops of every kind, offices, workshops, farms, chapels, guest houses, sports halls, towers), each with its sign on its roof, and 19 street facilities; a district built of a landuse's buildings, or of a tag's (shop=*); the themes high-street and farm-village.built (0.46.0)
CountrysideEight biomes (meadow, forest, alpine, farmland, steppe, desert, autumn, coast); a region's countryside rich if asked: the ground in many tones with tufts of grass and flowers, every tile out of town dressed (bushes, a lone tree and its bench, bales, a well, a signpost, a shrine…), ponds, ruins, camps, viewpoints and abandoned cars to find, each a place; landuse areas (fields, orchards, vineyards, woods, a cemetery, allotments, a campsite, a park, a wetland).built (0.45.0)
Effects [V1]Drift smoke and tyre marks from tyre slip, hit sparks, dust. Engine smoke and fire from damage, explosions with a fireball, a shockwave and a scorch, flat tyres popping and sparking (built 0.44.0).built
FallsA person who is hit topples along the hit and gets up [V1]; a light cosmetic ragdoll (built early: on the client only, flung along the hit, at most twelve at once).built
StyleA toy-city diorama: clean, high contrast, slightly saturated, matte. Readability beats realism: one dominant colour per car, police unmistakable.built
Day/night, weatherA clock per game and weather that change how the city looks and plays (§5.7): headlights, street lights and lit windows at night; rain, fog, snow and storms.built (0.52.0)

5. Building blocks ​

5.1 What a block is ​

A block is:

  • a look: a piece or a model (optional: a timer has none);
  • a behaviour: what it does in the simulation;
  • parameters, each with a type, a range and a default;
  • anchors: the named points other blocks attach to;
  • the events it emits and the actions it accepts, which missions use;
  • a budget: what it costs a room (an NPC costs more than a lamp post);
  • a doc: one paragraph and an example, written for the AI.

A block enters the block catalogue only with its doc, its parameter schema, its validator rules, a mini test level and an end-to-end test (TECHNICAL_SPECS.md §10). Blocks compose: a garage is a building piece, a door anchor and the garage behaviour, so any building with a door anchor can be a garage.

5.2 World ​

BlockWhat it isTodayTag
TerrainGround with hills, cliffs and cuttings, generated around the roadsbuilt; and regions of standard 64 m tiles (RollerCoaster Tycoon's corner heights: hills, mountains, plateaus, valleys, lakes, volcanoes and ski runs named in a spec, every seam matching by construction; see Tiles), which creators write through the MCP server; towns stand on a region's land, their streets climbing its hills and dipping into its valleys (decided 2026-10-09: rolling streets, a district on a terrace where asked, steep only where a hill or valley is marked so)[V1]
RoadA polyline with lanes, a speed, a surface (paved, dirt), one-way or not, a height profilebuilt; and roads laid over a region's tiles in five classes (a dirt track, a country road, a street, an avenue, a highway), crossing at flat junctions, on bridges over what they cannot follow, the ground graded to them[V1]
Junction, roundaboutWhere roads meet; rounded kerbs, zebra crossingsbuilt[V1]
Bridge, tunnel, deck, ramp, stairsStructures; decks and tunnel roofs fade over the playerbuilt[V1]
DistrictA region with a building mix, a density and a satire themebuilt: a theme (tech campus, wellness quarter, luxury waterfront, gig depot, old town, City Hall) with its default mix, parody names and colours, a density (built share, setback, height) and landmarks, in the level spec[V1]
BuildingA real-size kit piece tagged like OpenStreetMap (amenity=hospital, shop=supermarket), with 2–3 colour variants and anchorsbuilt: 32 families in the downtown and civic kits, each with 2–3 colour variants, tags like OpenStreetMap and anchors (an entrance and what it does); five walk-in landmarks of several floors in the landmarks kit[V1]
LandmarkA building one walks into and climbs: a storey a part that fades over the player under it, the ways up (stairs, escalators, lifts, ladders) blocks its anchors carry, a place on every floorbuilt: a mega-mall (an atrium, escalators, a food court, a roof car park), a general hospital (wards, the billing department, a helipad up a ladder), a mensa (a mezzanine, the kitchen's back door), a castle (a wall walk, a dungeon in its mound, a keep, a watchtower, a bridge), a ski lodge (a terrace, a bar for after skiing)[V1]
PropStreet furniture: lamps, traffic lights, hydrants, benches, bins, trees, rocksbuilt[V1]
BreakableA light prop a vehicle knocks loose by its kinetic energy (a mid-size car at 60 km/h, a box truck at about 30, a bus slower still, a bicycle never); a lighter or slower one stops against itbuilt[V1]
Nail stripPops the tyres that roll over it; at three stars an officer throws one across the road ahead, unrolling from the kerb, and reels it in once the player has passedbuilt[V1]
WaterWater surfaces: wading, swimming, sinking cars, lava; boatsbuilt (0.36.0): a person wades over the knees at half pace and swims deeper than the chest (slow, afloat, no shooting), climbing out where the bottom comes up; a fall into deep water hurts nobody; a car whose middle sinks under the surface floods, wrecked, its people put out to swim; lava kills and wrecks; a region's lakes and volcanoes make them. Boats and drowning [NEXT][V1]
RailTracks and stations for trams and trainsplanned[LATER]

Building types, by family. A function is a behaviour on an anchor, not a special mesh: a hospital is a building with a respawn point, a car rental one with a vehicle spawner of locked cars.

  • Civic: police station, hospital, fire station, town hall, school, courthouse, library, post office.
  • Commercial: shop, supermarket, mall, bank, gas station, garage and body shop, car rental, restaurant, café, bar, hotel, office tower.
  • Residential: house, townhouse, apartment block.
  • Industrial: warehouse, factory, depot, power station.
  • Transport: bus station, car park, harbour building [NEXT], train station [LATER].

Built: every family above but the harbour building and the train station, in the downtown kit (towers, offices, apartments, corner blocks, shop rows, townhouses, warehouses, hotels, cafés) and the civic kit (the rest); a building's anchors place what it does (a body shop's garage, a car rental's locked cars, a shop's counter, a hospital's respawn point, a police station's cruisers). The landmarks kit's five walk-in buildings (mega-mall and ski lodge commercial, general hospital, mensa and castle civic) are named in a district's landmarks like any other; their anchors carry their stairs, escalators, lifts, ladders, shops and lockers, and every floor has its places for missions (the mall's food court on its top floor, the hospital's helipad, the castle keep's roof).

5.3 Places, zones and paths [V1] ​

  • Places are named points and areas (downtown.bank.vault). The generator names what it builds after the district and the piece (docks.warehouse_7), and missions refer to places, never to coordinates.
  • Zones: pickup, drop-off, checkpoint, race gate, restricted (entering raises the alert or the Heat), safe, spawn area (built).
  • Paths: patrol routes and races [V1] (built: a race is its gates in order and its laps), bus lines [NEXT].
  • Spawn points carry a role: players, police, traffic, a mission's guards, and the hospital players respawn at (built).

5.4 NPCs ​

BlockWhat it isTodayTag
Behaviour profileHow an NPC chases: tail, pursuit, aggressive, guard; on foot or at the wheel, armed or notbuilt[V1]
FleeRuns from danger: passengers of a carjacked car, pedestrians near gunfirebuilt[V1]
CrewNPCs sharing a car: shoot from the windows, ram, get out and fightbuilt[V1]
Rolecivilian, driver, guard, police, contact, target, VIP, shopkeeper; the city's routines: dog walker, vendor, smoker, queuer, sitter, officer on a beat, street sweeperbuilt[V1]
Awareness and alertVision cone, hearing, memory, alert phases (§8)built[V1]
Patrol and scheduleWalk a path, stand at a post, go home at a timebuilt: patrols, posts and schedules on the room's clock (go to a place, stand, patrol, go home, come back out)[V1]
Loadout and pocketsThe NPC's weapons and items (a guard carries the keycard)built[V1]

5.5 Interactables [V1] ​

BlockWhat it does
Door, gate, barrierOpens and closes; locked by a key, a keycard, a keypad code or an app (built; a barrier also takes a parking ticket)
GarageStores a vehicle, resprays it (clears the Wanted level), takes a mission delivery
Terminal, keypad, ATM, vending machineText screens that work like phone apps (built; a street's or a bank's cash machine also pays the Cash into the bank and takes money out, for a fee)
SeatA bench's or a log's: sit to get your breath back and lie low (built)
PumpA petrol station's: fill up at the wheel, the boost full and recharging faster for a while (built)
Container, pickupA crate, a locker, a trunk, an item on the ground
ShopA counter that sells items for Cash at the game's prices (built; at the counters of shops, supermarkets and gas stations, kiosks and market stalls, an ice-cream van's hatch)
Security cameraA vision cone that feeds the alert system
Traffic lightCycles; traffic obeys it; an app can switch it (built: setSignal)
Vehicle spawner, parking bayPuts a vehicle with an owner, a lock and keys
NPC spawnerPuts an NPC with a role, a path, a schedule, a loadout and pockets (built)
MarkerA minimap icon or an objective arrow
Timer, counter, flagInvisible logic for missions
LadderClimbed with the interaction key at its foot or its top; falls from it hurt (built)
LiftA platform riding between its floors on a timetable, carrying whoever stands on it (built)
EscalatorA flight of stairs whose steps carry whoever stands on them up or down (built)
Alarm [NEXT], opening bridge [LATER]

5.6 City systems ​

  • Ambient traffic drives the roads, obeys traffic lights and gives way [V1] (built).
  • Pedestrians with roles and simple schedules [V1] (built: civilians, commuters, joggers and shopkeepers on the pavements, kept around the players, by the hour of the room's clock: commuters at rush hours, joggers mornings and evenings, shopkeepers in shop hours, fewer people at night; each district's theme weighs its roles; the city's routines beside them: dogs walked, streets swept at dawn, officers on a beat, smokers at the doors, vendors at their kiosks, queues at the bus stops that board the buses, people on the benches).
  • Police and the Wanted level (§12): 1–3 stars [V1], 4–5 stars [NEXT].
  • Emergency services (ambulances to the hurt, firefighters to fires) [LATER].

5.7 Time and weather ​

Built: the room's clock (a start hour and a pace the level, the game or a mission sets, time in conditions, setClock, setPace, skipTime with its "3 hours later") that schedules and the crowd follow, and the weather and the light (0.52.0, see Time and weather): a weather of its own by the level's climate that games and missions script, wet roads and snow that grip less, the dark and fog that hide a player, lamps that light them again, lit windows and headlights, the night as bright as the player's setting lets it be.

Two blocks a game sets in its rules and a mission can change on the way:

  • Clock: the time a game starts at and how fast it runs (from frozen to a full day in 24 minutes). Night brings headlights, street lights and lit windows; guards see less far in the dark and more in a pool of light; NPC schedules follow the clock.
  • Weather: clear, overcast, rain, fog, storm and snow, changing over time by the level's climate or set by a game and a mission. Rain lowers tyre grip and covers noise; fog shortens what guards and drivers can see; a storm adds wind, lightning and thunder; snow settles and grips least.
  • Both are part of the simulation, so every player in a room sees the same sky, and the grip and the guards' sight change for everyone at once.

6. Vehicles and driving ​

6.1 Classes ​

Built today: twenty-three classes, each with its engine placement, drivetrain, axles and seats.

ClassEngine / driveSeatsCharacter
Compactfront / front4Nimble, easy handbrake drift, plows wide when floored at the limit
Sedanfront / rear5Balanced; the default
Sportsmid / rear2Fast and grippy, rotates quickest, steps out when floored out of a corner
Musclefront / rear2Far more engine than rear tyre: power slides, donuts, a strong ram
SUVfront / all7Slow, stable, planted
Buggyrear / rear2Traction off the line, a tail that swings wide; seats open to the sky
Vanfront / rear3Cargo
Box truckfront / rear, three axles2Heavy, wide turns
Semifront / rear, three axles, with a trailer2The heaviest; the trailer swings
Scooterrear / rear2Light and quick; the rider is visible
Bicyclepedals1Silent and slow
Motorbikemid / rear2Fast, fragile, fits alleys
Police carfront / rear4The sedan with more engine and stiffer tyres; light bar and siren
Taxifront / rear5The sedan in yellow with a roof sign, a little lazier
Busrear / rear, dual rear tyres17Eleven tonnes, slow, a turning circle twice the sedan's; stops at the kerb in traffic
Ambulancefront / rear4A box on the van's chassis, quicker than the van; light bar and siren
Fire truckfront / rear, three axles4Nine and a half tonnes, a roof ladder; light bar and siren
Garbage truckfront / rear, three axles3The heaviest rigid truck, the slowest at the top
Pickupfront / all4The SUV's pull, a crew cab and an open load bed (its trunk)
Limofront / rear6Stretched and black; lazy and slow to turn
Delivery scooterrear / rear1The scooter with a top box; couriers pull in at the kerb
Ice-cream vanfront / rear2Pastels and a cone; a jingle at a crawl, a hatch that sells ice cream when it stands
Tractorfront / rear1All pull and no speed, on the country roads

Planned classes: military jeep and truck, motorboat, water scooter [NEXT]; tram, train, vehicles with turrets [LATER]. Vehicle features are blocks of their own: siren and light bar, livery (police, taxi, ambulance, fire), roof sign and roof ladder are built (the siren on G at the wheel), and so is a cargo bed (the pickup's, its trunk).

6.2 Handling (built) ​

  • Full 3D physics: ramps, jumps, slopes and rollovers are real. R puts a stuck player back at the nearest spawn.
  • Drifting is the signature mechanic: the handbrake breaks rear grip, steering into the slide holds it, releasing the handbrake snaps the grip back.
  • Drivetrain and engine placement give each class its character. When the engine asks for more than the driven tyres can put down, they spin: a rear-wheel drive power-slides and does donuts, a front-wheel drive plows wide, an all-wheel drive stays planted. Feathering the throttle is faster than flooring it. A front engine turns in sharply with a light tail; a mid engine rotates quickest; a rear engine has traction off the line and a tail that swings wide once it lets go.
  • Boost: double-tap and hold W while the meter lasts.
  • Damage: health for cars and characters, wrecks; a fall from higher than about 4 m hurts, from about 12 m it kills (a game can switch falls off) (built). Engine smoke, then fire, then an explosion that lights the cars beside it, so a row of them goes up one after the other (built 0.44.0; a game can switch it off); dents per side [LATER].

6.3 Getting a vehicle ​

  • Get in any vehicle with a free seat, or ride along in another player's (built).
  • Locks and ownership [V1] (built): every vehicle has an owner (nobody, a player, an NPC, a mission) and a lock. Keys are items. A locked car opens with its key, an app, or a few seconds of fiddling that raise the Heat (hold E three seconds to pick it; seen, it is a crime).
  • Carjacking [V1] (built), GTA style: walk up to an occupied vehicle that is stopped or crawling and press the interaction key. You pull the driver out by force (they tumble to the ground), the passengers get out and flee (an armed crew, a guard or the police may fight back instead), and you take the wheel. Other players riding in it are put out beside it, except members of your party. A player at the wheel can be carjacked only where the game's rules let players hurt each other, never in a safe zone. Carjacking raises the Heat.
  • Seats [V1] (built): every vehicle has seat anchors with a pose (driver, passenger, rider, pillion), so characters show in open vehicles: the buggy, scooters, bikes.
  • Garages store vehicles and respray them [V1] (built: a respray clears the Wanted level unless the police see you go in; a stored car comes out again for its player in the room). Vehicle spawners and parking bays put locked cars with their keys somewhere in the level (built).

7. On foot, inventory and phone ​

7.1 Movement (built) ​

Walk, run (Shift), jump (Space). Q takes cover at a wall or a car: crouched behind low cover, flattened against a tall wall, moving along it but never away from it. The right mouse button pops up or peeks out past the edge. Animation for all of it [V1].

7.2 Interaction [V1] ​

One context key with a prompt: "Get in", "Open", "Talk", "Pick up", "Hack". The server checks range and facing. Today E gets in and out of vehicles, carjacks, picks up, opens containers, trunks and doors, talks to contacts and works terminals and keypads, with its prompt ("Get in", "Get in as passenger", "Carjack", "Pick up" and the item's name, "Open", "Open trunk", "Open door", "Locked", "Talk", "Use", "Hack", "Enter code") above the character.

7.3 Weapons and damage ​

  • Built: fists, pistol, shotgun, rifle, rocket launcher and grenade (1–6), each drawn in the hands as its model (0.44.0); from a car only the pistol, selected, forward. Shots pitch to whoever stands on the line of fire. A car shoves a person aside at a crawl, knocks them down above 20 km/h and kills them at 35 km/h.
  • [V1] (built): a tranquilizer gun (7, darts as items), a melee knockout from behind, and a non-lethal flag on damage (§8).
  • [NEXT]: a stun grenade.

7.4 Inventory [V1] ​

  • Items are data: a name, tags, a stack size, and actions (use, equip, drop, give, read). The catalogue defines the common items (weapons, ammunition, first-aid kit, cash, phone); a mission defines its own (the key of one car, a keycard, a forged permit).
  • Containers: the character's inventory (slots), a car's trunk, an NPC's pockets, lockers, crates, shops, items on the ground. The server checks every transfer.
  • Missions check tags, not names: "has an item tagged key:vehicle:rental-17".
  • Weapons are items in slots, and so is their ammunition, kept in a pouch beside the slots so that a weapon shows once, its rounds left on its tile; the number keys select the slots (1–9 the first nine of sixteen, X and a click the rest). A game gives its players a loadout; free roam gives the whole arsenal, the pistol on 2 to the tranquilizer on 7.
  • On death, a character drops the mission items it carried (each game decides).
  • An inventory lasts as long as the room [V1]; carrying items from game to game needs accounts that remember them [LATER].
  • Built: items as data with the common ones in the catalogue (the weapons and their ammunition among them), sixteen slots per character (F use, G drop, X next slot, the number keys), items on the ground, crates, lockers and car trunks with a panel to move items, doors locked by a tag, NPCs' pockets (a searched guard gives up its gun), a game's loadout, the mission items a character drops where it dies (by the game's rules).

7.5 Phone [V1] ​

  • The phone is an item. Its contacts, apps, messages and call log are items inside it, so missions add and remove them.
  • Apps are data: text screens with choices and short forms, whose buttons run mission actions behind conditions. "Unlock" works if you are within 10 m of a car tagged rental and own the RentaCar app. The game only checks; "hacking" is choices, timers and items, never code.
  • Messages from contacts start and drive missions. Calls are short dialogue trees; conversations voiced by an AI come [LATER].
  • The map app sets waypoints on the minimap.
  • A fake web [NEXT]: pages of short marked-up text with links and actions, the satire's best channel (ads, news, start-ups).
  • The phone opens over the game; the world does not pause.
  • Built: the phone as an item (T takes it out over the running game, Esc goes back a page, 1–9 press its buttons); contacts, messages with replies, calls as dialogue trees and talking face to face to a contact (E Talk), apps as data (screens, buttons, short forms; RentaCar's Unlock within 10 m), terminals and keypad doors that open the same panel from the world, the map app's waypoint. The contents are entries the mission runtime keeps per player, not items.

8. Stealth and non-lethal play [V1] ​

In the spirit of Metal Gear Solid 2, simplified.

  • Awareness: a vision cone (drawn on the minimap, and in the world on demand), hearing (shots, explosions, running, horns, breaking props), and a memory of where the player was last seen. Security cameras use the same cone.
  • Alert phases: normal (patrolling) → suspicious ("?": turns toward the noise) → alert ("!": calls nearby guards, chases, shoots) → search (sweeps the last-seen area) → caution (patrols faster for a while) → normal.
  • Statuses: awake; stunned (seconds); knocked out (a minute); asleep (from a tranquilizer, woken by noise or a shake); down (hurt); dead. A guard who finds a body raises the alert.
  • Non-lethal tools: the tranquilizer gun (sleep after a short delay, faster from a head shot), a melee knockout from behind. [NEXT]: hold-ups (aim at a guard from behind: hands up, drops an item), dragging and hiding bodies, distractions (knocking on a wall, throwing an object).
  • Mission hooks: "without kills", "without alerts", "without being seen".
  • Built: statuses (stunned, knocked out, asleep, down, dead) drawn lying with a glyph; the tranquilizer (sleep after 3 s, 0.5 s from a head shot) and the knockout from behind; searching a body's pockets; guards' awareness (a 16 m, 100° cone blocked by walls, crouching behind low cover seen only up close, hearing by each sound's radius, a memory) and their phases with the ? and ! above their heads; a guard who finds a body raising the alarm and shaking it awake; security cameras that sweep, spot and call guards, shot out or switched off by a mission; NPC spawners with a patrol or a post, a loadout and pockets; the objectives incapacitate and sneak and the hooks "without kills", "without alerts" and "unseen" (test-stealth). Not yet: hold-ups, dragging bodies, distractions ([NEXT]), guards' schedules.

9. Missions ​

9.1 The mission language ​

Missions are JSON documents (schema in TECHNICAL_SPECS.md §9). The developer and the AI write them with the same building blocks:

  • Actors: entities made from blocks (vehicles, NPCs with a role, items, interactables, zones), placed at places or anchors.
  • Objectives, from the fixed verb list in §20, in sequence, in parallel groups, or branching (what comes next depends on how one ended); any objective can have a fail condition, and some hold while a condition lasts (defend a territory while enemies are in it).
  • Rules, the mission's logic, in two shapes:
    • When … if … do: something happened and the conditions hold, so the actions run once. "When the player cuts the alarm, if the guard is asleep, open the vault door and text the crew."
    • While … do: for as long as a condition holds, with actions on entering it, on leaving it and every few seconds in between. "While raiders are in the yard, defend it: a new wave every 30 s, at most three waves; when the yard is clear, the objective is done."
  • Triggers: mission start, enter or leave a zone, use an interactable, item gained or lost, status or alert phase changed, vehicle destroyed, timer, objective done, Wanted level changed, message read, app button pressed.
  • Conditions: has an item with a tag, in a vehicle of a class or tag, near a place or an actor, alert phase, status, time left, a flag or a counter, the time of day, the weather (both built), and counts over the world ("raiders awake in the yard", "guards who saw the player"), combined with all, any and not.
  • Actions: spawn (one actor or a wave), despawn, lock, unlock, open, close, give or take an item, add or remove a contact or an app, send a message, show text, set an objective's state, set a flag, add to a counter, start or stop a timer, set the Wanted level, set an alert phase, set the weather or the clock, skip hours on (built), reward, fail, complete.
  • Dialogue: short lines on actors, objectives and messages.
  • Never stuck: every objective points somewhere (its place, its actor, or a marker it names) and has a hint, and every mission has a help line, a contact the player can always call for the hint of what is under way; a person a mission needs who dies fails it, so it starts again rather than waiting forever; a target that hid comes back out.
  • Checkpoints: every objective done saves one (the creator turns any off); dying fails the mission, and a failed mission goes back to its last checkpoint with everything as it was then: the player where they stood (or at the wheel), what they carried, their Cash, the mission's cars, people, items and doors.
  • Rewards: Cash and Rep.

The validator enforces the same limits on every mission, curated or player-made: every reference resolves; at least one path leads to complete; every objective can be reached over the roads or on foot (an AI playtest drives it); time limits add up to 20 minutes at most; every repeating action has a cap (waves, spawns), so the room's budgets (NPCs, vehicles, items) hold.

9.2 Example mission (canonical style reference) ​

Place names are illustrative.

json
{
  "meta": { "id": "cur.hillside.001", "title": "Same-Hour Rental", "blurb": "Keyless pickup, they said. The key is in the app. The app is in beta.", "difficulty": 1, "tags": ["delivery", "phone", "timer"] },
  "items": [{ "id": "rentacar", "kind": "app", "name": "RentaCar", "tags": ["app:rentacar"] }],
  "actors": [
    { "id": "car", "type": "vehicle", "class": "compact", "at": "hillside.car_park.bay_2", "locked": true, "tags": ["rental"] },
    { "id": "drop", "type": "zone", "at": "hillside.lookout", "radius": 8 }
  ],
  "objectives": [
    { "id": "unlock", "verb": "unlock", "target": "car", "with": "app:rentacar" },
    { "id": "drive", "verb": "deliver", "vehicle": "car", "to": "drop", "timeLimit": 180, "maxDamage": 40,
      "fail": { "when": "vehicleDestroyed", "text": "The app has rated you one star." } }
  ],
  "triggers": [
    { "on": "mission:start", "do": [
      { "give": { "item": "rentacar", "to": "player.phone" } },
      { "sendMessage": { "from": "Dispatch", "text": "RentaCar installed. Bay 2. The app counts every scratch." } }
    ] },
    { "on": "objective:drive.done", "do": [{ "reward": { "cash": 400, "rep": 20 } }, { "complete": true }] }
  ]
}

9.3 Presentation ​

Objective markers in their colour, a route line on the minimap, the tracker (objective, timer, damage limit) in the top-left, dialogue as short toasts, messages on the phone. Missions start in the world where possible: a message, a call, a contact waiting at a place. Other players see a small marker on a player who is on a mission, not the objective.

10. Creating games with AI ​

10.1 What a creator can make ​

  1. Missions on an existing level: a curated game's level or any published one [V1].
  2. A remixed level: districts, building mix, density, roads from templates, a seed [V1].
  3. A free layout: terrain, rivers, tunnels and bridges described in words [NEXT].

10.2 The conversation ​

  • The creator talks to Claude in Claude Code, with the five-on-it MCP integration added and signed in to their account. The integration gives Claude the tools (the catalogue, drafts, builds, playtests, publishing, rooms), the block docs, this tone guide and the curated games as examples. In Claude Code the creator brings their own Claude.
  • Or, owning the game on Steam, the creator writes a short brief in the game (planned, decided 2026-10-16). The platform runs one tool-calling model on the same tools, as a job in a queue the game shows (its place, its steps, Cancel), at most 5 creations a day per account (the allowance resets each day and is never carried over), all of it under a monthly cap on what the platform spends. Nobody brings their own key.
  • Claude uses only the block catalogue. When a wish is impossible, it builds the nearest allowed idea and says what changed, in character ("Legal said no to the helicopter. You get a golf cart.").
  • The validator's errors go back to Claude, which fixes them before the creator sees anything.
  • Creators who want to can see and edit the data itself: a draft is plain JSON.

10.3 Preview, playtest, publish ​

  • Preview: every build returns a link that opens the level in the real renderer, in the browser, with a camera free to fly over it, before anything is published.
  • Playtest in a private room, alone or with invited friends.
  • Publish: a draft is private; a published game is reachable by link or listed publicly; the best get featured.
  • A published game is pinned to the versions of the blocks and the generator it was built with, so it plays the same until its creator updates it.
  • Remix: any public game can be copied into a new draft; the credit stays.

10.4 Limits and safety ​

  • Quotas on builds, playtests and rooms per account per day, and on the creations of the in-game model (planned); Claude's own usage in Claude Code is the creator's subscription. An admin can raise or lower an account's limits, for a while or for good. Size budgets per game (area, pieces, NPCs, vehicles).
  • Every text strangers will read is moderated: the titles, blurbs, dialogue, messages and app screens of a game made public, and the chat of public rooms. Private games (shared by link) and their rooms are not moderated. Any game can be reported, and public games taken down.
  • The AI refuses, kindly and without preaching: real people, hate, sexual content, anything involving minors, real brands as targets, anything that would read as a real crime tutorial.
  • Every player-made game is labelled with its creator's name and can be reported.

11. The five curated games [V1] ​

The curated games are the shipped content and the AI's reference examples (their level specs and missions are the examples Claude is given), and each one proves a set of blocks. They are built with the same tools players use (Claude Code with the MCP integration, and the generator), then polished only where blocks allow it. They come in this order, each as soon as its blocks exist (milestones in TECHNICAL_SPECS.md §11), and every one uses only [V1] blocks:

#GameProvesPlayable from
1Hillside (withdrawn until its city is redrawn)Driving: a race down a rally track, a delivery against the clock, a photo, street furniture knocked overM1
2Downtown job (withdrawn until its city is redrawn)Inventory, phone apps, locks and keys, carjacking, garages, a bank heist, the policeM3
3The compound (withdrawn until its city is redrawn; its walled compound stays as the test level test-compound)Stealth: guards, cameras, doors and keycards, non-lethal tools, "without kills"M4
4Rush hour (withdrawn until its city is redrawn)Ambient traffic and traffic lights, a ride-hailing app, taxi and ambulance runs against the clock, a chase, a night race, the weather and the clock scriptedM5
5Delivery WarsRival delivery-app crews fight over districts: territories to defend while rivals are in them, waves, crews, carjacking, chasesM5–M6

One curated game ships, and it is none of the five: Smart City Pilot (main-riverbend, built: four missions), on Riverbend, the flagship city drawn freely round a river's loop: a rental against the clock, a race once round the parkway, an escort, a photograph. Hillside, Downtown job, The compound and Rush hour were built and shipped, each on a city of its own, and were withdrawn with those cities in 0.58.0: the playtest of 2026-10-13 found their level design wanting, every street on a grid. Each comes back when its city is redrawn; a city level template that draws a city freely from a spec, as Riverbend is drawn, is planned for that.

The first game after V1 is Harbour (water, boats, smuggling), with the water blocks [NEXT].

12. Police and the Wanted level ​

StarsHeatResponse
1 [V1]10One cruiser tails you; it leaves after 20 s without a new crime.
2 [V1]25Two cruisers pursue and try to ram.
3 [V1]45Faster cars; officers throwing nail strips across the road at the junctions ahead.
4 [NEXT]65Roadblocks on bridges and at tunnel mouths.
5 [NEXT]85Everything, plus a drone that keeps the Heat from decaying while it sees you.

Heat comes from stealing and carjacking (+8 to +20 by class), hitting pedestrians (+10), hitting police (+15), breaking property (+2 each), speeding past police (+3) and some mission actions. It decays by 1 per second out of police sight; a respray sets it to 0. The police use the chasers' profiles on the road graph, pick chokepoints for roadblocks, never enter safe zones and give up 30 s after losing sight. A game can switch the police off.

13. Multiplayer [V1] ​

  • Rooms: opened from a game, 1–32 players, private (by link) or public. The desktop app can also host a room on the player's machine (built today: the app runs its own game server).
  • Shared world: NPCs, traffic, items and doors belong to the room. Missions run per player or per party of 2–4 sharing progress; a multiplayer mission is played in a run of its own (below).
  • Mission modes (decided 2026-10-18; solo, co-op and versus built): a mission is solo (the default, as every mission is today), coop (one team against the mission: a story heist) or versus (two or more teams, or everyone on their own: robbers and chasers, a race between players). The creator sets the players it needs (a minimum and a maximum, per team in versus), whether players may join once it has started (never, until the first checkpoint, always), the Respect it asks for, the lives (per player or per team), what a death does (back at the last checkpoint, at the team's spawn, or out to watch), the retries after a failure, and friendly fire (off by default).
  • Runs (solo, co-op and versus built, from a game's page): every multiplayer run, and every solo mission picked from a list, is played in a room of its own with only its players, each one's team in their join token. The open city stays the hub: solo missions start there as they do today, multiplayer ones never do. The server measures the run (who did the objectives, who was down, who hurt a teammate, who left or stood idle) and reports its result to the platform. A player who drops has a minute to come back to their seat; a team left empty forfeits; a co-op run plays on with fewer players than it started with. A run that takes players once it has started (built) has its empty seats filled: until its first checkpoint, the seats it lost; always, those and the room left on each team. A late joiner comes in where the run stands (at the team's spawn in versus, at the last checkpoint in co-op), on the objective under way, and earns Respect for the part of the run that was theirs.
  • Lobbies (built, each player's Respect tier on them, and the phone's Jobs app): a lobby shows the mission, its level, its rules in words (the Respect tier it asks for among them), the teams' slots, each player's Respect tier and whether they are ready. It starts when every team has its minimum and everyone is ready (at once when full), and after the results it votes on the next mission, on any level, or plays again, so the group stays together. Players find a lobby on a game's page, in the list of public lobbies, through Quick play (a playlist, co-op, versus, races or any, that places them in a lobby on any level, or in an empty seat of a run under way), through invites, and in the city on the phone's Jobs app (built: the invitations, the lobbies that need players, the missions of this level and the others, Quick play). The platform's playlists (built) are rotations across levels of the curated missions and the creators' missions that have earned Respect; a lobby opened from a playlist moves on along it after each run when nobody votes, to a mission on another level: the group keeps playing, level after level.
  • Interaction: ramming, blocking, riding along (built), taking an empty car, and carjacking and shooting where the game's rules allow it (§6.3).
  • Game rules set by the creator: player damage (off, rivals only, on), respawn (hospital, mission start), maximum players, police on or off.
  • Griefing controls: safe zones, a few seconds as a non-colliding ghost after respawning, mute, vote-kick, report (built).
  • Communication: text chat (moderated in public rooms), quick-chat, emotes [V1] (built: room chat through the game server, party chat and direct messages through the platform, eight quick-chat phrases and six emotes; emotes play over the character too).
  • Fairness: the server decides everything; your own car and character are predicted, everyone else is shown slightly in the past (built).

14. Progression and economy ​

  • In a game [V1]: Cash and Rep from missions, spent in that game's shops, garages and resprays. They last as long as the room (built: one Cash per player for rewards, cash picked up, shops, garages and fines, shown in the wallet; a bank balance beside it at the cash machines, which the fines never touch).
  • Across games (built; decided 2026-10-18): an account's Respect, earned in runs and never lost. Guests play and see everyone's tiers, but earn and hold nothing; a playtest, an abandoned run and a lost one count for nothing.
    • Paid by the platform, never by a game (a mission's rep stays the room's Rep): a run pays 10 a minute it was played (no more than its clock allows, 20 minutes at most), more for a mission few players finish (up to twice for a curated one, half again for a creator's, once it has 20 runs). Complete or won pays it whole, the winning team of a versus match a fifth more, a draw 90 %, a lost match 80 %, a failed co-op run half: failing or losing never costs anything. A player's share needs them there (connected half the run at least, idle under a quarter of it, there at its end), those who did the team's objectives earn up to 30 % more, and one who did none of the team's work gets half on a run won, nothing on one lost.
    • Endorsements: after a run a player may endorse up to two teammates outside their own party (in versus a rival too, never a member of their party), when both were there: +5 each, three counted a run, once a day to the same player, weighted by the endorser's conduct and halved again for a pair that endorsed each other that week.
    • No farming: the same mission pays 100 %, 50 %, 25 %, then 10 % in a UTC day (a creator's missions counted together, so a new one resets nothing), and a creator's mission pays only once 20 players have played its version and 5 have rated it 3 stars or more, counting only players who were there, are not its creator and already hold the tier Local (its players rate it from the results); a new version starts over. Curated missions pay from the start.
    • Tiers: five, named in the satire's tone: Unverified (0), Local (500), Trending (2,000), Verified (6,000) and Iconic (15,000). The account's page shows the tier, the total, the next tier and the season's Respect; lobbies and a run's roster show each player's tier. A mission may ask for a tier (play.respect.min); a creator's may ask for tier 2 at most until it qualifies.
    • Conduct, hidden but from the player (who sees their band, Good, Warning or Low, and why it moved) and the admins and moderators: 0 to 10,000, a new account 7,500. It scales what a player earns (Good whole, Warning half, Low nothing). A clean run brings back 100; leaving a run, killing or badly hurting a teammate (only where a mission turns friendly fire on: one crash costs nothing), failing a run by hurting the mission's people (sabotage), standing idle most of a run, being voted out twice in a week by many players outside one's party (different voters each time), and a report a moderator upholds lower it, at most 1,500 a run. It recovers only by clean runs. While at least 16 players are in Quick play, the Low band is matched with each other; with fewer nobody is split off.
    • Skill, seen by nobody: a Glicko-2 rating from versus runs (of the players who were there; teams rated as the mean of their players; a free-for-all by places), used only to balance a versus lobby's teams (sizes first, then skill) and to prefer, in Quick play, lobbies of a similar skill.
    • Seasons: the leaderboard counts the Respect earned in a season (a calendar quarter, UTC) and of all time; Respect itself never resets.
    • The platform can keep it in the shadow (computed, shown to nobody, gating nobody) or switch it off (FOI_RESPECT).
  • For creators [NEXT]: creator Rep (plays, ratings, features); cosmetics.
  • No pay-to-win, and no real-money items in V1.

15. Tone and writing guide ​

  • Voice: deadpan, quick, a little tired of everything. Jokes come from institutions and trends behaving absurdly, not from characters being humiliated.
  • Targets: start-ups and growth-speak, delivery and rental apps, HOAs, wellness grifts, crypto, the influencer economy, city bureaucracy, "smart city" tech, greenwashing, luxury real estate.
  • Never: real people or companies, slurs, punching down at groups, sexual content, drugs as a mechanic, anything that reads as a real crime tutorial.
  • Formats: game and mission titles ≤ 40 characters and punchy ("Same-Hour Rental", "Disrupt the Disruptors"); blurbs ≤ 140; dialogue lines ≤ 120, one joke at most per line; messages ≤ 160; an app screen ≤ 400.
  • Naming: vehicles and brands are invented parodies; cities and districts have plausible invented names.
  • Player-made games follow this guide; moderation enforces the "never" list.

16. UI and HUD ​

  • HUD: speed, health (yours and the car's), the Wanted level, the mission tracker (with who to call when stuck), the interaction prompt. Today's HUD also shows the developer readouts (grip, slip, prediction).
  • Banners mid-screen for what must not be missed (built): YOU DIED, MISSION FAILED with why, MISSION COMPLETE, LEVEL RESET, DISCONNECTED.
  • Minimap with the route line, mission markers, NPC vision cones and police (built).
  • Phone over the game; inventory screen; chat.
  • Game browser: curated, featured, friends', your games and drafts.
  • Creator: the conversation happens in Claude Code, or (planned) in the game's creation page for its owners on Steam: a brief, the queue with its places and Cancel, the results; the game shows what either produces. A build's preview link opens the level in the browser with a free camera; drafts and playtest rooms appear in the game browser under "your games".
  • Accessibility: remappable keys (decided 2026-10-12: the only accessibility setting for V1).

17. Audio ​

  • Built: engine loops by class, tyre screech, sirens (the player's own and the nearest other), the horn, music, the weapons' shots, hits and carjacks; a sound bank of events whose placeholders (synthesized in code) a file dropped in replaces; the radio as in GTA (five sample stations: pop, synthwave, news satire, wellness talk, podcasts; live on their own clock; a wheel, keys, the phone's Radio app; earbuds on foot).
  • [V1]: phone sounds, interface blips, footsteps.
  • [LATER]: real recordings for the stations and the sounds, ads between the radio's items, voiced barks, music that follows the chase.

18. Scope ​

V1: the first shippable release ​

Ticked as it lands (the engineering checklist is TECHNICAL_SPECS.md §11, Progress):

  • [ ] The creation platform end to end: describe (in Claude Code) → build → check → preview → playtest → publish → room → play.
    • [x] Publishing: drafts, builds checked against the level, playtest rooms, games published by link or publicly (public texts moderated).
    • [x] Game pages: the page of games (search, sorts, featured), a game's page with its preview, Play and Join, ratings, reports and takedowns, remix (M6).
    • [x] Creating in Claude Code: the five-on-it MCP integration (tools, resources, prompts), levels generated from a level spec by the Blender worker and checked (budgets, every place reachable), the platform deployable with Compose on one host.
    • [x] The mission language grows: counters, queries, while rules, waves of enemies, survive, defend, lose, eliminate, branching objectives (built early, M3).
    • [x] Missions as data: goto, steal_vehicle and deliver objectives, when/if/do rules, rewards, the mission tracker, phone-style notices and the target marker (§9).
  • [ ] One of the five curated games (§11) first: Hillside, playable from M1.
    • [ ] Its missions ("Same-Hour Rental", "Ash Cloud Rally", "Lakefront Content" and "Disrupt Parking") were withdrawn with its level in 0.58.0 and wait for its city to be redrawn.
    • [x] A curated game ships meanwhile: "Smart City Pilot" on Riverbend (a rental across town, a race once round the parkway, a consultant escorted to the stadium, the market's fountain photographed), in packages/missions/content/main-riverbend.json.
  • [ ] The blocks tagged [V1] in §5–§8, each with its mini test level.
  • [x] Stealth and non-lethal play; inventory and phone; locks, keys and garages.
    • [x] Items, inventories, containers (crates, lockers, trunks) and doors locked by keys (M3, test-inventory, test-interaction).
    • [x] The phone: messages, calls, contacts in person, apps as data, terminals and keypad doors, the map's waypoint (M3, test-phone).
    • [x] Stealth and non-lethal play: statuses, the tranquilizer and the knockout, guards' awareness and alert phases, cameras, patrols, pockets and keycards (M4, test-stealth).
    • [x] Locks and ownership, keys, picking, vehicle spawners, garages with resprays and storage (M3, test-locks-garages).
  • [x] Ambient traffic and pedestrians; carjacking; the police up to 3 stars.
    • [x] Ambient traffic and traffic lights: drivers on the lanes, queueing, giving way, fleeing carjackers and gunfire (built early, M5).
    • [x] Pedestrians with roles on the pavements, and the city's vehicles: taxi, bus, ambulance, fire truck, garbage truck, with liveries, light bars and sirens (M5).
    • [x] The police up to 3 stars: Heat, stars, police cars that tail, ram and shoot, losing them, arrests (built early, M5).
    • [x] Carjacking: the driver pulled out, the passengers fleeing, the interaction prompt (built early, M3).
  • [ ] Rooms of up to 32 players, parties, chat (moderated in public rooms), accounts.
    • [x] Rooms opened on the game servers for any published game, joined from the client's Games tab; guest and creator accounts (development or Nakama).
    • [x] Friends and presence, parties of 2–4 sharing mission progress, room and party chat moderated in public rooms, mute, vote-kick, player reports, safe zones and the respawn ghost (M6, test-safe-zones).
  • [x] The desktop app and the browser.
  • [ ] All of the five curated games (§11) by the release.

Status on develop ​

What the V1 list above still lacks on develop (0.27.0), section by section; every block not named here is built and has its mini test level (TECHNICAL_SPECS.md §10.2, the testing guide docs/guide/playtesting.md).

  • Missions (§9, §20): the small marker other players (outside a party) see on a player who is on a mission (§9.3).
  • Multiplayer (§13): rooms of 32 players proven by load tests (the rule exists, no load test yet).
  • UI and audio (§16, §17): phone sounds, interface blips, footsteps.
  • Content (§11): the five curated games: Delivery Wars is not built, and Hillside, Downtown job, The compound and Rush hour are withdrawn with their cities until those are redrawn ("Smart City Pilot" on Riverbend ships).

Planned right after V1 [NEXT] ​

Water, boats and the Harbour game; the police at 4–5 stars; the fake web; free layouts described in words; creator Rep and cosmetics (Respect across games is built, §14); hold-ups and distractions.

Not in V1 ​

Interiors beyond the kits' walk-in buildings, models or art uploaded by players, trading between players, a real-money shop, mobile, NPC conversations voiced by an AI, a full ragdoll, trams and trains. There is no voice chat, and there will be none.

19. Decisions and open questions ​

Decided (2026-10-05):

  1. The five curated games and their order: §11.
  2. Accounts run on Nakama (engineering in TECHNICAL_SPECS.md §9.6). Guests can play public games and games shared by link with a device account; creating needs a signed-in account.
  3. Who pays for the AI: the creator, through their own Claude subscription in Claude Code with the MCP integration. The game's quotas cover builds, playtests and rooms. Revised on 2026-10-16 (decision 7).
  4. Private games (shared by link) and their rooms are not moderated; public games and public rooms are (§10.4).
  5. No voice chat, ever.
  6. Day and night and weather were planned for right after V1 (§5.7); they came early, in 0.52.0 (2026-10-12): the room evolves its own weather, games and missions script it and skip time ("3 hours later"), the day's length is per level, game and mission, and the night has sensible defaults and a brightness setting.

Decided (2026-10-16):

  1. The game's owners on Steam may create in the game too: the platform runs one tool-calling model for them (through OpenRouter, or Claude on the operator's own Anthropic key), under a hard monthly cap ($25 by default, a setting), and never takes a key a player brings. Every creation is a job in a queue, at most 5 a day per account (reset daily, not carried over); admins may override any account's limits. Claude Code over MCP stays. Planned, but for the queue, the quotas and the admins' overrides (TECHNICAL_SPECS.md §9.8, §13 decision 9).

Decided (2026-10-18):

  1. Multiplayer missions (§13, §14): a mission is solo, co-op or versus with the players it needs; a multiplayer run is played in a room of its own, gathered by a lobby that takes its players on to the next mission across levels; players find runs through public lobbies, Quick play and invites; co-op and versus come together, co-op being one team. An account's Respect across games is minted by the platform from what the server measures, scaled by a hidden conduct score, with a hidden skill rating for versus. Built: runs with teams, lobbies and Quick play, Respect with its conduct, skill, endorsements, gates and seasonal leaderboard; continuous play across levels and the phone's Jobs app are next (TECHNICAL_SPECS.md §11, §13 decision 10).

Open:

  1. Default rules of a new game: player damage, police, respawn.
  2. What creators get from success: featuring, Rep, a revenue share [LATER].
  3. Languages: English first. The data is language-neutral; dialogue is not.

20. Objective verbs (quick reference for generators) ​

VerbParametersCompletes whenToday
gotoplace or actor, optional vehicle constraint, time limitThe player is within the radiusbuilt
pickupactor or item, placeThe item is in the player's inventory or vehiclebuilt
delivervehicle or item, to (zone or place), time limit, maximum damageArrived with the constraints metbuilt
giveitem, to (an NPC or a container)The item has changed handsbuilt
useinteractableThe player has used itbuilt
unlockdoor, gate or vehicle; with (key, keycard, code or app)It is unlockedbuilt
talkcontact or NPC, dialogueThe conversation endedbuilt
escortactor, to, protect (maximum damage)The actor arrivedbuilt
defendzone, while (a condition, such as "enemies in the zone"), fail if (a condition, such as "enemies at the crates for 10 s"), optional time limitThe while-condition ends (the zone is clear) or the time runs out without a failbuilt
chasetarget actor, catch radius or time limitThe target is stopped within the radiusbuilt
escapefrom (police or actors), duration or distanceOut of sight for the durationbuilt (from the police: the stars back to zero; from actors: out of their sight for the duration or beyond the distance)
incapacitateNPC(s), non-lethal only or notEvery target is asleep, knocked out or (if allowed) deadbuilt
sneakzone or path, maximum alert phaseThrough without exceeding the alert phasebuilt
destroyactor(s)All destroyedbuilt (NPCs, vehicles, cameras and light pieces)
surviveduration, optional zoneThe timer ran out without a failbuilt
racecheckpoints, rivals, lapsThe player crosses the finish firstbuilt
collectitems or props, countThe count is reachedbuilt
steal_vehicleactor or class, optional placeThe player is driving itbuilt
photographactor or place, from a zoneInteraction inside the zonebuilt (the phone's camera)
waitduration, optional placeThe timer ran outbuilt