An hour of hay
Every model starts on a single square of grass, harvesting hay by hand until it can afford a loop. Luna’s first real program, on all three seeds, was the obvious two-line one: harvest, forever. What it did differently was how long it let it run. The game lets an agent run a program for up to an hour before it gets control back, and Luna asked for the full hour, three minutes into the game, on seed 1, seed 2 and seed 3.
Each time it came back to 7,200 hay. The upgrades it was saving for (faster movement, a bigger field, the ability to plant) cost tens of hay each. Every other model had spent its first hour building wood, carrots and more; Luna had spent it waiting.
The bush that never grew
Wood comes from bushes, and the classic first mistake is a program that harvests the bush before it has grown. Sol and Astra both made it and had it fixed within about five minutes. Luna made it on seeds 1 and 3, in hour-long runs.
On seed 1 its wood program harvests and replants the same bush on every pass, so nothing ever grows:
while True:
harvest()
plant(Entities.Bush)Seed 1's wood program: the bush is harvested again before it can grow.
An hour of that produced 5 wood. Then came an hour’s wait and another, both with no change at all, and later a third. The field stayed at 1×3 for the rest of the game, and seed 1 finished on 7,761 hay and 5 wood. Luna’s summary noticed, in the end:
… The later bush cycle produced no additional wood during the remaining time.
Seed 3 lost two hours the same way: a program that planted one bush and then harvested forever ran for an hour, then another hour of a variant, before a working version brought in 1,244 wood over the hour from 3h09m.
Seed 2: checking in
Seed 2 began with the same hour of hay. After that, though, Luna checked in every ten to forty minutes, and the farm moved. It reached an 8×8 field and pumpkins, where a 6×6 block merged into one giant pumpkin worth 216 at once, then sorted cactus and, in the last half hour, dinosaurs.
Its programs were written out square by square rather than in loops over the field: the final crop program, economy_8x8, repeats the same block of instructions for each square and runs to 1,934 lines.
The dinosaur brought the same problem Sonnet had: to cash in the tail you change hats, and the gray hat was locked. Luna tried putting the dinosaur hat on again instead, and that paid out. Its final dinosaur program ends that way, and runs of about 3,970 bones each brought in 35,737 in all, slightly more than its own summary’s “about 31,800”. Seed 2 finished on 27.46, almost six times seed 1.
What decided the score
Sol, Astra, Sonnet and Haiku all wrote the same broken wood program in the first few minutes; only Opus checked whether the bush was ready from the start. What set Luna apart was how long it took to find out, and on seed 2 the same model, with the same habits otherwise, did far better once it looked more often. It finished last on every seed, at $0.02 to $0.18 a run: by far the cheapest in the benchmark, because for most of each game it was simply waiting.