Inference capacity for AI games
Erlang-C sizing for a latency target, checked by simulation.
Engineering notes from the slate and new research, in one stream. Subscribe via the RSS feed.
Erlang-C sizing for a latency target, checked by simulation.
Guests can lie, but every lie must stay consistent with what they've said before and with the case's hidden facts. A checker validates each line against a fact table before it's spoken. Contradictions are regenerated, not shown.
Power-law retention, LTV, and why your best players are your most expensive.
Hit rate vs player think time, and when the one-hour cache wins.
Senators negotiate with each other while you're not in the room. Running all hundred in real time cost more than the rest of the game combined. We now batch off-screen deliberation once per in-game hour and simulate in detail only the senators within two relationship hops of the player.
How many wishlists a $600k deal needs, with the uncertainty left in.
Every promise a player makes is parsed into a structured record (who, what, due when) the moment it's said. The harbourmaster used to 'remember' promises through retrieval alone and got the due day wrong about one time in nine. Now the date lives in game state and the model only decides how annoyed to be. Error rate on our planted-promise test: zero across 400 runs.
Closed-form studio take under four deal structures, crossovers, and 400,000 simulated outcomes.
The regulars run on a small on-device model, fine-tuned per character on lines written by our narrative team. No network calls at all, so zero marginal inference cost per player.
Squadmates now reply to orders with one of four stances (comply, query, counter-propose, refuse) chosen by game code from morale and relationship values. The model writes the words, never the stance.
Playtesters thought the adaptive director was cheating. We added diegetic signs: changed animal tracks, moved cairns, a ranger's notebook that records what the forest 'noticed'. Perceived fairness rose from 5.8 to 8.1 out of 10 with no change to the director itself.
Context growth is quadratic. Here is the k that minimises it, derived and verified.
The case generator now produces a proof: the chain of evidence that identifies the culprit. Cases without a proof are discarded before the night starts. About 7% of drafts fail; nobody plays them.
Players asked islanders about the tide schedule constantly, and the answers were long. We moved tide questions to a tiny routed model with the schedule in its prompt and a 40-token cap. Cost per player-hour dropped 31% and nobody in playtests noticed the switch.
Each regular has a life timeline that advances when you're away, written as structured events. They tell you what happened; the game decides what did.
An early build let a senator talk indefinitely if they believed they were filibustering. We added a deterministic rules core: the chamber clock is code, and the model can only propose speeches, not decide when they end.
Party behaviour is now summarised into a single structured profile per night instead of per player, which cut director calls by three quarters.
Speech-to-intent now runs on-device. The server model is only called for the squadmate's reply, which streams while the unit starts moving.
First-time players froze at the empty question box. We added three suggested questions that change with context. Time to first question fell from 41 to 9 seconds.
All islanders now share a single cached world block (geography, ferry rules, the history of the drowned bell) before their personal sheets. Cache hit rate on that block is above 95% in long sessions.
Send a build, a deck or two minutes of raw footage. A producer plays every pitch and answers within 10 business days.