They did not use exactly the same words. One knew the victim’s name. Another remembered the East Gate. A third had already reduced the event to “someone killed someone.” Each line made sense on its own. Together, they sounded less like a tavern and more like a message bus wearing seven hats.
This was not a writing problem. The simulation was doing precisely what I had asked it to do. That was the problem.
The tavern was a message bus#
In the old version, every NPC constantly tried to tell everybody everything they knew that seemed new to the listener. In a social hub, everybody could gossip with everybody else on every round, and a spoken rumour went to every person in the room. NPCs then took their turns one after another: one person spoke, the listeners learned the claim immediately, and somebody processed later in the same round could repeat what they had just heard.
The novelty check was equally literal. It asked whether this teller had already given this claim to this listener. It did not ask whether the listener had heard it from somebody else, whether the room had just heard it, or whether the proposed listener was the teller’s own source. A rumour could cross the tavern and return to the person who brought it in, slightly blurred and apparently unaware that it had been home before.
The result was mechanically honest and socially absurd. Nobody knew more than they had seen or been told, but everyone treated their entire memory as a delivery queue. Put enough NPCs in one place and information flooded the room before a player could decide whom to listen to.
Suppressing information on purpose#
The tempting fix was to hide repeated lines in the text renderer. That would make the transcript shorter while leaving the world unchanged. Every NPC would still learn everything; the player would simply be denied the evidence.
Instead, I changed how conversation works.
People now gather into companies: a table, a group at the bar, or the open room when the place is quiet. In a quiet room, one company may speak and everyone can hear. In a busy room, people hear their own company clearly while other conversations collapse into hubbub. A player who wants more than the hubbub has to join a company or listen in.
Each company volunteers at most one rumour per round. More importantly, all speech for the round is selected before any of it is committed to memory. If Grigory hears something from Agafya at 13:30, he cannot relay it until a later round. Same-round chains are impossible.
The system also refuses three particularly unhelpful acts: telling a source its own rumour, repeating news the audience has already heard, and immediately recycling something heard in the same room. The check follows the claim through blurred retellings, so dropping a name does not trick the simulation into treating old news as new.
One line instead of seven#
Here is the same arrival after the change:
The tavern is still busy. People still talk, and the simulation still knows who is in each conversation. But the player receives one complete rumour and one useful fact about the room: several other conversations are happening beyond easy hearing. Silence here is not missing content. It gives attention somewhere to go.
Across twenty deterministic seeds with nobody intervening, the number of tellings fell from 11,624 to about 1,850. Corroboration raises fell from 2,090 to 279. Average output moved only from 2.01 to 1.83 lines per round, because the world did not become empty; movement, work and ambient conversation remained. The important number was zero: no rumour was relayed in the same round it was learned.
The cost of silence#
Suppression has a price, and one test exposed it. Before the change, a rumour from Pakhomov reached the tavern in all twenty seeds. Afterwards it arrived in twelve. In the other eight, nobody with a reason and an opportunity carried his shout onward.
I did not tune that result away. The old twenty-out-of-twenty score was partly an artefact of the relay cascade. Once every bystander stopped behaving like a network repeater, the weakness of that information route became visible.
That is useful. News should move because a person travels, belongs to an institution, cares about the subject, or chooses to pass it on—not because every nearby NPC is obliged to forward every packet. Some rumours should stall at a table. Others should reach the watch through a witness, a clerk or a traveller whose route can be followed and, eventually, disrupted.
This is the less glamorous half of building the social model I described in How Rumours Travel: not teaching information to spread, but teaching it when to stop. A living world is not one where everybody knows everything. It is one where every piece of news has to earn its way into the room.