Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

History Crawlers

Also here: the Arthur & Robin knowledge portal · the landing page


Knowledge portals on the two great English legend-cycles — the Matter of Britain (King Arthur) and what this project calls the Matter of the Greenwood (Robin Hood) — and roguelikes built directly out of them.

The organising claim: there is no single Robin Hood and no single King Arthur. There are a dozen of each, assembled by successive periods that needed different ones, and they contradict each other. That is not a footnote to file in a codex. It is a game mechanic.

So the portal is organised by worldview rather than by chronology or character, and every worldview card carries a game_hooks field translating it into a playable ruleset. The games read that data. Lore lives in exactly one place, and each game is a reading of it.

A lens that changes the win condition but not the shape of play is a skin. — docs/RUN_ENGINES.md


What is playable

ROBINCRAWL — the Pursuit Ledger

Twelve days in Barnsdale as the earliest surviving ballads actually have him: a yeoman, not an earl; devout to the Virgin Mary; based in Barnsdale as often as Sherwood; and extremely dangerous.

The engine inverts the genre's default resource model:

  • Nothing of yours depletes. There is no health bar. Every act leaves evidence; evidence accretes; the county gets better informed until it closes on you.
  • You are caught, not killed. Outlaws in the ballads are taken, not slain.
  • Killing always works, and it is the most expensive thing you can do. Violence never fails a roll. It leaves a body, and bodies — unlike witnesses, tokens and rumours — never fade.
  • Two failure states. The hue and cry can close on the road; or, if you survive it, whatever still stands against you convicts you at the season's assize. Late evidence has had no time to fade, so it counts for most there.
  • Surviving is not winning. The band must raise 275 silver by the season's end, so pure restraint survives and comes up short.

Robin's Marian devotion is a real mechanic — he hears three masses daily and will not dine before he has — and the greenwood is a release valve that buys your neck at the price of your season.

The run log is written in ballad register and rendered at the end as the fitt, as it will be sung — or, if they take you, as the indictment.

ARTHURCRAWL — the Dossier

The second engine, and deliberately nothing like the first: no party, no combat, no health bar, no loot. The adversary is the record.

You are assembling an account of whether a war-leader named Arthur existed. You spend limited access — travel, patronage, permission to read — and you cannot consult every surviving witness. Gildas writes closest to the events, names Ambrosius Aurelianus, and never mentions Arthur. The Historia Brittonum gives twelve battles three centuries later. The Annales Cambriae say Arthur and Medraut fell at Camlann, not that they fought each other. Geoffrey invents a king.

The mechanic that makes it a game rather than a quiz is derivation. Later witnesses copy earlier ones, and a source agreeing with its own exemplar is not a second voice. Bede's silence is Gildas's silence repeated; Wace agreeing with Geoffrey is Geoffrey twice. Collating to find out costs access you could have spent reading something new. In the harness, a reader who counts every agreeing witness as independent is discredited 98.9% of the time.

Then you publish, and are scored not on whether Arthur existed but on whether your claims match what the surviving record warrants. "Not proven" is a correct answer when nothing warrants a verdict, and asserting what the record will not bear is the only way to be discredited.

What varies between runs is which witnesses survived to be read at all — 14 distinct answer keys across 400 runs. A claim that is warranted in one run genuinely is not in another. That is how the real problem works.

The Arthur & Robin Portal

321 cards: 12 worldviews, 85 figures, 84 documents, 39 scholars, 23 topics and a 78-event timeline running from Gildas's silence to Ridley Scott. Every card records source_method, review_status and confidence, and carries a scholarly_disagreement field wherever the point is contested — which is most of the time in both cycles.

All cards are DRAFT: assembled from cited scholarship and from a personal research library, and not checked line by line against primary sources.


The twelve worldviews

Cycle Lens Period What the ruleset changes
Arthur Arthur of the Welsh c. 600–1100 Named specialists whose names are their abilities; nested impossible tasks; disappearance, not death
Arthur Geoffrey's Pseudohistory c. 1136–1200 Contradictory witnesses, limited access, derivation-spotting, and a record that judges what you publish — playable now
Arthur Chrétien's Courtly Romance c. 1170–1191 Two enforced acts: a false victory at the midpoint, then an interior flaw as antagonist
Arthur The Grail Made Christian c. 1200–1240 A hermit reprices your past after each floor; most builds are meant to fail
Arthur Malory's Fellowship c. 1469–1485 Loyalty bonds that must break; every bond you build makes the ending worse
Arthur Revival & Afterlife 1816–present Pick the narrating century; it rewrites the moral scoring of identical acts
Robin The Ballad Outlaw c. 1377–1500 The hue and cry. Killing is cheap and legally ruinous — playable now
Robin Robin of the May Games c. 1420–1590 You are not Robin; you are a parish staging him to fund a church roof
Robin Robert, Earl of Huntington 1569–1601 Accumulate legal title, not loot; combat damages your case; the last room is a court
Robin Ritson's Radical 1795–1883 A countryside-poverty meter is the score; loot held personally is worth nothing
Robin The Technicolor Robin 1922–1973 An élan meter that any lethal blow on a named character resets to zero
Robin Prince of Thieves & the Heritage Hero 1991–present Each finished run is commemorated, and its gift-shop version becomes future canon

Two things the research changed

"Rob from the rich, give to the poor" is not medieval. The Gest of Robyn Hode's Robin lends money to an impoverished knight, extorts it back from a lying monk, and instructs his men to spare husbandmen, yeomen, knights and squires while beating bishops. The first surviving statement of the slogan is John Major's, in 1521 — and Major is also where the Richard-I framing comes from, not Scott. Joseph Ritson's 1795 edition gave the claim a scholarly apparatus, a Jacobin politics and a biography, and made it the organising principle. This corrected an earlier draft of this project that credited Ritson with inventing it outright.

The pagan Robin was invented in 1984. Herne the Hunter appears in The Merry Wives of Windsor as a local Windsor ghost and has no connection to Robin Hood before Richard Carpenter's Robin of Sherwood. Within a decade the mystical, earth-religion Robin was widely assumed to be the oldest stratum of the legend. It is the newest.


The lineage

This repository is the first place where both halves of a long-running practice ship together.

Phase one — knowledge portals. For several years the work was research infrastructure: SQLite-backed, provenance-tracked, statically generated databases and portals on esoteric, medieval and early-modern subjects. A partial list, all live:

Portal Subject
AtalantaClaudiens Maier's Atalanta Fugiens (1617) — the architectural template the rest follow
AgrippaDOP Every chapter of Agrippa's De occulta philosophia across its 1510 draft and 1533 print
The Alchemical Index · Alchemy Timeline Map Alchemical corpora, persons and chronology
MedievalMagicDB · MorignyPortal Medieval magic; John of Morigny's Liber florum
CrowleyDB · TheosophicalAlchemyDB Modern occult corpora
Esoteric Studies Database · DBCatalog The aggregate, and a catalogue of the catalogues
PKD Source Database · Exegesis Summaries · Zebrapedia Philip K. Dick
Dee Summaries · ZorziHarmoniaMundi John Dee; Francesco Giorgi
The Vocabulary of Magic Magic vocabulary across the Magic: the Gathering corpus

Plus WitcherPortal, IslamicateOccultPortal, ChristianCabalaDB, WitchcraftStudiesDB, neoplatonism-portal, PicoDB and others. The common architecture is deliberately boring and has not changed: JSON seed → SQLite → Python static-site generator → vanilla HTML. No frameworks, no build tools, no runtime dependencies, and provenance fields on every single claim.

Phase two — games. Then the portals started feeding game projects, which needed the same content but a different shape:

Game Built on
SnakeAB Narrative snake autobattler — the first proof of the draft → simulate → narrate loop
DungeonAB MTG-style pack draft into a narrated procedural delve
EmblemRoguelike · Emblems in 3D Maier's emblems as a roguelike and as printable objects
MORIGNY (Liber Florum) Its portal's sibling — a game and a database on the same manuscript
TurkaGame Ibn Turka (1369–1432): a portal, a visual novel, a roguelike and a career sim in one repo

Phase three — this repo. The portal is the content layer, declared as such, with the game hooks written into the research cards themselves. It is also where the house engine got questioned.

Every game above ran the same loop: commit → watch → read. All player decisions at t=0 in a draft, all narrative at t=end in a generated chronicle, pure simulation in between. It works, but it has a specific cost — DungeonAB's own audit measured the draft solving itself, because a closed decision set at t=0 is an optimisation problem, and once solved the game is over even though the runs keep happening.

docs/RUN_ENGINES.md works out eight alternative run engines, each a different answer to five questions: what varies between runs, where decisions live, what depletes, what ends the run, and where narrative comes from. Two of those defaults turned out to be unexamined conventions — what depletes need not be health, and what ends the run need not be death. Neither is medieval. Outlaws are caught; Grail knights are disqualified.

ROBINCRAWL is engine B, the Pursuit Ledger. It has no health bar and no combat system in the usual sense.


Repository layout

robincrawl/        the playable game — vanilla ES modules, no build step
  src/pursuit.js     the evidence/pursuit model (DOM-free, so it can be measured)
  src/encounters.js  20 encounters drawn from the ballads and outlaw-tale genre
  src/run.js         the run loop
  src/ui.js          rendering
  art/               public-domain plates + credits.json
portal/            the generated Arthur & Robin portal (321 cards)
docs/              RUN_ENGINES.md and the design/decision records for both games
index.html         landing page

Sources of truth live outside this repo, in the working projects (ROBINCRAWL/, ARTHURROBINPORTAL/, ARTHURCRAWL/); this repository is the publish target, assembled by ROBINCRAWL/tools/publish.py, which refuses to publish a build whose tuning harness is failing.


The tuning harness

The design claim — killing is cheap and legally catastrophic — is not asserted, it is measured. tools/simulate.mjs plays eight scripted strategies across thousands of seeded runs and gates the build on eight assertions.

strategy            kept   short   taken  assize   avg purse  avg kills
butcher             0.0%    0.0%  100.0%    0.0%         317       6.12
courteous          31.3%   50.4%   14.2%    4.1%         230       0.98
pragmatic          44.9%   55.0%    0.0%    0.0%         255       1.07
lateBlood           5.1%    2.5%   48.8%   43.6%         326       3.76
earlyBlood          2.2%    1.7%   94.9%    1.2%         267       3.76
courteousValve     29.5%   69.0%    0.0%    1.5%         206       0.91
cautiousButcher     2.3%    3.6%   52.7%   41.3%         263       4.80

Violence has never failed a roll in 70,000+ picks; the all-violence line is taken 100% of the time. The result the design turns on is pragmatic against courteous: 0.09 extra killings is worth 13.6 points of win rate. One well-chosen killing pays. Indiscriminate killing is fatal.

The harness caught three real problems that reading the design would not have:

  1. The game solved itself. With survival as the only win condition, a naive bot won 100% of runs — the same failure the draft-based games have. Fixed by giving the season a purse target.
  2. Timing was everything. Because evidence accrues per remaining day, blood laid down late was nearly free: identical kill counts gave 44.5% vs 13.6% success purely on when. The optimal line was "stay quiet, then massacre everyone in the last week." Fixed with officer events and the assize.
  3. Two assertions were wrong, not two features. The greenwood cannot save a butcher — it works by decay, and bodies never fade — so asserting that it should was testing something the design forbids.

Full record in docs/ROBINCRAWL-DECISIONS.md.


Illustrations

Every plate is public-domain medieval or Renaissance art, harvested with full provenance:

  • The Metropolitan Museum of Art Open Access (CC0) — Rubens's A Forest at Dawn with a Deer Hunt for the greenwood, Patinir's landscape for the road.
  • Wikimedia Commons (public domain; licence verified per file) — Bruegel's The Magpie on the Gallows when they take you, Dirk Bouts's Justice of Emperor Otto III at the assize, Bruegel's Peasant Wedding when you keep the season, the Crécy archers of the Froissart manuscript for the killing.

Harvesters are tools/harvest_art.py and tools/harvest_commons.py in the ROBINCRAWL project; provenance for every image is in robincrawl/art/credits.json and credited under each plate in-game.


Running it locally

# the game (any static server; this one sends no-store, which matters — see below)
python tools/serve.py 7541

# the tuning gate
node tools/simulate.mjs 3000

One trap worth recording: browsers cache ES modules by origin, ignoring Cache-Control: no-store and surviving both a server restart and a new tab. An edit to src/*.js that appears not to take effect is usually cached, not broken — verify in node first, which has no such cache.


Status and honesty

  • ROBINCRAWL slice 1 is playable and gated. The band (Little John, Much, Will Scarlet) is named in prose and not yet modelled; devotion has no hunger rule behind it; run seeds are not yet shareable.
  • ARTHURCRAWL is designed and scaffolded, with no game code. Its first slice is engine D, the Dossier, over Gildas's silence.
  • Every portal card is DRAFT. Dates and manuscript shelfmarks are the claims most likely to be subtly wrong.

Licence

Code: MIT. Research text: CC BY 4.0. Artwork: public domain, individually credited in robincrawl/art/credits.json.

About

Knowledge portals on the Matter of Britain and the Matter of the Greenwood, and roguelikes built from their data — where the run's ruleset is a period's idea of what the story was for.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages