Missions with consequence: the NPC remembers what you did
Missions left a JSON file and became an engine. Today the person who hands you the job has a voice, a memory and a price — and one action advances every mission that asked for it.
IMAGE SUGGESTION (cover) — does not exist yet A screenshot of an NPC dialogue tree: the line, three reply options, and the visible effect of each (respect, price, mission unlocked). Capture at 1440×810 with an NPC that already has reputation built up, otherwise the screen does not show what the post is promising.
The first version of Chaos City missions was a JSON file with hand-written objectives. It worked until the third mission. After that, any new objective meant touching the file, the code that read the file, and the screen that showed the progress.
Today a mission is an engine. And the person you talk to stopped being a button.

What changes for you
- Missions have an owner. You do not pull a job off a board: you get it from an NPC, by talking.
- The NPC remembers. Every NPC holds respect for you, and respect moves the price they charge and what they are willing to offer.
- Dialogue choices have effects. Close a door and the door is closed.
- One action advances every mission that asked for it. Selling an item counts across all your active sell missions, at once.
- Contracts per NPC, separate from story missions.
- Procedural missions that read world state — if a faction is strong in a region, what shows up there changes.
- A mission pays once, at the claim, and only if it was earned.

18 objective types
A mission engine is worth the vocabulary it accepts. Chaos City's knows how to ask for, among others: kill, collect, deliver, sell, buy, craft, dismantle, upgrade, visit a region, complete a field op, extract, talk to an NPC, reach a reputation, train a skill, win a battle, survive a raid, reach a level, and complete another mission.
Each type is an independent piece: it describes the objective on screen, measures progress, and decides completion. Adding the nineteenth does not touch the other eighteen.
Stateful dialogue
The conversation engine is not text with an OK button. It holds where you are in the conversation, what has been said, and what you chose.
That allows three things the old version could not:
- Coming back to an NPC resumes where you left off, instead of restarting.
- A rude answer now costs — respect is a scale and you go down it.
- A mission can exist only for someone who went through a particular conversation.

Respect is price
NPC reputation is not a decorative bar. It is a discount when buying and an edge when selling. It is also what you burn doing certain things: trading while under police investigation, for instance, costs part of the respect you had banked — without dropping your tier, but it hurts.
It was that symmetry (the same number pushing price both ways) that opened the economy exploit described in Devlog 04. We closed the loop and kept respect worth what it is worth.
Consequence is not infinite branching
Something we decided early: consequence here is not a story tree with 40 endings. It is a matrix — a small set of world states (who controls what, who trusts you, what the police know) that many missions consult.
Infinite branching is expensive to write and cheap to perceive: the player rarely sees the branch they did not take. World state is the opposite — cheap to maintain and expensive to ignore, because it comes back in every mission after it.

Telemetry: how we know whether a mission is any good
Every mission records what happened to it: how many accepted, how many abandoned, at which objective the abandonment happens, how long it took. A mission with abandonment concentrated at one objective is a badly written objective, not an impatient player.
That is what lets us fix content after launch without depending on "people complained on Discord".
What comes next
Next week the closed beta opens with 100 seats — and the devlog after that is about what the beta broke. It will break.
→ Join the Discord to enter the draw for a seat.
The city is already running.
Everything in this post is live. Make a character and see how long you last.
Play free