Tetracta

Work / Z-Town

Z-Town: 25 residents, one gaming GPU

A small 3D village where each AI resident picks its next action from the moves the world allows, using our Z-Next model. Each resident keeps its own fixed-size state. Z-Town is where we test this for game characters, and it is the starting point for a one-character pilot in your game.

Enter the live village Plan a pilot

Status
Live at ztown.tetracta.ai, for visitors aged 18 and over
Updated
11 Nov 2026
Decisions by
Z-Next, product variant
Runs on
One NVIDIA gaming GPU
State per resident
About 5.2 MiB, fixed
Language
Residents speak English; the village interface also offers Turkish

The problem

Most non-player characters run on scripts and behaviour trees, so they do what they were written to do. A language model can choose more freely, but a typical transformer keeps every token it has read in a KV cache, so the memory a character takes grows the longer it plays. With many characters in a long session, that growth has to be budgeted.

Z-Next, our own architecture, has no attention layer and no KV cache. Each session is held in a fixed-size state. When we grew the input from 952 to 31,926 tokens, the state stayed the same size. Z-Town is where we test whether that property is useful for game characters.

What we built

The live village seen from above on village day 180: houses, a market and paths, two residents with speech bubbles, a list of recent events, and a panel reading 25 AI residents in Willowbrook, 5 deciding what to do next, Decisions: Z-Next.
Willowbrook on village day 180, captured on 11 November 2026. Speech bubbles are what residents said; the list at the bottom is the running record.

Willowbrook is a small 3D village of 25 AI residents. They work, eat, travel and visit each other. Each resident is its own Z-Next session, and all residents share one copy of the model. Decisions come from the Z-Next product variant.

The village keeps a word-for-word record of what happens, including each resident's diary. Everything we quote on this page comes from that record.

What the game rules do, and what the model chooses

The split between the game and the model in Z-Town.
PartWhat it decides
Game rulesNeeds such as hunger and rest, which actions are allowed at each moment, and how character traits change.
Z-NextWhich of the allowed actions the resident takes next, including whether to accept or refuse another resident's invitation.

If the model is not available, residents wait; no rule-based fallback acts for them.

The record says what a resident did. It does not say why, and we do not add motives.

How it runs

The whole village runs on one Linux PC with one NVIDIA RTX 5070 Ti: one shared copy of Z-Next and 25 resident states. Visitors need only a browser. Z-Next's weights take about 3.8 GB in fp32, and the model runs on a 16 GB GPU.

Because each state is fixed in size, adding a resident adds a known amount of GPU memory, and that amount does not grow while the village runs. After a restart or an update the same residents carry on from where they stopped.

Village time runs faster than real time, so village days in the record do not match calendar days.

Speed. A resident's decision takes about a second. The measured figures are in the shipping questions table.

Results from the record

The village started on 24 October 2026. The first table is from the village's statistics screen on 11 November 2026. The second holds the counts that have no newer value; they are as of 28 October 2026.

Z-Town statistics screen: as of 11 November 2026.
MeasureValue
Village day185
Resets since day 10
World updates (each change to the village counts once)606,978
Residents25
Pets5
Z-Town village record: counts as of 28 October 2026.
MeasureValue
Village started24 Oct 2026
Software updates to the running village5
Times residents refused each other1,290+
Iris Reed's invitations to Clara Silva: accepted, refused7, 3

Each of those five software updates paused the village briefly; afterwards the same residents carried on, and so did the village clock. Refusals count only invitations the invited resident actually answered; busy or missed invitations are not counted. No script or rule produced them: each refusal was the model's choice for the invited resident at that moment.

These counts show that residents' choices vary and are not scripted. They do not show that choices get better over time.

One morning, word for word

Lines from the Z-Town village record, day 25, quoted exactly.
Village timeSourceRecord line
Day 25, 07:18Village recordClara Silva ate bread at the bakery.
Day 25, 07:59Village recordClara Silva ate bread at the bakery.
Day 25, 08:00 to 08:07Iris Reed's diaryDay 25, morning (08:00-08:07): You went to see Clara Silva at the bakery, but Clara did not want to talk.
Day 25, 10:08Village recordIris Reed ate bread at the bakery.

Clara Silva had eaten twice before Iris Reed came to see her, and did not talk with her; Iris ate at 10:08. That is all the record holds about this moment.

What is not done yet

  • Open conversation. Visitors can talk with residents in the live village today, with no account. It is a 1B model, so replies can be wrong or drift; the figures on this page come only from what the village record logs.
  • Audience and language. The village is open to adults only. Residents speak and decide in English. The village interface also offers Turkish.
  • Learning. Residents learn from what they live: after each village night the model is tuned on the village's own record. We are still measuring how much that changes their behaviour, and will publish the figures when we have them.
  • Recall. The fixed-size state is about memory cost per character: how much GPU memory each one takes. Recall, meaning remembering what was said many turns ago, is a separate and weaker result at this model size. On a natural-language needle test, Z-Next's long-context recall was 0.306 against a chance level of 0.25. That is at 1B parameters and 10B training tokens, and the same-size transformer is also near chance.
  • Speed. Each Z-Next step is slower than a step of a comparable transformer, and serving hundreds of live sessions together has not been measured in the village.
  • Safety. Z-Next has had no safety tuning: no RLHF, red-teaming or content filter. A game shipped to players would need this work first.
  • Platforms. Today it runs on NVIDIA GPUs with PyTorch and CUDA. Quantising the model, fixing seeds and measuring on your hardware are part of a pilot. A port to a console or mobile runtime is a separate piece of work that we scope with you.

Stack

What Z-Town runs on today.
ComponentWhat we use
Decision modelZ-Next product variant, instruction-tuned from the 947-million-parameter Z-Next base
State per residentFixed size; it does not grow while the village runs
Model weightsOne fp32 copy, shared by all residents
SoftwarePyTorch and CUDA
HardwareOne NVIDIA gaming GPU for the whole village
LanguageEnglish

The product variant passed 14 of its 17 pre-registered gates, so it is recorded as a fail. It is still our best chat variant, so Z-Town uses it, labelled as not passing. The Z-Next model card and the system card give the full evaluation.

Shipping questions for game studios

What we can answer today. Rows tagged Pilot are not measured yet: the pilot measures them on the hardware you name, and you get the figures.
QuestionAnswer
Where the model runsOn a machine that your studio hosts or that we host, the way the village runs today (see How it runs). Players install nothing
Memory per characterOne state of fixed size per character, beside one shared model. It does not grow with the length of the session
Engine integrationThe game sends the character's allowed moves and visible state; the model returns the chosen move and, if wanted, a spoken line. The character can only pick from the moves the game sends
Quantised buildsPilot The village runs in fp32. In the pilot we quantise the model to int8 or 4-bit and give you its measured size and decision speed
DeterminismPilot In the pilot we fix seeds, replay the same seed and state, and report whether the action comes out the same
Consoles and mobileNo console or mobile port exists yet. A port is a separate piece of work (see Platforms)
Batched servingPilot In the pilot we serve many characters together and report the speed you get. Today's measured case is the village itself, all residents on one card
Decision speedMeasured in the live village, with all 25 residents on its one GPU: median decision 1.07 s over 24,352 decisions in three days, 90% under 1.56 s and 99% under 2.15 s. A spoken line takes a median of 1.01 s end to end. Sustained generation is about 48 tokens per second, single-stream and unoptimised. These figures come from our own setup; the pilot measures them again on yours
Language and safetyThe model works in English only. It has no safety tuning yet, so a shipped game would need that work first
Terms for a shipped gameAgreed per studio after the pilot, under NDA. The model is built at the size your game needs; see how access works
Middleware and tools companiesAn integration agreement for a model trained for your product, discussed under NDA

Pilot one character in your game

You tell us about the scene, the character and the constraints of your game. We reply within one working day and tell you whether we can help. A first job is a pilot of one character in your build, on an NVIDIA GPU, and takes two to four weeks. Its scope and price are fixed in writing before it starts, and you owe nothing until you accept them. Larger work is quoted only after it, when both sides have the pilot's numbers.

The pilot puts one Z-Next character into your build. You get the measured memory per character and decision speed, and the character's full decision record.

The steps

  1. After a first call, you send us the moves your character may make and the game state it can see.
  2. We connect one Z-Next character to your build.
  3. We run it on your hardware and measure.
  4. We review the numbers with you.

A pilot measures decisions first; a spoken line with each move is optional. Z-Next weights are not published, so the pilot runs under NDA.

If your studio wants a smaller first job, such as a forecast built from the player data you already keep in spreadsheets, or a review of what that data can support, see our smaller jobs.

To see the village itself, enter the live village, or watch the 31-second teaser on Hugging Face.

Pilot one character

Start with a call about the character you have in mind.

Plan a pilot