Design document · revision 1 · 2 November 2026
CADENCE — a game about positions, not people
A text-first, persistent, player-governed strategy game, designed to compete with Torn on the thing Torn does best — the daily habit — and on the thing nobody in the genre has shipped: the same engine running in five different worlds, chosen by the players, not by us.
00Where this document stands
This is a design document, not a product. Nothing here is running. The pill words are the ones the family uses, and they mean exactly what they say.
Being built running, with a piece missing
Planned designed, not built
Answered the design has an answer written for it
Undecided we want your opinion
This document Planned
The mechanics, the numbers, and the build plan for one game engine. Every number on these pages is a design target, written down so it can be argued with, tested, and changed. None of it has been playtested, and the pages say so.
The read on Torn Planned
Everything in section 01 is a fact read from Torn's own pages, its official wiki, and the public API surface its community built. Section 02 is judgement on what those facts mean. Judgement is labelled as judgement.
The prototype Undecided
The first test is a single text page with 40 players and one season. It needs a writer, a rules document, and a room to run in. Building it is a decision, not a task I schedule for us. Say the word and the paper season becomes a server.
We have not built any of this. Every number on these pages is a design target, not measured play — the first draft of a balance sheet. A game design document that reads like a finished product is a lie a player finds out about in the first week.
The genre is crowded and the players are hard to move. Torn has thousands of active players, a decade of social capital, a public API, and a community that wrote its own tools. Our advantages are structural, not content — and a structural advantage is the slowest kind to prove. Assume the first season has 40 of our friends in it, not 4,000 strangers.
One rule is a bet, not a measurement. "Queue your actions, then walk away" (opening 7, and the loop below) removes the return-visit hook Torn is built on. That is the point of the design, and it is also the biggest risk in it. The kill tests give the number that decides it.
01What Torn is, and why it works
Torn is a text-based online RPG set in a crime city, played in a browser, with thousands of active players. It has no animation, no client to install, and no story. Its own front page lists what you do in it: jobs, items from chocolate bars to rifles, over 50 crimes with hundreds of outcomes, factions, stocks, marriage, car racing, the casino, poker, the bank, education, properties, travel, hunting, and writing for its newspaper. The list is the product.
| System | How Torn runs it (read from its own pages) | Why it works |
|---|---|---|
| Bars and timers | Energy, Nerve, Life, Happy, Chain, plus drug / medical / booster cooldowns, all with timers. Energy fills to maximum every five hours; paid status adds energy every ten or fifteen minutes, up to 150 / 100. | The bar refills on a clock, so the player comes back four times a day for three minutes each. The habit is the product. Nothing to install, nothing to load. |
| Visible progress | Four battle stats (strength, defence, speed, dexterity), jobs that pay daily stat gains, income, and job points, and a daily net-worth figure. | You can watch yourself get stronger in numbers you own. A number that rises every day is worth more than a story. |
| Player-run social layer | Jobs, companies owned by players, factions, a stock market of 35 stocks with market cap and shares, the bazaar, the item market, auctions, a newspaper, marriage. | The content is generated by the players, so the game never runs out of content, and the cost of content is zero. |
| A public API | Its API exposes six families — user, property, faction, company, market, torn — with hundreds of counters (attacks won, bounties collected, bazaar sales, shares owned). A community built dashboards, wikis, and calculators on top of it. | Third-party tools do the UI work Torn does not have to. The players build the interface, and stay attached to it. |
| Permanence | The world does not reset. A twelve-year account is a twelve-year account. | Long-term investment. Competitors that reset every round destroy exactly this, and Torn wins on it. |
Torn is not a game you play. It is a habit you keep. Every mechanic in it exists to give you a reason to open a page for three minutes, four times a day, for years. Any competitor that treats that as the design target has a chance. Any competitor that treats "content" as the target has none.
02Where Torn is beatable
Seven openings. Each one is a fact from section 01 plus a judgement, and each one has a design answer elsewhere in this document. This is the argument for building anything at all.
1 · Money buys time Answered
Paid status grants extra energy on a faster timer than free players get. The scarce resource in the game is action budget, and the shop sells it. A player who pays progresses faster in the same clock time.
Our rule: no real money touches a bar, a stat, a yield, or a timer. Money buys a nameplate, a skin, a house decoration, and analytics. If a rule cannot be written in that sentence, it does not ship.
2 · People are the resource Answered
The combat loop is player against player, and the reward scales with being stronger than the other person. New accounts are, in the arithmetic of the game, material for old ones.
Our rule: you never attack a person. You attack a position — a depot, a route, a contract, a dock. Losing costs you that ground, not your character, and every attack gives the defender one tick of warning.
3 · Onboarding is a wiki Answered
Torn's own help page closes with the line that the list is endless and there is plenty of help in its wiki. The structured teaching in the game is a three-question job interview, and a starter job fires you after 400 days of inactivity.
Our rule: the first seven days are scripted, and the player finishes them with a wage, a room, and one thing they own. A mentor is an office a player holds, with real duties, not a badge.
4 · The world is a spreadsheet Answered
There are 50 crimes and 35 stocks, and they do not move. The city is a fixed list of things to do; nothing in it changes because the players did something.
Our rule: the map is a state, not a menu. 64 districts, each with a yield, a defence, and an owner; a season adds ground; a district you take is yours until someone takes it back.
5 · The numbers are secret Answered
The reward formulas, the random draws, and the balance are invisible. Players reverse-engineer the game in wikis, which is the community's best work — and a permanent argument with the people who run it.
Our rule: every formula is published on the rules page, every action is recorded as a row, and a season can be replayed from the log. If the game's arithmetic is a rumour, the players trust the rumour and not the game.
6 · One skin, one tone Answered
Torn is a crime city. So are its competitors. The rival games read for this document — Street Crime, Gangster Nation, The Fifth Family, Velkran, Vor Wars, Bootleggers, BadFellas, Mob Wars, Mobsters United, Made Man Mafia — are all mafia, gangs, or Prohibition. Several run in rounds that wipe after a few weeks, which throws away the permanence Torn wins on.
Our answer: the engine is theme-agnostic. Bars, jobs, positions, contracts, courts, seasons — those are nouns in a data file, not in the code. Five settings run on one engine, and the players pick the next one. This is the structural opening: nobody in the genre has a theme layer, because they all built their city first.
7 · You have to be there Undecided
Torn's bars are spent by tapping a button at the moment they are full. The habit is a bell you answer. That is why the timers are shaped the way they are.
Our answer: queue your day. Actions are placed in a queue and resolve on the next server tick. You plan in one sitting, and the ticks keep running while you are not there. It keeps the daily habit (the season, the board, the daily report) and removes the obligation to be present at a fixed clock time — which is what makes a game a chore, and what makes a player leave.
Torn's internal balance (the exact stat gain per action, the exact crime payouts, the exact random draws) is not published by Torn, so this document does not state it. Where a number below looks like a fact about Torn, it is a fact about our game, sized to be comparable. The facts about Torn in section 01 are readings from its own pages, and they are the ones with a source.
03The design thesis
One sentence, then the rules that follow from it.
A persistent world of positions, run by players, in a language of published numbers, that you plan once a day and do not have to watch.
Position, not person
The unit of conflict is ground. You can lose a district, a contract, a route. You cannot be robbed of your character, your bars, or your money by someone stronger.
Plan once, run all day
Nine decisions a day, queued in one sitting, resolved on ticks. A player with a job and a family plays the same season as a player with twelve free hours.
Published arithmetic
Every formula on one page. Every action a row in a log. Every season replayable. Trust is the cheap thing nobody in the genre has.
Rules the players hold
Taxes, fines, contracts, wages, and district law are written by players in offices they were elected to, and enforced by the engine, not by an admin's mood.
Theme is data
The engine knows Bar, Job, Position, Contract, Season. A theme file gives them names, art, yields, and a signature mechanic. Five themes, one codebase.
Nothing is wiped
Seasons add ground, offices, and rules. Characters, holdings, and history survive. A reset is a firing of every player's work, and it is the genre's habit.
04The core loop, in full
The cadence engine, with the numbers a prototype would start from.
The tick
The four bars (the theme layer renames them; the shape is identical)
The four stats
| Stat | What it governs | Gain rule | Design target |
|---|---|---|---|
| Body | labour yield, haul tonnage, defence of a position | 1 point per Vigour-consuming action, capped at 10 points a day | 10 / day early, 4 / day late |
| Craft | build speed, repair quality, item tier | 1 point per Focus-consuming action, cap 6 a day | 6 / day |
| Nerve | success chance on risky operations | 1 point per Nerve-consuming action, cap 4 a day | 4 / day |
| Insight | contract terms, price sense, teaching, detection | 1 point per Standing-consuming action, cap 3 a day | 3 / day |
Gains slow on purpose. A soft cap at level 40, and the rule that late gains go into offices and positions rather than bigger numbers, is what stops the game becoming an arms race. Late game is who runs what, not who has the largest number. This is the answer to the infinite stat climb the genre is built on.
The day, as a player experiences it
Morning · The report
Three minutes. Overnight ticks resolved: two contracts paid, one district attack repelled, a haul landed. One thing changed on the map.
Morning · The queue
Place six actions: two labour, one craft, one run, one teach, one upkeep. Pick the district the run targets. Leave.
All day · The ticks resolve
Ticks resolve your queue. Your district is defended by the garrison you set aside this morning, not by you being online.
Evening · The board (optional)
Season board, district map, the week's contracts. The social layer: who took what, what the court decided, what the guild is bidding.
A game that takes three minutes a day gets a working adult. A game that takes three minutes a day four times a day gets a person with a phone and no plans. The incumbent is built for the second person, and it wins that person. CADENCE is built for the first, and that is a smaller audience — which is the honest cost of this design, and the reason the kill tests exist.
The opening week
| Day | What the player is taught | What they end the day with |
|---|---|---|
| 1 | the four bars, the tick, the queue | a starter job and a first wage |
| 2 | upkeep, rent, the daily report | a room, and a bill they paid |
| 3 | one risky act, with its published chance | a success or a failure they can read in the log |
| 4 | the market: one order, one price | a sale at a price they chose |
| 5 | a contract: who pays what, on which event | a signed contract with a clause the engine executes |
| 6 | the district map, and a garrison | a share of a district's yield |
| 7 | an office, and an election | a vote, and one thing they own |
Day 7 is the test of the design. If a new player finishes week one owning something, they stay. If they finish it owing something, they leave — and the opening week is the first thing to rebalance, not the endgame.
05The world: positions, ownership, the map
The map is a state the engine holds, not a list of links. Every district has a yield, a defence, an owner, and upkeep. Ownership is the endgame, and it is finite.
| Layer | Object | Rule | Numbers for the prototype |
|---|---|---|---|
| Tiles | a district | Yield scales with the district's tier and the work put into it. Every district has upkeep every tick; an unowned district decays. | 64 districts · tiers 1–6 · yield 20–600 / day · upkeep 5–120 / day |
| Claims | a person, a guild, or the city | A claim is won by a capture window, not by attacking a person. A window opens when a district's defence falls below its garrison requirement, and lasts 4 ticks. | 4 ticks · one attacker per window · defender gets 1 tick warning |
| Property ladder | room → stall → depot → facility → district block | Each rung is a job site, a storage volume, and an upkeep bill. Nothing is bought with real money, and nothing is permanent — a block reverts if upkeep is missed twice. | 5 rungs · 50 rooms · 12 stalls · 6 depots · 3 facilities · 1 block per district |
| Contracts | player-written, engine-enforced | A contract is plain text plus a machine-readable clause: who pays what, on which event, with what penalty. The engine executes the clause; the court hears the words. | wages, haulage, defence, share, lease |
| Offices | elected, appointed, bought with Standing | Offices are the late game: quartermaster, magistrate, harbormaster, drill boss. They set rates, hear disputes, and carry duties that the engine checks. | 24 offices · 6 elected by district · 18 appointed by guild |
A committed attacker beats a careless owner. A strong guild cannot take a district nobody bothered to garrison, which is the fairness rule the map needs: you lose what you stopped caring about, not what someone wanted.
06Conflict, and the fairness rules
The genre's core loop is a strong person taking things from a weak person. CADENCE replaces the object of conflict, and puts the fairness rules in the engine, where they cannot be argued with.
| Rule | What it forbids | Why |
|---|---|---|
| No person is a target | attacking a player, robbing a player, hospitalising a player | A new player must not be material for an old one. This is the single rule that makes the genre's onboarding problem disappear. |
| Positions are targets | — | A depot, a route, a dock, a contract. Losing costs ground, not a character. |
| One tick warning | surprise attacks | The defender sees the queue before it resolves. Defence is a decision, not a reflex. |
| Matched tiers | a tier-6 guild taking a tier-1 district | Ground is taken from people who can defend it. A season's map stays contested. |
| No chain | a run of attacks on one target | Chains are the genre's griefing engine. A streak counts against ground, and one target per tick is the ceiling. |
| Consequence, not punishment | admin bans, stat wipes, jail as inactivity | A bad act costs Standing and a fine a court can hear. A person never loses a week of the game because a rule was enforced on them, not with them. |
Removing player-against-player combat removes the emotional core of the genre. People come to Torn to beat someone. Position war is colder: it is a map, not a moment. This is the second big bet in the document, and the kill tests check it in the first season — with the honest possibility that the answer is "positions are not enough; keep a person-against-person layer inside a tier-matched arena, with no loot".
07The economy, and the money rules
One currency, one rule set, and a printed balance sheet. Every source has a paired sink. The economy is watched by three numbers, and the numbers are public.
Sources and sinks
| Source | Paired sink | Design target per day (mid-tier player) |
|---|---|---|
| labour wages (district payroll) | room rent, meals, upkeep | +1,200 / −700 |
| contract payouts (haulage, defence, share) | fines, court fees, garrison upkeep | +400 / −220 |
| craft sales (the market, player orders) | material purchase, tool wear | +300 / −260 |
| district yield share | district tax, office fee | +180 / −150 |
| speculation (buying a share cheap) | the price history, which is public | +90 / −40 |
The three money rules
Rule 1 · No real money in the game
Real currency buys cosmetics, a nameplate, house decoration, and an analytics panel. It buys no bar, no timer, no yield, no stat, and no district. This is the rule that makes the game fairer than the incumbent, and it is not negotiable.
Rule 2 · Every sink is written
A source without a paired sink is inflation with a delay. The balance sheet above is the promise: any new source added to the game must name its sink in the same change.
Rule 3 · Three public numbers
The money supply, the median player's net worth, and the top-10 share of money. Printed on the season page every week. If the top-10 share climbs, the game is turning into an oligopoly, and the season's next rule is tax.
The market: orders, not a shop
A seller posts an ask, a buyer posts a bid, the engine matches. The price history is a public table. There are no fixed shop prices, and no admin price. The incumbent's stock market is a fixed list of 35 stocks; our market is a real order book on 12 commodities, and the price is the players' own.
08The ledger, the API, and the tools layer
The incumbent's third-party ecosystem is the strongest thing in the genre, and it was built by players. CADENCE ships its API on day one, in the same shape, and publishes the rules the API exposes.
The action log is the game Planned
Every action, every tick, every capture, every payment, every court decision is one row in an append-only log. A season is replayable from the log: same inputs, same order, same result. That gives the game three things the genre does not have: an honest audit, a replay, and a way to test a balance change before shipping it.
API first, six families Planned
A public read API on six families, in the shape the community built on: player, district, guild, market, season, world. Read is public. Write is one authenticated endpoint per action type, rate-limited. The community builds the interface we cannot afford to build.
The published formulas Planned
One page, every formula: yield, capture chance, wage, upkeep, decay, stat gain. When a formula changes, the page says what changed, when, and what the log replay showed. A player who can compute the game trusts the game.
The server, in one honest block
Small, on purpose. One process, one database, static pages, one proxy in front. The prototype runs in the same shape as every family service we already run: a container, its own health endpoint, a private network, and a monitor that notices when it stops. Nine requests a second at 1,000 players, which is a laptop, not a rack.
| Part | Job | Prototype sizing |
|---|---|---|
| engine | the tick loop, the queue resolver, the rules | 1 CPU, 256 MB |
| database | state, plus the append-only log | 2 GB per season, indexed on player + tick |
| api | read, plus authenticated write, rate limited | 10 requests per minute per account |
| web | static pages, no framework, the same house sheet this site uses | served as files |
| watch | a health endpoint on the container, a check every minute, an alert to a channel | the shape every family door uses |
Anti-abuse, in the engine, not in the rules page: one account per person, actions queued server-side, no client-side trust, no auto-click, rate limits, and deterministic draws keyed to the tick, so a season can be replayed and a winner audited. The API cannot be used to play for you: writes are bound to a signed-in session, and a write that arrives from a script with no session is refused.
The data model, as a sketch
| Table | Rows | What the engine writes there |
|---|---|---|
| player | one per account | bars, stats, Standing, office, home |
| district | 64 rows, more each season | tier, yield, defence, garrison, owner, upkeep |
| guild | one per guild | treasury, ranks, holdings, charter |
| position | the property ladder | rung, owner, storage, upkeep, state |
| queue | up to 12 rows per player | action, cost, target, the tick it resolves on |
| contract | player-written | parties, clause, penalty, the trigger event |
| order | the market book | commodity, qty, price, side, expiry tick |
| office | 24 rows | holder, rate authority, jurisdiction, duty |
| log | every tick, every action, every result | the append-only record the season is replayed from |
Nine tables. The log table is the one the design rests on: it is what makes the game auditable, replayable, and balanceable, and it is the API's read surface. If the log is write-only and the state is derived, the engine can be rebuilt from its own history — which is the property that lets us change the rules mid-season and prove the change was fair.
09The five themes
One engine, five settings. Each theme page gives the theme pack — the renames, the yields, the signature mechanic, the first season's arc, and what breaks it. The engine is identical: bars, positions, contracts, courts, seasons. What changes is what the nouns mean.
Ancient City Planned
A walled city, a granary, a civic roster. The signature mechanic is a shared pool every citizen drains — a commons that starves if it is over-extracted, which is a mechanic only a city can have.
Read the theme page →
Space Station Planned
A relay station, a hull, a crew. Life support is a ledger the engine tracks: oxygen, heat, power, per station, per tick. A crew that plays well keeps a station alive; a crew that plays badly kills it, in the log, visibly.
Read the theme page →
Deep Colony Planned
Domes on a shelf, depth as the risk ladder. The deeper the dock, the higher the yield and the higher the published failure chance. A depth ladder is a risk curve you can read — exactly the thing the genre keeps secret.
Read the theme page →
The Frontier Line Planned
A rail head, a telegraph, a land queue. The signature mechanic is the line itself: track is laid tick by tick, and the map changes shape as players build. Supply chains are real — grain to rail to market, with a delay you can see.
Read the theme page →
Neon Grid Planned
The control theme, closest to the incumbent: a megacity and its syndicates. The twist is that Standing is the currency — the market trades in reputation, and a name is the thing you spend. This is the theme that tests whether the engine can carry the genre's own emotional core.
Read the theme page →
themes/compare.html puts the five themes side by side — the renames, the signature mechanic, the build cost, the audience, and what breaks each one. Which theme runs first is a decision we make together, not one the engine makes for us.
10The theme layer, as a spec
The structural opening. If the engine's nouns are data, a theme is a file, and five themes cost one engine. This is what the code has to be to make that true.
| Engine noun | What the engine knows | What the theme file supplies |
|---|---|---|
| Bar | a number, a cap, a refill rate, a consumption cost | the name, the art, what it is spent on, and the recovery rule (granary, air, food, power) |
| Job | a wage, a stat gain, a requirement, a shift length | the job list, the sector names, the daily points, and the interview questions |
| Position | tier, yield, defence, garrison, upkeep, owner | the map, the names, the terrain, and what a position is (a granary, a dock, a relay, a siding) |
| Act | a cost, a duration, a risk table, a reward table | the act list and its names (a haul, a dive, a run, a drill, a salvage) |
| Contract | parties, terms, penalty, execution trigger | the contract shapes the theme allows (sharecrop, charter, berth, claim, line contract) |
| Office | election, rate authority, jurisdiction, duty | the offices, their names, and what they set |
| Season | 12 weeks, objectives, new ground, new rules | the season's arc, the objectives, and the signature mechanic for that theme |
A theme file may rename, re-skin, re-yield, and add one signature mechanic. It may not add a bar, a combat object, a currency, or a new verb. One signature mechanic per theme, and no new verbs, is what keeps five themes on one engine — and what keeps the balance comparable across them. A theme that needs a new verb is a new game, and we should say that plainly before writing it.
11The build plan
Small, ordered, and honest about scope. The plan assumes one developer and one writer. It is not a plan that beats the incumbent in content; it is a plan that proves the engine.
P0 · The rules document
Everything on this site, tightened: the formulas, the tables, the fairness rules. Written before code, because code is the expensive place to change your mind.
P1 · The paper season
Play the engine by hand: 12 players, one sheet, 40 ticks a day, one season. No code. This is the cheapest possible test of the queue design, and it is the test that tells us whether "plan once, run all day" is fun. Two weeks.
P2 · The engine, one theme
The tick loop, the queue resolver, the ledger, the read API, a single-page client. 40 players, one theme, the full season. Nine weeks.
P3 · The social layer
Offices, courts, contracts, guilds, the market. This is the endgame, and it is the second half of the build. Eight weeks.
P4 · Season 2, theme 2
The theme layer proves itself: run season 2 in a different theme, from a file, on the same engine. If that costs weeks, the theme layer is real. If it costs months, it is a slogan.
P5 · The tools layer
Public API, published formulas, the community dashboards. The cheapest growth in the genre, and the thing the incumbent's players already do.
What the prototype ships with
| In scope for P2 | Out of scope for P2 |
|---|---|
| 4 bars, 4 stats, 6 districts, 6 jobs, 12 acts, 24 offices | art, sound, animation |
| the tick loop, the queue, the ledger, the daily report | a mobile app |
| contracts, courts, the market order book | a real-money shop of any kind |
| the public read API, the published formulas page | player-against-player combat |
| one season, one theme, 40 accounts | open sign-up, moderation queue, a public website |
One developer for a season, one writer for the rules, and the running cost of one small container. This is a hobby-sized build with a professional shape. It is not a product launch, and we should not talk about it like one. The cheapest thing in the plan is the paper season, and it is the one that will teach us the most.
12The kill tests
Three tests, each with a number, each with a decision attached. If a test fails, the design changes. That is the whole point of writing the numbers down.
Test 1 · The queue is fun Undecided
In the paper season, players queue actions and do not watch them resolve. If fewer than 7 of 12 players queue more than 3 actions in a day, the queue is not the product. The incumbent's bell is the product, and we will have removed it.
Decision if it fails: keep the queue, restore a return-visit hook — a live window where a position is contested once a day, at a fixed tick.
Test 2 · Positions carry emotion Undecided
In season 1, at least 60 % of players must take or lose a position, and the board must be discussed on the season page. If nobody cares about a district, the fairness rules have taken the feeling out of the game.
Decision if it fails: add a tier-matched arena, no loot, no hospital — a person-against-person layer that costs Standing, not stuff.
Test 3 · The economy does not run away Undecided
By week 6: the median player's net worth must be higher than week 1, and the top-10 share must stay under 30 %. If the median falls, the sinks are eating the working players. If the top-10 share climbs, the season's next rule is tax.
Decision if it fails: rebalance the payroll and the upkeep tables, in the open, against the log.
The metrics the season is judged on
| Metric | Target, season 1 | What it means if it misses |
|---|---|---|
| day-1 → day-7 retention | ≥ 60 % of the first 40 | the opening week is not teaching anything |
| median session length | 3–6 minutes a day | players are watching bars, so the queue failed |
| players with a positive wage | ≥ 80 % | the payroll is sized for the top tier only |
| positions changed hands | ≥ 30 % of districts | the map is furniture |
| contracts written by players | ≥ 20 in season 1 | the social layer is decorative |
| a third-party tool on the API | ≥ 1 by season 2 | the tools layer did not get built, and growth stalls |
| reports of unfair play | 0 | a fairness rule is being worked around, and the engine must carry it |
13What we decide next
Three decisions, in order. None of them need a server, and one of them needs twelve people and a sheet.
Pick the first theme Undecided
Ancient City is the best test of the commons mechanic and the most legible for a family playtest. Neon Grid is the best test of the genre's emotion. The comparison page is the argument; your choice is the decision.
Run the paper season Undecided
Twelve players, two weeks, one sheet. It kills the two big bets in this document for nothing, before a line of code is written. The roster is twelve of us.
Sign off the rules page Undecided
The formulas, the yields, the fairness rules, and the money rules. Once the rules page is signed, code is the cheap place to change a number. Before it is signed, code is the expensive place.