A planner, out loud
Fable’s narration reads like a to-do list. Before almost every move it says what it needs next and which of those things depend on each other, then sends the independent ones together:
… (2) depends on (1), so only the wait goes now.
It was among the heaviest readers of the docs (50 to 65 reads a seed), and the care shows in how evenly it opened the game. On every seed it had pumpkins within about half an hour, gold within 70 minutes and bones by about two hours, and by 1h13m on seed 1 it could report:
Everything works: dino (7938 bones), mazes (640 gold), cactus. …
It also got past the snag that stopped Sonnet. To collect a dinosaur’s bones you change hats, and the coloured hats were locked; Fable tried the straw hat in a two-line program at once. On seed 3 that cashed in 20,449 bones the moment it noticed the gray hat had failed.
Bones for companions
The game’s Polyculture upgrade multiplies grass, bush, tree and carrot yields when each plant has its preferred companion where the game asks for it, and its higher levels are paid in bones: 10,000, then 50,000, 250,000 and 1.25 million. Like Opus, the only other model to plant companions, Fable ran dinosaur rounds partly to buy those levels. What it did with them is the clearest difference between its seeds.
On seed 2, at 59 minutes, it wrote the bookkeeping: after planting, ask the plant where its companion should go and remember the request for that square.
plant(want)
c = get_companion()
if c != None:
ctype, cpos = c
cx, cy = cpos
if cx >= 0 and cx < N and cy >= 0 and cy < N and zone(cx, cy) == 2:
ti = cx * N + cy
wish[ti] = ctype
mywish[idx] = tiSeed 2: after planting, ask for the companion and note which square should hold it.
It then bought all four bone-priced levels, from level 2 at 2h01m to level 5 at 4h31m.
On seed 3 it bought the same five levels, 1.56 million bones’ worth, ending with level 5 at 4h14m. But no program on seed 3 ever asks for a companion: its crop code picks trees, carrots or grass by position. At 3h08m its thinking credited the upgrade anyway:
Polyculture 20x delivered a massive boost …
The timing points elsewhere. Polyculture was still at level 3, bought at 2h42m, and the next level came only at 3h19m. What did change was the program: revision 19, at 2h58m, stopped running a full crop pass after every round that cleared the field and instead ran four crop sweeps in a row, so trees had time to regrow. The jump came in that revision’s first run. Without companion code, the upgrade could only have paid out where crops happened to sit beside the right neighbour.
On seed 1 it bought the first level and stopped there, and its end-of-run summary named what it had left on the table:
… implement polyculture companions (unused 10× multiplier on grass/bush/tree/carrot) …
Seed 2: the whole field
By 3h22m on seed 2, Fable had a 22×22 field and eight drones, and had just given up on buying more because running mazes for gold took too long on a field that size. Instead it measured what each zone was producing and rebuilt the layout around the crops:
… allocate the remaining ~404 tiles across 6 mixed-crop drones …
Pumpkins, cactus and sunflowers were shrunk to small blocks, and six companion-planting drones got everything else. Five minutes later it measured the result: 6.2 million carrots, 8 million wood and 2.3 million hay. The same program’s last stretch, from 4h31m to the end, added 8.2 points on its own, and seed 2 finished with 2.5 billion wood and 1.8 billion carrots, more than Sol or Opus on the same seed.
The cost of that focus was the rest: cactus stopped at 410,000 and gold at 45,000 produced, and those kept it 3.3 points behind Sol.
Seed 1: the program it stopped changing
Seed 1 started as well as the others, and then the program stopped changing. Fable’s farm program, farm2, had its last revision at 1h49m. For the four hours after that, Fable bought upgrades every ten minutes (sixteen drones by 4h25m, and the program spread itself across them) but never rewrote the farm. The dinosaur rounds inside it kept paying: seed 1 made 10.6 million bones, against 4 million for Opus on the same seed. The crops, without companions, stayed small: 6 to 7 million hay and wood and under a million carrots, where Opus reached 359 million hay and 2.7 billion wood.
What decided the score
Seed 3 sat between the other two: 71.30, with 298 million wood and 82 million carrots on up to 23 drones, after two stalls where a program stopped mid-maze or mid-dinosaur left the drone stuck, a trap much like the ones Astra and Opus fell into. Across the three seeds the crops decided Fable’s score, and companion planting decided its crops: 72.54 where it planted for them, 71.30 and 63.67 where it didn’t. Its mean of 69.17 put it third overall, behind Opus and Sol, at $8.28 to $21.62 a run, the most expensive runs in the benchmark.