People: names, languages, cultures, histories and daily schedules

Notes compiled 2026-11-05 for Elsewhere and the Tycho study page People and histories. Target: plain JavaScript on a phone, deterministic from a seed, feeding people to Tyrell (the minds engine in tyrell/). Sibling notes: settlements_paths_vegetation.md (where villages and roads go) and world_generation.md (Watabou, villages as geometry).

Sourcing: several sites blocked fetching during this research: mewo2.com’s naming-language essay (now a real 404), stardewvalleywiki.com (403), ck.uesp.net (403), dwarffortresswiki.org (429 on most pages), Springer and Fandom. O’Leary’s and Azgaar’s generators were read from their source code on GitHub instead, which is better evidence than the essays. “(search summary)” marks a claim from a search-result snippet only; “(unverified)” marks one recalled but not fetched. Treat both as less certain.

What Tyrell already does, and what a generator must hand it

Read from tyrell/README.md, tyrell/docs/concepts.md, places.md, time.md, deciding.md, api.md and the module pages.

What Tyrell does not do, and a generator must supply: names, languages, cultures (as tags, values, taboos, line sets), the history before minute 0 (as born, households, sentiments, memories, facts), and the routines themselves (it runs routines; it doesn’t write them).

Names and languages

Martin O’Leary’s naming languages

Essay mewo2.com/notes/naming-language (offline at the time of writing); code github.com/mewo2/naming-language (one file, language.js). It is the generator behind the @unchartedatlas map bot, first built for NaNoGenMo 2015 (search summary).

A contrast: Frozen Fractal’s “Around the World 19” trains Markov chains on the UDHR corpus (372 languages) over letter classes, mixes components from 30+ hand-picked languages for over 50,000 combinations, caps names at 20 letters, and calls O’Leary’s output “a uniform soup of words” with a “rigid phoneme structure” (frozenfractal.com).

Rosenfelder, Gen, Lexifer, Awkwords, Vulgar

Markov namers, Azgaar, Dwarf Fortress, templates

Place names from the land

From Wikipedia’s List of generic forms in place names in the United Kingdom and Ireland:

Element Origin Meaning Example
-by Old Norse settlement, village Whitby, Grimsby
-thorpe Old Norse secondary settlement Scunthorpe
-thwaite Old Norse clearing with a dwelling Braithwaite
-ton Old English enclosure, estate, homestead Brighton
-ham Old English farm, homestead Nottingham
-wick/-wich Latin/OE place, settlement Norwich
-bury/-borough Old English fortified enclosure Canterbury
-chester/-caster OE from Latin castra Roman fort Lancaster
-stow Old English (holy) place of assembly Padstow
-ing Old English people of Reading
-ford Old English ford, crossing Bradford
-burn/-bourne Old English stream, small river Eastbourne
-beck Old Norse stream Troutbeck
-den/-dean, -dale, -combe OE, ON, Brythonic valley Rottingdean, Rochdale
-ley/-leigh Old English leah woodland clearing Barnsley
-hurst Old English wooded hill Lyndhurst
-mere Old English lake, pool Windermere
-mouth Middle English river mouth Plymouth

The Key to English Place-Names (Institute for Name-Studies, Nottingham, from the Survey of English Place-Names) gives each name’s meaning, elements and their languages. Pattern for a generator: a generic keyed by terrain or settlement type plus a specific (a person, an animal, a color, a tree) (inference). English names put the generic last; Welsh and Gaelic names put it first (Aber- “river mouth”, Llan- “church enclosure”, Inver-, Kil-) (inference from common knowledge of the elements; not fetched).

Daily schedules and routines

Takeaways for schedules

Three proven data shapes, simplest first: Ultima VII’s eight slots of (period, activity, point); Stardew’s keyed variants tried in priority order down to default; Bethesda’s cascading package list. Tyrell’s routine variants ({ days, when, plan }, first match wins) are the Stardew shape with Ultima’s entries, under needs from The Sims. Off screen, everyone who has shipped this precomputes or teleports and never lets far actors interact; Tyrell’s event queue is the exact version of the same idea (inference).

Generated history

Dwarf Fortress: simulate, then let the player in

Caves of Qud: generate the events, then explain them

Grinblat and Bucklew, “Subverting Historical Cause & Effect: Generation of Mythic Biographies in Caves of Qud”, FDG 2017, DOI 10.1145/3102071.3110574 (PDF).

Talk of the Town and curation

Ryan and Mateas, “Simulating Character Knowledge Phenomena in Talk of the Town”, Game AI Pro 3 ch. 37 (PDF); source talktown basic_config.py.

Ultima Ratio Regum (Mark R. Johnson)

Lineage and legacy

Cultures from the land

Costs, and what fits a phone

System Scale Cost
Dwarf Fortress up to 1,050 years, tens of thousands of figures minutes to hours (community reports only)
Talk of the Town 140 years, 300 to 500 NPCs, ~1,000 facets each “a few minutes”; 1.4% of half-days simulated
Caves of Qud 5 sultans × ~12 events, 2 events per village not stated; structurally trivial
Shadows of Doubt (early) hundreds of citizens, 4 to 10 trips a day 10 to 15 s to plan a day
This study’s history demo 300 years, 3 to 4 cultures, ≤28 towns, ~100 events 60 to 75 ms in Chrome on a laptop (measured)
This study’s schedules demo 10 to 14 people, 3 routine variants each position is a pure function of the clock; microseconds a frame

A quest-sized past fits in a frame budget’s worth of work at load, if it simulates years coarsely, keeps only events, and prints them into the place (inference).