Essay
Age 8, STR 10, Happy 1: why AI stories get numbers wrong.
Character sheets are full of numbers. To an AI storyteller, most of them mean very little, and some are wrong by next week. Why that happens, and what Dai Novel writes instead.
Here’s the world I use in every post. You play an F-rank adventurer, the lowest rank in the guild, digging up mana shards to pay for your little brother’s medicine.
Say you set it up the way most character sheets do. Your brother: Age 8. You: STR 10, MANA 10/10, Happy 1, Sad 0.5.
Then you play.
- Two winters pass in the story. Your brother is still 8. The writer still calls him small enough to carry.
- A goblin with STR 12 throws you across a room. Next scene, a guard with STR 9 pins you with one hand.
- You cast three firebolts. Your mana is still 10/10. Or it’s suddenly 2/10, and you can’t work out why.
- Happy goes from 1 to 3. Nothing in the story changes. What does a 3 do that a 1 doesn’t?
The writing is fine. The numbers are noise.
A number is a sentence with words missing
When you read “STR 10”, you fill in the rest without noticing. Out of what? Compared to whom? True as of when? An AI has to fill those in too. It just fills them in a little differently every turn.
And language models are worse with numbers than they look. They read text in small pieces, and to them a number is just more pieces. In 2024, many chatbots insisted that 9.11 is bigger than 9.9. A story asks for harder things than that: carry a number across fifty turns, add up costs, notice that a date has passed.
So let’s take the sheet apart, one number at a time.
Age 8: the number that goes stale
In Washington Irving’s story “Rip Van Winkle” (1819), a man falls asleep in the mountains and wakes up twenty years later. He walks into his village and declares himself a loyal subject of King George. There has been a revolution since. There is no king any more. Rip isn’t lying. His news is just old.
“Age 8” is Rip’s news. It was true on the day you wrote it. The story’s clock moves; the number doesn’t. Two winters later the AI reads “Age 8”, and it believes it, because nothing on the sheet says when it was written.
What Dai Novel does: store the moment, not the age. A world has a clock, and nobody on it has an age. The author writes when someone was born. The editor’s own help says it plainly: store the date, never an age. Then, every turn, Dai Novel works out each character’s age at the time of the scene and hands it over fresh.
We added one more thing, because a number alone wasn’t enough. “Ten months old” tells a model very little. Can he walk? Talk? So characters also get a stage of life: a baby, a toddler, a child, a youth, grown. We learned this one the hard way. In a test, a toddler learned to walk, and his own notes kept saying “cannot walk” for turns afterwards, until we made those notes start from his age today.
The same rule goes for anything that ends. A poison doesn’t last “three turns”, because a turn can be a minute or a month. It lasts until 14:30 on 23/05/1088. A time on the clock never goes stale.
STR 10: a number with no ruler
Before the 1790s, a foot or a pound in France changed from one town to the next. Then the Revolution made one ruler for everyone: the metre, cut as a platinum bar in 1799, “for all times, for all peoples”. A number only means something when both sides share the ruler.
STR 10 has no ruler. Out of 10? Out of 100? In Dungeons & Dragons, a Strength of 10 is a perfectly ordinary person. In a cultivation story, it might be a beginner. In a story about gods, it might lift mountains. The AI doesn’t know which story it’s in, so it guesses. And it tends to guess whatever makes the scene more exciting for you.
What Dai Novel does: the author writes the ruler first. Before any sheet, a world’s premise says what its numbers mean:
- What each stat is for. Not “STR”, but “Strength: lifting, breaking, holding a door shut”.
- One unit for everything. Level is the unit, and a character’s stats add up to about their level.
- A power reference. Who is how strong: “Village guard: level 3 to 8. Guild master: level 40 to 55. The thing under floor one: 90 and up.”
- Ranks. F to S, each with its level range, what it can handle, and what still kills it.
A sheet can only use the stats the world defines. Write “Charisma” on a character in a world with no Charisma, and the editor drops it when you save.
Now “Strength 10” has a place. A guard’s whole body is worth less than your arms. The guild master isn’t a fight at all. The AI doesn’t have to guess, because the world has already said what the numbers mean.
MANA 10/10: a number with no price
A gauge is a bank account. “10/10” tells you the balance. It doesn’t tell you the prices. How much is a firebolt? A healing spell? Does mana come back overnight, every hour, or never?
If nobody says, the AI sets the price each time, and each time it’s a little different. Then it has to keep the sum in its head, turn after turn. Models are bad at both.
What Dai Novel does: write the prices down, and give the sums to one voice. Each ability says what it costs: “Firebolt: 3 mana.” Each gauge says how it moves and what happens at the ends: “Mana: back 1 every hour of rest.” “HP: 0 is death.”
Then only one voice does the maths. For the people around you, it’s the world itself. After each turn, the world tells every character what happened to them, and when their numbers changed, it ends with the new values in brackets:
You go down to floor one alone and light the crack with a firebolt. Then a second, to see further down. The rock is warm. Something under it moves. [mana 4/10]
The stranger’s own notes copy that number. They never work one out. We tried letting them do the sum, and after a night’s rest refilled his mana, they forgot to charge him for a spell he cast the next morning. Copying beats counting.
Numbers are also catching. Once, the world gave a knight who had no numbers at all a stamina bar: “[stamina 13/15]”. Now it only writes the numbers a character already has. Your own sheet works the same way: one agent owns your numbers and writes every gauge as current out of max.
Happy 1, Sad 0.5: a number pretending to be a feeling
In 1789, the philosopher Jeremy Bentham tried to do sums with happiness. He listed what you would need to measure in a single pleasure: how strong, how long, how sure, how soon, what it leads to, how pure, how many people it reaches. Seven measurements for one pleasure. Nobody has managed to fill them in since.
“Happy 1” is one number standing in for all seven. Is 1 a lot? Can you be Happy 1 and Sad 0.5 at the same time? Happy about what?
Faced with a number like that, the writer does one of two things. It ignores it. Or it obeys it too well, and a character with Sad 0.5 sighs in every scene for fifty turns: at a wedding, at breakfast, at a joke. Feelings pass. A number stays until someone changes it. And a feeling with no reason can’t be played, because “Sad 0.5” never says why.
What Dai Novel does: feelings are words, and they belong to the person who has them. After each turn, every character the scene touched thinks it over in their own voice: what they believe now, what they feel, what they want. That’s where a feeling lives, with its reason attached.
What a character carries from turn to turn is only what will still be true tomorrow. Their notes follow one rule: no passing moods. An event leaves behind only what it made true: a wound, a debt, a belief, a secret. So instead of “Sad 0.5”, your brother’s notes say:
Body: 8 years old; the cough is back at night.
Knows: the medicine costs more than she tells you.
Means to: hide the cough from her.
That’s sadder than any number, and the writer knows exactly what to do with it. Relationships work the same way. Not “Affinity 63”, but one line on where you stand and why: “The guild master: gave you work when the floor closed. You don’t trust why.”
And when a world really needs a feeling as a number, it can have one, as long as it plays by the rules of a gauge. Sanity, Corruption, Favor: the author writes what raises it, what lowers it, and what happens when it runs out. Then it’s a mechanic, not a mood.
Four questions for every number
Here’s the test I use now. Before a number goes on a sheet, it has to answer four questions:
- As of when? If it changes with time, store the moment instead: a birth date, an end time.
- Compared to what? Write the ruler: who is weak, who is strong, what each rank means.
- What does it buy? Write the prices, and let one voice do the sums.
- What happens at zero, and at full? If nothing happens, it isn’t doing anything.
If a number can’t answer them, it’s a word in disguise. Write the word.
Numbers feel exact. That’s their trick. “Age 8” looks more precise than “a boy born in spring, eight years before the story starts”. But only the second one is still true two winters later.
Give your numbers their missing words
Write your world’s ruler, its prices and its birthdays, and let the clock do the rest. Or play a world someone else built, and watch a child grow up while you’re in it.
Create a world or play someone else’s