Claude Opus 5.5, seed 2

Claude Code · medium reasoning effort

ValidCounts toward the meanGame-time budget used

  • Hay 390m produced, 8.59 points
  • Wood 2.2b produced, 9.34 points
  • Carrot 281m produced, 8.45 points
  • Pumpkin 141m produced, 8.15 points
  • Cactus 281m produced, 8.45 points
  • Power 16.7k produced, 4.22 points
  • Bone 3.42m produced, 6.53 points
  • Weird substance 632k produced, 5.80 points
  • Gold 2.61m produced, 6.42 points
  • Water 295k produced, 5.47 points
  • Fertilizer 12.9k produced, 4.11 points

Produced by the end of the run. Pips: points each resource adds to the score, one per tenfold.

Score · economy-v1
75.53orders of magnitude · model mean 75.54
On seed 2
#2of 8 models
Cost
$5.14API-equivalent estimate
Real time
14m 11swall clock, not scored
timelineeconomy-v1 · sampled every 10 game-seconds

Score and what the agent did, over game time

Ticks under the axis: upgrade purchases.

Data table
Game timeScore
0s0.00
1h 00m31.9
2h 00m49.0
3h 00m57.6
4h 00m67.2
5h 00m72.4
6h 00m75.5
said2m 11s · I've got loops running and hay coming in. Next I'll buy speed, then expand and plant.5m 41s · Unlocked planting; now I'm growing bushes for wood, which I need for the next upgrades.9m 09s · Carrots unlocked. I'm setting up a 3×3 farm with one column each of grass, bushes, and carrots.12m 59s · Carrots are coming in now. Next I'm saving up for Variables and a bigger farm.18m 46s · Trees are working well (+800 wood in 2 minutes). Now I'm spending the wood on upgrades.22m 36s · Pumpkins are unlocked. While the farm runs, I'm buying yield upgrades for carrots and grass.26m 06s · Next I'm writing a pumpkin program for the whole farm, aiming for 6×6 giant pumpkins.27m 56s · Pumpkins work well: +648 in 90 seconds. I'm saving for Expand (8×8).28m 30s · Expanded to 8×8. I'm switching back to the mixed farm for carrots and wood, and using fertilizer to start producing weird substance.35m 40s · I'm writing a master program that cycles mixed farming (trees, carrots, grass, sunflowers) with pumpkin rounds.38m 40s · The master program is working: every resource is going up, including power. Checking upgrades.39m 10s · Mazes are unlocked, so I'm writing a maze solver to earn gold. Megafarm (2000 gold) adds more drones.40m 42s · Mazes are very efficient: 14 solves gave 896 gold in 42 seconds. Weird substance is the limit, so I'm adding mazes to the master loop.45m 52s · I have 3584 gold, so I'm buying Megafarm now.46m 22s · I'm restructuring the program so multiple drones split the farm by columns.50m 02s · Hit an ordering mistake: the old master ran because the write was rejected. Writing the new version now.53m 42s · Gold is at 8752, so I'm buying Megafarm level 2 (4 drones) and more fertilizer.1h 10m · Mazes are using all the main loop's time with only one drone, so I'm capping them per round.1h 15m · Much better balance: pumpkins +5376 in 5 minutes. Buying Expand to 12×12.1h 21m · Cactus unlocked. Harvesting a sorted 12×12 field gives 144² cactus, so I'm writing a parallel sort.1h 23m · Cactus works: one 51-second cycle gave 20,736 cactus. Buying Dinosaurs and a Maze upgrade.1h 23m · Writing a snake program for dinosaurs (bones). First I'm buying hats so I can take the dinosaur hat off.1h 28m · The snake filled the farm. Now I need a hat that's actually unlocked to cash in the bones.1h 28m · 20,449 bones from one snake. Folding cactus and dinosaurs into the master loop.1h 37m · Now 8 drones. Checking what to buy next.1h 37m · Polyculture is now 20×, so I'll redesign the mixed field around companion planting. Checking where grass can grow.1h 40m · Polyculture gave a big jump: +48k wood, +14k hay, and +6k carrots in 2 minutes. Spending on fertilizer next.1h 46m · Bought Maze level 3 (4× gold per maze). Mazes still use one drone, so I'm writing a parallel maze explorer.1h 47m · The parallel solver takes about 3.7s per 12×12 maze, which is about 155 gold/s. I'm running mazes until I can afford 16 drones.2h 02m · 16 drones now. Back to the master loop, with more pumpkin cycles so I can afford Expand to 16×16 (64k pumpkins).2h 08m · I'm adding timing output to see where each loop's time goes.2h 16m · Loop timing: poly 7.5s, pumpkins 18s, cactus 19s, mazes 48s, dinosaur 231s. The dinosaur phase is slow, so I'm running it less often and adding more poly passes2h 22m · Big jump in output. Buying Expand to 16×16 plus other upgrades.2h 27m · Something is taking all the time; checking the farm.2h 27m · The dinosaur phase follows the full Hamiltonian cycle, which is too slow on 16×16. I'm writing a version that takes shortcuts toward the apple.2h 35m · The snake is at about 130 long, but strict cycle-following from here is slow. I'll cash it in and allow safe shortcuts at every length.2h 46m · The new dinosaur run gave 88,804 bones in 10 minutes, but it's still slow. I'll cap it at 4 minutes per run and get back to the main loop.2h 47m · Polyculture is now 80×. Restarting the master loop with the time-capped dinosaur phase.2h 52m · Wood is up 3.3M in 5 minutes. Spending on upgrades.3h 07m · Expanded to 22×22. Weird substance is now plentiful, so I'm raising the maze cap to push toward 32 drones.3h 18m · Loop timings on 22×22: poly 39s, pumpkins 33s, cactus 98s, mazes 181s. Gold is at 240k, so I'm waiting until Megafarm is affordable.3h 45m · Bought Megafarm level 5, so 32 drones now. Bones are the weakest resource, so I'm running the dinosaur phase more often and fewer mazes.3h 56m · Bought Debug_2. I'm running the dinosaur on a temporary 10×10 farm so apples are closer, then restoring 22×22.4h 00m · That's 5× better: 150k bones in 205s on 10×10. Adding it to the master loop every round.4h 15m · Running well. Checking upgrades.4h 15m · Expand to 32×32 needs 4.1M pumpkins. I'm doubling pumpkin cycles per loop to get there sooner.4h 37m · Expanded to 32×32 and output roughly doubled. Buying the remaining upgrades I can afford.5h 07m · Nearly every useful upgrade is bought. I'll let the master loop run for the rest of the budget.5h 59m · I used the full 6-hour budget. The farm ended up producing 10 resource types, all running in parallel across 32 drones on a 32×32 farm. **Inventory at the end*6h 00m · The run is over. I used the last 2 seconds to collect the unfinished dinosaur snake, which added 10,368 bones (about 1.86 million in total). All 6 hours of thesaid: 50 entries, first at 2m 11s
runningrunning: 46 entries, first at 1m 00s
errorserrors: 8 entries, first at 11m 39s

Said: the agent's own progress messages. Thought: its thinking as the agent reported it. Read: docs and research. Wrote: program saves. Running: which program the farm ran. Text sits at the game time it was written; the game is paused while the agent thinks. Dots open the step in the log below.

how-it-playedcompared with Claude Opus 5.5's 3 valid seeds and the 8 models on seed 2

How it played

MeasureThis runModel meanSeed 2 meanWhat it counts
Resources opened11 of 1111 of 1110.1 of 11scored resources produced at least once
Study343143docs and research reads
Action overhead12%11%11%game time spent looking, reading and typing (10 s per call)
Tool calls250248231every action the agent took
Program writes605739accepted saves of a program
Program stints434539times a program was started and left running
Median stint3m 04s3m 05s5m 28show long a program usually ran before the next change
Cost per point$0.068$0.071$0.084API-equivalent estimate ÷ score

Farm idle 5% of samples; longest stint 1h 32m; 2 rejected writes.

production11 of 11 resources produced

Production and holdings

Each resource on its own scale. Ticks: purchases of the upgrade that feeds it. On the log scale each tenfold rise is one point.

  • Produced (cumulative, what the score counts)
  • Held (after spending)
Vertical scale
Wood2.2B produced · 9.34 pts
Wood2.2B produced · 9.34 pts
Hay390.2M produced · 8.59 pts
Hay390.2M produced · 8.59 pts
Carrot281M produced · 8.45 pts
Carrot281M produced · 8.45 pts
Cactus280.9M produced · 8.45 pts
Cactus280.9M produced · 8.45 pts
Pumpkin141.1M produced · 8.15 pts
Pumpkin141.1M produced · 8.15 pts
Bone3.4M produced · 6.53 pts
Bone3.4M produced · 6.53 pts
Gold2.6M produced · 6.42 pts
Gold2.6M produced · 6.42 pts
Weird substance632.2K produced · 5.80 pts
Weird substance632.2K produced · 5.80 pts
Water294.6K produced · 5.47 pts
Water294.6K produced · 5.47 pts
Power16.7K produced · 4.22 pts
Power16.7K produced · 4.22 pts
Fertilizer12.9K produced · 4.11 pts
Fertilizer12.9K produced · 4.11 pts
upgrades116 levels across 29 upgrades

Upgrade timeline

loopsloops: 1 entry, first at 1m 21s
speedspeed: 5 entries, first at 2m 21s
expandexpand: 9 entries, first at 2m 21s
plantplant: 1 entry, first at 5m 21s
carrotscarrots: 10 entries, first at 8m 49s
operatorsoperators: 1 entry, first at 10m 59s
sensessenses: 1 entry, first at 10m 59s
variablesvariables: 1 entry, first at 13m 56s
functionsfunctions: 2 entries, first at 16m 06s
treestrees: 10 entries, first at 16m 06s
wateringwatering: 9 entries, first at 18m 56s
grassgrass: 9 entries, first at 19m 26s
pumpkinspumpkins: 10 entries, first at 22m 16s
importimport: 1 entry, first at 22m 16s
fertilizerfertilizer: 4 entries, first at 25m 46s
listslists: 1 entry, first at 32m 10s
sunflowerssunflowers: 1 entry, first at 35m 30s
mazesmazes: 6 entries, first at 39m 00s
debugdebug: 1 entry, first at 39m 00s
megafarmmegafarm: 5 entries, first at 46m 02s
cactuscactus: 6 entries, first at 1h 21m
utilitiesutilities: 1 entry, first at 1h 21m
dinosaursdinosaurs: 6 entries, first at 1h 23m
hatshats: 6 entries, first at 1h 23m
polyculturepolyculture: 5 entries, first at 1h 28m
dictionariesdictionaries: 1 entry, first at 1h 37m
timingtiming: 1 entry, first at 1h 37m
debug_2debug_2: 1 entry, first at 3h 56m
simulationsimulation: 1 entry, first at 4h 15m
Every purchase, with what the agent was told
Game timeCallUnlockedResult the agent saw
1m 11s{"upgrades":["loops"]}loops 1Bought loops, now level 1. Paid hay 5. Its tutorial is docs page docs/scripting/while.md.
2m 11s{"upgrades":["speed","expand"]}speed 1, expand 1Bought speed, now level 1. Paid hay 20. Its tutorial is docs page docs/unlocks/speed.md.
5m 11s{"upgrades":["plant","expand","speed"]}plant 1Bought plant, now level 1. Paid hay 50. Its tutorial is docs page docs/unlocks/plant.md.
7m 11s{"upgrades":["expand"]}expand 2Bought expand, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/expand_1.md.
8m 39s{"upgrades":["speed","carrots"]}speed 2, carrots 1Bought speed, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/speed.md.
10m 49s{"upgrades":["operators","senses"]}operators 1, senses 1Bought operators, now level 1. Paid hay 150, wood 10. Its tutorial is docs page docs/scripting/operators.md.
13m 46s{"upgrades":["variables","expand"]}variables 1, expand 3Bought variables, now level 1. Paid carrot 35. Its tutorial is docs page docs/scripting/variables.md.
15m 56s{"upgrades":["functions","trees"]}functions 1, functions 1, trees 1Bought functions, now level 1. Paid carrot 40. Its tutorial is docs page docs/scripting/functions.md.
18m 46s{"upgrades":["speed","expand","watering","import"]}speed 3, expand 4, watering 1Bought speed, now level 3. Paid wood 50, carrot 50. Its tutorial is docs page docs/unlocks/speed.md.
19m 16s{"upgrades":["grass"]}grass 2Bought grass, now level 2. Paid hay 300.
22m 06s{"upgrades":["pumpkins","import","watering","watering"]}pumpkins 1, import 1, watering 2, watering 3Bought pumpkins, now level 1. Paid wood 500, carrot 200. Its tutorial is docs page docs/unlocks/pumpkins.md.
22m 46s{"upgrades":["carrots","grass"]}carrots 2, grass 3Bought carrots, now level 2. Paid wood 250. Its tutorial is docs page docs/unlocks/carrots.md.
25m 36s{"upgrades":["speed","trees","fertilizer"]}speed 4, trees 2, fertilizer 1Bought speed, now level 4. Paid carrot 500. Its tutorial is docs page docs/unlocks/speed.md.
28m 20s{"upgrades":["expand"]}expand 5Bought expand, now level 5. Paid pumpkin 1000. Its tutorial is docs page docs/unlocks/expand_1.md.
32m 00s{"upgrades":["lists","watering","fertilizer"]}lists 1, watering 4, fertilizer 2Bought lists, now level 1. Paid carrot 500. Its tutorial is docs page docs/scripting/lists.md.
35m 20s{"upgrades":["sunflowers","carrots","grass"]}sunflowers 1, carrots 3, grass 4Bought sunflowers, now level 1. Paid carrot 500. Its tutorial is docs page docs/unlocks/sunflowers.md.
38m 50s{"upgrades":["mazes","speed","trees","pumpkins","carrots","debug"]}mazes 1, speed 5, trees 3, pumpkins 2, carrots 4, debug 1Bought mazes, now level 1. Paid weird_substance 1000. Its tutorial is docs page docs/unlocks/mazes.md.
45m 52s{"upgrades":["megafarm"]}megafarm 1Bought megafarm, now level 1. Paid gold 2000. Its tutorial is docs page docs/unlocks/megafarm.md.
53m 42s{"upgrades":["megafarm","fertilizer"]}megafarm 2, fertilizer 3Bought megafarm, now level 2. Paid gold 8000. Its tutorial is docs page docs/unlocks/megafarm.md.
1h 15m{"upgrades":["expand","grass","watering"]}expand 6, grass 5Bought expand, now level 6. Paid pumpkin 8000. Its tutorial is docs page docs/unlocks/expand_1.md.
1h 21m{"upgrades":["cactus","trees","watering","utilities"]}cactus 1, trees 4, watering 5, utilities 1Bought cactus, now level 1. Paid pumpkin 5000. Its tutorial is docs page docs/unlocks/cactus.md.
1h 23m{"upgrades":["dinosaurs","mazes"]}dinosaurs 1, hats 1, mazes 2Bought dinosaurs, now level 1. Paid cactus 2000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
1h 23m{"upgrades":["hats"]}—Could not buy hats: Already at maximum level.
1h 28m{"upgrades":["dinosaurs","polyculture"]}polyculture 1Could not buy dinosaurs: Not enough resources.
1h 37m{"upgrades":["megafarm","dinosaurs","mazes","fertilizer"]}megafarm 3, dinosaurs 2, hats 1Bought megafarm, now level 3. Paid gold 32000. Its tutorial is docs page docs/unlocks/megafarm.md.
1h 37m{"upgrades":["carrots","pumpkins","trees","dictionaries","timing","polyculture"]}carrots 5, pumpkins 3, trees 5, dictionaries 1, timing 1, polyculture 2Bought carrots, now level 5. Paid wood 31200. Its tutorial is docs page docs/unlocks/carrots.md.
1h 40m{"upgrades":["fertilizer","watering"]}watering 6Could not buy fertilizer: Not enough resources.
1h 46m{"upgrades":["mazes","grass"]}mazes 3Bought mazes, now level 3. Paid cactus 72000. Its tutorial is docs page docs/unlocks/mazes.md.
2h 02m{"upgrades":["megafarm"]}megafarm 4Bought megafarm, now level 4. Paid gold 128000. Its tutorial is docs page docs/unlocks/megafarm.md.
2h 22m{"upgrades":["expand","dinosaurs","grass","fertilizer","carrots","trees"]}expand 7, dinosaurs 3, hats 1, grass 6, fertilizer 4, carrots 6, trees 6Bought expand, now level 7. Paid pumpkin 64000. Its tutorial is docs page docs/unlocks/expand_1.md.
2h 46m{"upgrades":["polyculture","pumpkins","polyculture"]}polyculture 3, pumpkins 4, polyculture 4Bought polyculture, now level 3. Paid bone 50000. Its tutorial is docs page docs/unlocks/polyculture.md.
2h 52m{"upgrades":["grass","trees","watering","carrots","cactus","pumpkins","watering","grass"]}grass 7, trees 7, watering 7, carrots 7, cactus 2, pumpkins 5, watering 8Bought grass, now level 7. Paid wood 312000.
3h 02m{"upgrades":["mazes","grass","trees","carrots","watering"]}mazes 4, grass 8, trees 8, carrots 8Bought mazes, now level 4. Paid cactus 432000. Its tutorial is docs page docs/unlocks/mazes.md.
3h 07m{"upgrades":["expand","watering","grass","dinosaurs"]}expand 8, watering 9, grass 9, dinosaurs 4, hats 1Bought expand, now level 8. Paid pumpkin 512000. Its tutorial is docs page docs/unlocks/expand_1.md.
3h 33m{"upgrades":["trees","carrots","pumpkins","cactus","dinosaurs","grass","trees","carrots","pumpkins"]}trees 9, carrots 9, pumpkins 6, cactus 3, grass 10, trees 10, pumpkins 7Bought trees, now level 9. Paid hay 4920000. Its tutorial is docs page docs/unlocks/trees.md.
3h 44m{"upgrades":["megafarm","dinosaurs","carrots","cactus"]}dinosaurs 5, hats 1, cactus 4Could not buy megafarm: Not enough resources.
3h 45m{"upgrades":["megafarm"]}megafarm 5Bought megafarm, now level 5. Paid gold 512000. Its tutorial is docs page docs/unlocks/megafarm.md.
3h 56m{"upgrades":["debug_2"]}debug_2 1Bought debug_2, now level 1. Paid gold 500. Its tutorial is docs page docs/unlocks/debug2.md.
4h 15m{"upgrades":["polyculture","carrots","pumpkins","cactus","dinosaurs","mazes","simulation"]}carrots 10, pumpkins 8, mazes 5, simulation 1Could not buy polyculture: Not enough resources.
4h 26m{"upgrades":["expand","pumpkins"]}expand 9, pumpkins 9Bought expand, now level 9. Paid pumpkin 4100000. Its tutorial is docs page docs/unlocks/expand_1.md.
4h 37m{"upgrades":["cactus","polyculture","pumpkins","cactus"]}cactus 5Bought cactus, now level 5. Paid pumpkin 4320000. Its tutorial is docs page docs/unlocks/cactus.md.
4h 52m{"upgrades":["dinosaurs","mazes","pumpkins","cactus","polyculture"]}dinosaurs 6, hats 1, mazes 6, pumpkins 10Bought dinosaurs, now level 6. Paid cactus 15600000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
5h 07m{"upgrades":["cactus","polyculture"]}cactus 6, polyculture 5Bought cactus, now level 6. Paid pumpkin 25900000. Its tutorial is docs page docs/unlocks/cactus.md.

Programs 62 writes, code as the agent wrote it

h.py13 writes · 12 ran · first at 40s
  1. r140sRan15 lines · ran 11s
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    do_a_flip()
    harvest()
    Write result the agent saw
    Saved h (15 lines).
    Game time: 50s elapsed, 5h 59m 10s of budget remaining.
    run_program at 50s for 60s (agent saw)
    Ran h for 11s of game time; it finished.
    Inventory change: hay +8.
    Game time: 1m 11s elapsed, 5h 58m 49s of budget remaining.
    Output:
    (none)
  2. r21m 21sRan2 lines · +2 −15 · ran 2m 10s
    while True:
    	harvest()
    Changes from the previous revision
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    - do_a_flip()
    - harvest()
    + while True:
    + 	harvest()
    
    Write result the agent saw
    Saved h (2 lines).
    Game time: 1m 31s elapsed, 5h 58m 29s of budget remaining.
    run_program at 1m 31s for 30s (agent saw)
    Ran h for 30s of game time; it is still running.
    Inventory change: hay +60.
    Game time: 2m 11s elapsed, 5h 57m 49s of budget remaining.
    Output:
    (none)
    run_program at 2m 51s for 40s (agent saw)
    Ran h for 40s of game time; it is still running.
    Inventory change: no change.
    Game time: 3m 41s elapsed, 5h 56m 19s of budget remaining.
    Output:
    (none)
  3. —2m 41sRejected
    while True:
    	harvest()
    	move(North)
    Write result the agent saw
    Stop the program before editing it.
  4. r33m 51sRan3 lines · +1 −0 · ran 1m 40s
    while True:
    	harvest()
    	move(North)
    Changes from the previous revision
      while True:
      	harvest()
    + 	move(North)
    
    Write result the agent saw
    Saved h (3 lines).
    Game time: 4m 1s elapsed, 5h 55m 59s of budget remaining.
    run_program at 4m 01s for 60s (agent saw)
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +90.
    Game time: 5m 11s elapsed, 5h 54m 49s of budget remaining.
    Output:
    (none)
  5. r45m 51sRan5 lines · +3 −1 · ran 1m 20s
    while True:
    	if can_harvest():
    		harvest()
    		plant(Entities.Bush)
    	move(North)
    Changes from the previous revision
      while True:
    - 	harvest()
    + 	if can_harvest():
    + 		harvest()
    + 		plant(Entities.Bush)
      	move(North)
    
    Write result the agent saw
    Saved h (5 lines).
    Game time: 6m 1s elapsed, 5h 53m 59s of budget remaining.
    run_program at 6m 01s for 60s (agent saw)
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +7, wood +34.
    Game time: 7m 11s elapsed, 5h 52m 49s of budget remaining.
    Output:
    (none)
  6. r57m 31sRan18 lines · +17 −4 · ran 1m 28s
    while True:
    	for i in range(3):
    		if can_harvest():
    			harvest()
    		move(North)
    	move(East)
    	for i in range(3):
    		if can_harvest():
    			harvest()
    			plant(Entities.Bush)
    		move(North)
    	move(East)
    	for i in range(3):
    		if can_harvest():
    			harvest()
    			plant(Entities.Bush)
    		move(North)
    	move(East)
    Changes from the previous revision
      while True:
    - 	if can_harvest():
    - 		harvest()
    - 		plant(Entities.Bush)
    - 	move(North)
    + 	for i in range(3):
    + 		if can_harvest():
    + 			harvest()
    + 		move(North)
    + 	move(East)
    + 	for i in range(3):
    + 		if can_harvest():
    + 			harvest()
    + 			plant(Entities.Bush)
    + 		move(North)
    + 	move(East)
    + 	for i in range(3):
    + 		if can_harvest():
    + 			harvest()
    + 			plant(Entities.Bush)
    + 		move(North)
    + 	move(East)
    
    Write result the agent saw
    Saved h (18 lines).
    Game time: 7m 41s elapsed, 5h 52m 19s of budget remaining.
    run_program at 7m 41s for 20s (agent saw)
    Ran h for 20s of game time; it is still running.
    Inventory change: hay +24, wood +21.
    Game time: 8m 11s elapsed, 5h 51m 49s of budget remaining.
    Output:
    (none)
  7. r69m 19sRan25 lines · +8 −1 · ran 1m 40s
    clear()
    move(East)
    move(East)
    for i in range(3):
    	till()
    	move(North)
    move(East)
    while True:
    	for i in range(3):
    		if can_harvest():
    			harvest()
    		move(North)
    	move(East)
    	for i in range(3):
    		if can_harvest():
    			harvest()
    			plant(Entities.Bush)
    		move(North)
    	move(East)
    	for i in range(3):
    		if can_harvest():
    			harvest()
    			plant(Entities.Carrot)
    		move(North)
    	move(East)
    Changes from the previous revision
    + clear()
    + move(East)
    + move(East)
    + for i in range(3):
    + 	till()
    + 	move(North)
    + move(East)
      while True:
      	for i in range(3):
      		if can_harvest():
      			harvest()
    - 			plant(Entities.Bush)
    + 			plant(Entities.Carrot)
      		move(North)
      	move(East)
    
    Write result the agent saw
    Saved h (25 lines).
    Game time: 9m 29s elapsed, 5h 50m 31s of budget remaining.
    run_program at 9m 29s for 60s (agent saw)
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +66, wood +34.
    Game time: 10m 39s elapsed, 5h 49m 21s of budget remaining.
    Output:
    (none)
  8. r711m 19sRan14 lines · +13 −24 · ran 0s · 1 runtime error
    while True:
    	for i in range(get_world_size()):
    		for j in range(get_world_size()):
    			x = get_pos_x()
    			if can_harvest():
    				harvest()
    			if x == 1:
    				plant(Entities.Bush)
    			elif x == 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			move(North)
    		move(East)
    Changes from the previous revision
    - clear()
    - move(East)
    - move(East)
    - for i in range(3):
    - 	till()
    - 	move(North)
    - move(East)
      while True:
    - 	for i in range(3):
    - 		if can_harvest():
    - 			harvest()
    - 		move(North)
    - 	move(East)
    - 	for i in range(3):
    - 		if can_harvest():
    - 			harvest()
    - 			plant(Entities.Bush)
    - 		move(North)
    - 	move(East)
    - 	for i in range(3):
    - 		if can_harvest():
    - 			harvest()
    - 			plant(Entities.Carrot)
    - 		move(North)
    - 	move(East)
    + 	for i in range(get_world_size()):
    + 		for j in range(get_world_size()):
    + 			x = get_pos_x()
    + 			if can_harvest():
    + 				harvest()
    + 			if x == 1:
    + 				plant(Entities.Bush)
    + 			elif x == 2:
    + 				if get_ground_type() != Grounds.Soil:
    + 					till()
    + 				plant(Entities.Carrot)
    + 			move(North)
    + 		move(East)
    
    Write result the agent saw
    Saved h (14 lines).
    Game time: 11m 29s elapsed, 5h 48m 31s of budget remaining.
    run_program at 11m 29s for 60s (agent saw)
    Ran h for 0s of game time; it stopped with an error: Unlocks.Variables must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 11m 39s elapsed, 5h 48m 21s of budget remaining.
    Output:
    Error: Unlocks.Variables must be unlocked before this can be used.
    In: 
    x = get_pos_x()
                 ^^
    --------------------------------------------------------------------
    Runtime error at 11m 39s (telemetry; not shown to the agent)
    Unlocks.Variables must be unlocked before this can be used.
  9. r811m 39sRan13 lines · +2 −3 · ran 2m 07s
    while True:
    	for i in range(get_world_size()):
    		for j in range(get_world_size()):
    			if can_harvest():
    				harvest()
    			if get_pos_x() == 1:
    				plant(Entities.Bush)
    			elif get_pos_x() == 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			move(North)
    		move(East)
    Changes from the previous revision
      	for i in range(get_world_size()):
      		for j in range(get_world_size()):
    - 			x = get_pos_x()
      			if can_harvest():
      				harvest()
    - 			if x == 1:
    + 			if get_pos_x() == 1:
      				plant(Entities.Bush)
    - 			elif x == 2:
    + 			elif get_pos_x() == 2:
      				if get_ground_type() != Grounds.Soil:
      					till()
    
    Write result the agent saw
    Saved h (13 lines).
    Game time: 11m 49s elapsed, 5h 48m 11s of budget remaining.
    run_program at 11m 49s for 60s (agent saw)
    Ran h for 1m of game time; it is still running.
    Inventory change: carrot +32, hay +59, wood +43.
    Game time: 12m 59s elapsed, 5h 47m 1s of budget remaining.
    Output:
    (none)
  10. r914m 06sRan14 lines · +3 −2 · ran 2m 00s
    while True:
    	for i in range(get_world_size()):
    		for j in range(get_world_size()):
    			x = get_pos_x()
    			if can_harvest():
    				harvest()
    			if x == 1:
    				plant(Entities.Bush)
    			elif x >= 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			move(North)
    		move(East)
    Changes from the previous revision
      	for i in range(get_world_size()):
      		for j in range(get_world_size()):
    + 			x = get_pos_x()
      			if can_harvest():
      				harvest()
    - 			if get_pos_x() == 1:
    + 			if x == 1:
      				plant(Entities.Bush)
    - 			elif get_pos_x() == 2:
    + 			elif x >= 2:
      				if get_ground_type() != Grounds.Soil:
      					till()
    
    Write result the agent saw
    Saved h (14 lines).
    Game time: 14m 16s elapsed, 5h 45m 44s of budget remaining.
    run_program at 14m 16s for 90s (agent saw)
    Ran h for 1m 30s of game time; it is still running.
    Inventory change: carrot +116, hay +13, wood +7.
    Game time: 15m 56s elapsed, 5h 44m 4s of budget remaining.
    Output:
    (none)
  11. r1016m 26sRan15 lines · +3 −2 · ran 3m 00s
    while True:
    	for i in range(get_world_size()):
    		for j in range(get_world_size()):
    			x = get_pos_x()
    			y = get_pos_y()
    			if can_harvest():
    				harvest()
    			if (x + y) % 2 == 0:
    				plant(Entities.Tree)
    			elif x >= 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			move(North)
    		move(East)
    Changes from the previous revision
      		for j in range(get_world_size()):
      			x = get_pos_x()
    + 			y = get_pos_y()
      			if can_harvest():
      				harvest()
    - 			if x == 1:
    - 				plant(Entities.Bush)
    + 			if (x + y) % 2 == 0:
    + 				plant(Entities.Tree)
      			elif x >= 2:
      				if get_ground_type() != Grounds.Soil:
    
    Write result the agent saw
    Saved h (15 lines).
    Game time: 16m 36s elapsed, 5h 43m 24s of budget remaining.
    run_program at 16m 36s for 120s (agent saw)
    Ran h for 2m of game time; it is still running.
    Inventory change: carrot +112, hay +41, wood +804.
    Game time: 18m 46s elapsed, 5h 41m 14s of budget remaining.
    Output:
    (none)
  12. r1119m 46sRan17 lines · +2 −0 · ran 6m 20s
    while True:
    	for i in range(get_world_size()):
    		for j in range(get_world_size()):
    			x = get_pos_x()
    			y = get_pos_y()
    			if can_harvest():
    				harvest()
    			if (x + y) % 2 == 0:
    				plant(Entities.Tree)
    				if get_water() < 0.5 and num_items(Items.Water) > 0:
    					use_item(Items.Water)
    			elif x >= 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			move(North)
    		move(East)
    Changes from the previous revision
      			if (x + y) % 2 == 0:
      				plant(Entities.Tree)
    + 				if get_water() < 0.5 and num_items(Items.Water) > 0:
    + 					use_item(Items.Water)
      			elif x >= 2:
      				if get_ground_type() != Grounds.Soil:
    
    Write result the agent saw
    Saved h (17 lines).
    Game time: 19m 56s elapsed, 5h 40m 4s of budget remaining.
    run_program at 19m 56s for 120s (agent saw)
    Ran h for 2m of game time; it is still running.
    Inventory change: carrot +152, hay +144, water -7, wood +1241.
    Game time: 22m 6s elapsed, 5h 37m 54s of budget remaining.
    Output:
    (none)
  13. r1228m 40sRanFinal26 lines · +12 −3 · ran 7m 30s
    def mixed_pass():
    	n = get_world_size()
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			if can_harvest():
    				harvest()
    			if (x + y) % 2 == 0:
    				plant(Entities.Tree)
    				if get_water() < 0.5 and num_items(Items.Water) > 0:
    					use_item(Items.Water)
    				if num_items(Items.Fertilizer) > 0:
    					use_item(Items.Fertilizer)
    			elif x >= 2:
    				if get_ground_type() != Grounds.Soil:
    					till()
    				plant(Entities.Carrot)
    			else:
    				if get_ground_type() != Grounds.Grassland:
    					till()
    			move(North)
    		move(East)
    
    while True:
    	mixed_pass()
    Changes from the previous revision
    - while True:
    - 	for i in range(get_world_size()):
    - 		for j in range(get_world_size()):
    + def mixed_pass():
    + 	n = get_world_size()
    + 	for i in range(n):
    + 		for j in range(n):
      			x = get_pos_x()
      			y = get_pos_y()
      				if get_water() < 0.5 and num_items(Items.Water) > 0:
      					use_item(Items.Water)
    + 				if num_items(Items.Fertilizer) > 0:
    + 					use_item(Items.Fertilizer)
      			elif x >= 2:
      				if get_ground_type() != Grounds.Soil:
      					till()
      				plant(Entities.Carrot)
    + 			else:
    + 				if get_ground_type() != Grounds.Grassland:
    + 					till()
      			move(North)
      		move(East)
    + 
    + while True:
    + 	mixed_pass()
    
    Write result the agent saw
    Saved h (26 lines).
    Game time: 28m 50s elapsed, 5h 31m 10s of budget remaining.
    run_program at 28m 50s for 180s (agent saw)
    Ran h for 3m of game time; it is still running.
    Inventory change: carrot +724, fertilizer -18, hay +348, pumpkin +3, water -9, weird_substance +370, wood +3966.
    Game time: 32m elapsed, 5h 28m of budget remaining.
    Output:
    (none)
pump.py2 writes · 1 ran · first at 26m 06s
  1. r126m 06sRan40 lines · ran 2m 14s
    def goto(tx, ty):
    	while get_pos_x() != tx:
    		move(East)
    	while get_pos_y() != ty:
    		move(North)
    
    def water():
    	if get_water() < 0.6 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    
    def pumpkin_cycle():
    	n = get_world_size()
    	goto(0, 0)
    	for i in range(n):
    		for j in range(n):
    			if get_entity_type() != Entities.Pumpkin and can_harvest():
    				harvest()
    			if get_ground_type() != Grounds.Soil:
    				till()
    			if get_entity_type() != Entities.Pumpkin:
    				plant(Entities.Pumpkin)
    			water()
    			move(North)
    		move(East)
    	done = False
    	while not done:
    		done = True
    		for i in range(n):
    			for j in range(n):
    				if not can_harvest():
    					done = False
    					if get_entity_type() != Entities.Pumpkin:
    						plant(Entities.Pumpkin)
    						water()
    				move(North)
    			move(East)
    	harvest()
    
    while True:
    	pumpkin_cycle()
    Write result the agent saw
    Saved pump (40 lines).
    Game time: 26m 16s elapsed, 5h 33m 44s of budget remaining.
    run_program at 26m 16s for 90s (agent saw)
    Ran pump for 1m 30s of game time; it is still running.
    Inventory change: carrot -138, fertilizer +9, hay +40, pumpkin +648, water +1, wood +220.
    Game time: 27m 56s elapsed, 5h 32m 4s of budget remaining.
    Output:
    (none)
  2. r236m 00sSaved, never runFinal3 lines · +2 −39
    import lib
    while True:
    	lib.pumpkin_cycle()
    Changes from the previous revision
    - def goto(tx, ty):
    - 	while get_pos_x() != tx:
    - 		move(East)
    - 	while get_pos_y() != ty:
    - 		move(North)
    - 
    - def water():
    - 	if get_water() < 0.6 and num_items(Items.Water) > 0:
    - 		use_item(Items.Water)
    - 
    - def pumpkin_cycle():
    - 	n = get_world_size()
    - 	goto(0, 0)
    - 	for i in range(n):
    - 		for j in range(n):
    - 			if get_entity_type() != Entities.Pumpkin and can_harvest():
    - 				harvest()
    - 			if get_ground_type() != Grounds.Soil:
    - 				till()
    - 			if get_entity_type() != Entities.Pumpkin:
    - 				plant(Entities.Pumpkin)
    - 			water()
    - 			move(North)
    - 		move(East)
    - 	done = False
    - 	while not done:
    - 		done = True
    - 		for i in range(n):
    - 			for j in range(n):
    - 				if not can_harvest():
    - 					done = False
    - 					if get_entity_type() != Entities.Pumpkin:
    - 						plant(Entities.Pumpkin)
    - 						water()
    - 				move(North)
    - 			move(East)
    - 	harvest()
    - 
    + import lib
      while True:
    - 	pumpkin_cycle()
    + 	lib.pumpkin_cycle()
    
    Write result the agent saw
    Saved pump (3 lines).
    Game time: 36m 10s elapsed, 5h 23m 50s of budget remaining.
master.py18 writes · 15 ran · first at 35m 40s
  1. r135m 40sSaved, never run74 lines
    import pump
    
    petals = []
    
    def init_petals():
    	global petals
    	n = get_world_size()
    	petals = []
    	for k in range(n * n):
    		petals.append(0)
    
    def maxp():
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def soil():
    	if get_ground_type() != Grounds.Soil:
    		till()
    
    def mixed_pass():
    	n = get_world_size()
    	pump.goto(0, 0)
    	m = maxp()
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			k = x * n + y
    			e = get_entity_type()
    			if (x + y) % 2 == 0:
    				if can_harvest() or e != Entities.Tree:
    					harvest()
    					plant(Entities.Tree)
    				care_tree()
    			elif x < 2:
    				if can_harvest():
    					harvest()
    				if get_ground_type() != Grounds.Grassland:
    					harvest()
    					till()
    			elif x < 5:
    				if can_harvest() or e != Entities.Carrot:
    					harvest()
    					soil()
    					plant(Entities.Carrot)
    			else:
    				if e != Entities.Sunflower:
    					harvest()
    					soil()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    				elif can_harvest() and petals[k] >= m:
    					harvest()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    					m = maxp()
    			move(North)
    		move(East)
    
    init_petals()
    while True:
    	for r in range(4):
    		mixed_pass()
    	pump.pumpkin_cycle()
    	init_petals()
    Write result the agent saw
    Saved master (74 lines).
    Game time: 35m 50s elapsed, 5h 24m 10s of budget remaining.
  2. r236m 10sRan71 lines · +13 −16 · ran 2m 28s · 1 runtime error
    import lib
    
    def new_petals():
    	n = get_world_size()
    	p = []
    	for k in range(n * n):
    		p.append(0)
    	return p
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def soil():
    	if get_ground_type() != Grounds.Soil:
    		till()
    
    def mixed_pass(petals):
    	n = get_world_size()
    	lib.goto(0, 0)
    	m = maxp(petals)
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			k = x * n + y
    			e = get_entity_type()
    			if (x + y) % 2 == 0:
    				if can_harvest() or e != Entities.Tree:
    					harvest()
    					plant(Entities.Tree)
    				care_tree()
    			elif x < 2:
    				if can_harvest():
    					harvest()
    				if get_ground_type() != Grounds.Grassland:
    					harvest()
    					till()
    			elif x < 5:
    				if can_harvest() or e != Entities.Carrot:
    					harvest()
    					soil()
    					plant(Entities.Carrot)
    			else:
    				if e != Entities.Sunflower:
    					harvest()
    					soil()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    				elif can_harvest() and petals[k] >= m:
    					harvest()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    					m = maxp(petals)
    			move(North)
    		move(East)
    
    while True:
    	petals = new_petals()
    	for r in range(4):
    		mixed_pass(petals)
    	lib.pumpkin_cycle()
    Changes from the previous revision
    - import pump
    - 
    - petals = []
    + import lib
      
    - def init_petals():
    - 	global petals
    + def new_petals():
      	n = get_world_size()
    - 	petals = []
    + 	p = []
      	for k in range(n * n):
    - 		petals.append(0)
    + 		p.append(0)
    + 	return p
      
    - def maxp():
    + def maxp(petals):
      	m = 0
      	for p in petals:
      		till()
      
    - def mixed_pass():
    + def mixed_pass(petals):
      	n = get_world_size()
    - 	pump.goto(0, 0)
    - 	m = maxp()
    + 	lib.goto(0, 0)
    + 	m = maxp(petals)
      	for i in range(n):
      		for j in range(n):
      					plant(Entities.Sunflower)
      					petals[k] = measure()
    - 					m = maxp()
    + 					m = maxp(petals)
      			move(North)
      		move(East)
      
    - init_petals()
      while True:
    + 	petals = new_petals()
      	for r in range(4):
    - 		mixed_pass()
    - 	pump.pumpkin_cycle()
    - 	init_petals()
    + 		mixed_pass(petals)
    + 	lib.pumpkin_cycle()
    
    Write result the agent saw
    Saved master (71 lines).
    Game time: 36m 20s elapsed, 5h 23m 40s of budget remaining.
    run_program at 36m 30s for 120s (agent saw)
    Ran master for 2m of game time; it is still running.
    Inventory change: carrot +814, fertilizer -3, hay +416, power +38.64, pumpkin +384, water -20, weird_substance +225, wood +3441.
    Game time: 38m 40s elapsed, 5h 21m 20s of budget remaining.
    Output:
    (none)
    Runtime error at 39m 08s (telemetry; not shown to the agent)
    The operator > cannot be used on the operands None and 7.
  3. r340m 42sRan75 lines · +4 −0 · ran 10s · 1 runtime error
    import lib
    import maze
    
    def new_petals():
    	n = get_world_size()
    	p = []
    	for k in range(n * n):
    		p.append(0)
    	return p
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def soil():
    	if get_ground_type() != Grounds.Soil:
    		till()
    
    def mixed_pass(petals):
    	n = get_world_size()
    	lib.goto(0, 0)
    	m = maxp(petals)
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			k = x * n + y
    			e = get_entity_type()
    			if (x + y) % 2 == 0:
    				if can_harvest() or e != Entities.Tree:
    					harvest()
    					plant(Entities.Tree)
    				care_tree()
    			elif x < 2:
    				if can_harvest():
    					harvest()
    				if get_ground_type() != Grounds.Grassland:
    					harvest()
    					till()
    			elif x < 5:
    				if can_harvest() or e != Entities.Carrot:
    					harvest()
    					soil()
    					plant(Entities.Carrot)
    			else:
    				if e != Entities.Sunflower:
    					harvest()
    					soil()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    				elif can_harvest() and petals[k] >= m:
    					harvest()
    					plant(Entities.Sunflower)
    					petals[k] = measure()
    					m = maxp(petals)
    			move(North)
    		move(East)
    
    while True:
    	petals = new_petals()
    	for r in range(4):
    		mixed_pass(petals)
    	lib.pumpkin_cycle()
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	while num_items(Items.Weird_Substance) > ws * 3:
    		maze.run_maze()
    Changes from the previous revision
      import lib
    + import maze
      
      def new_petals():
      		mixed_pass(petals)
      	lib.pumpkin_cycle()
    + 	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    + 	while num_items(Items.Weird_Substance) > ws * 3:
    + 		maze.run_maze()
    
    Write result the agent saw
    Saved master (75 lines).
    Game time: 40m 52s elapsed, 5h 19m 8s of budget remaining.
    run_program at 40m 52s for 240s (agent saw)
    Ran master for 10s of game time; it stopped with an error: The operator > cannot be used on the operands None and 0.
    Inventory change: fertilizer -23, hay +608, power -8.38, water -24, wood -96.
    Game time: 41m 12s elapsed, 5h 18m 48s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Sunflower.
    In: mixed_pass
    plant(Entities.Sunflower)
         ^^                  
    --------------------------------------------------------------------
    Error: The operator > cannot be used on the operands None and 0.
    In: mixed_pass <- maxp
    if p > m:
       ^^^^^^^
    --------------------------------------------------------------------
    Runtime error at 41m 12s (telemetry; not shown to the agent)
    The operator > cannot be used on the operands None and 0.
  4. r441m 32sRan82 lines · +10 −3 · ran 8m 10s
    import lib
    import maze
    
    def new_petals():
    	n = get_world_size()
    	p = []
    	for k in range(n * n):
    		p.append(0)
    	return p
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def soil():
    	if get_ground_type() != Grounds.Soil:
    		till()
    
    def mixed_pass(petals):
    	n = get_world_size()
    	lib.goto(0, 0)
    	m = maxp(petals)
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			k = x * n + y
    			e = get_entity_type()
    			if (x + y) % 2 == 0:
    				if can_harvest() or e != Entities.Tree:
    					harvest()
    					plant(Entities.Tree)
    				care_tree()
    			elif x < 2:
    				if can_harvest():
    					harvest()
    				if get_ground_type() != Grounds.Grassland:
    					harvest()
    					till()
    			elif x < 5:
    				if can_harvest() or e != Entities.Carrot:
    					harvest()
    					soil()
    					plant(Entities.Carrot)
    			else:
    				if e != Entities.Sunflower:
    					harvest()
    					soil()
    					plant(Entities.Sunflower)
    					petals[k] = meas()
    				elif can_harvest() and petals[k] >= m:
    					harvest()
    					plant(Entities.Sunflower)
    					petals[k] = meas()
    					m = maxp(petals)
    			move(North)
    		move(East)
    
    while True:
    	petals = new_petals()
    	for r in range(4):
    		mixed_pass(petals)
    	if num_items(Items.Carrot) > 200:
    		lib.pumpkin_cycle()
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	while num_items(Items.Weird_Substance) > ws * 3:
    		maze.run_maze()
    Changes from the previous revision
      	return m
      
    + def meas():
    + 	p = measure()
    + 	if p == None:
    + 		return 0
    + 	return p
    + 
      def care_tree():
      	if get_water() < 0.5 and num_items(Items.Water) > 0:
      					soil()
      					plant(Entities.Sunflower)
    - 					petals[k] = measure()
    + 					petals[k] = meas()
      				elif can_harvest() and petals[k] >= m:
      					harvest()
      					plant(Entities.Sunflower)
    - 					petals[k] = measure()
    + 					petals[k] = meas()
      					m = maxp(petals)
      			move(North)
      	for r in range(4):
      		mixed_pass(petals)
    - 	lib.pumpkin_cycle()
    + 	if num_items(Items.Carrot) > 200:
    + 		lib.pumpkin_cycle()
      	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
      	while num_items(Items.Weird_Substance) > ws * 3:
    
    Write result the agent saw
    Saved master (82 lines).
    Game time: 41m 42s elapsed, 5h 18m 18s of budget remaining.
    run_program at 41m 42s for 240s (agent saw)
    Ran master for 4m of game time; it is still running.
    Inventory change: carrot +859, fertilizer +32, gold +2688, hay -16, pumpkin +768, water +60, weird_substance +306, wood +4022.
    Game time: 45m 52s elapsed, 5h 14m 8s of budget remaining.
    Output:
    (none)
    run_program at 46m 52s for 180s (agent saw)
    Ran master for 3m of game time; it is still running.
    Inventory change: carrot +384, fertilizer -27, gold +2560, hay +832, pumpkin +768, weird_substance +462, wood +2202.
    Game time: 50m 2s elapsed, 5h 9m 58s of budget remaining.
    Output:
    (none)
  5. —46m 32sRejected
    import lib
    import maze
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def mixed_cols(x0, x1):
    	n = get_world_size()
    	petals = []
    	for k in range(n * n):
    		petals.append(0)
    	sun0 = n - n * 3 // 8
    	for r in range(PASSES):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				k = x * n + y
    				e = get_entity_type()
    				if (x + y) % 2 == 0:
    					if can_harvest() or e != Entities.Tree:
    						harvest()
    						plant(Entities.Tree)
    					care_tree()
    				elif x < n // 4:
    					if can_harvest():
    						harvest()
    					if get_ground_type() != Grounds.Grassland:
    						harvest()
    						till()
    				elif x < sun0:
    					if can_harvest() or e != Entities.Carrot:
    						harvest()
    						lib.soil()
    						plant(Entities.Carrot)
    				else:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    					elif can_harvest() and petals[k] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    						m = maxp(petals)
    				move(North)
    
    PASSES = 4
    while True:
    	lib.par(mixed_cols, lib.chunks())
    	if num_items(Items.Carrot) > 300:
    		lib.pumpkin_cycle()
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	while num_items(Items.Weird_Substance) > ws * 3:
    		lib.goto(0, 0)
    		maze.run_maze()
    Write result the agent saw
    Stop the program before editing it.
  6. r550m 12sRan73 lines · +44 −53 · ran 19m 50s
    import lib
    import maze
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def mixed_cols(x0, x1):
    	n = get_world_size()
    	petals = []
    	for k in range(n * n):
    		petals.append(0)
    	sun0 = n - n * 3 // 8
    	for r in range(4):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				k = x * n + y
    				e = get_entity_type()
    				if (x + y) % 2 == 0:
    					if can_harvest() or e != Entities.Tree:
    						harvest()
    						plant(Entities.Tree)
    					care_tree()
    				elif x < n // 4:
    					if can_harvest():
    						harvest()
    					if get_ground_type() != Grounds.Grassland:
    						harvest()
    						till()
    				elif x < sun0:
    					if can_harvest() or e != Entities.Carrot:
    						harvest()
    						lib.soil()
    						plant(Entities.Carrot)
    				else:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    					elif can_harvest() and petals[k] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    						m = maxp(petals)
    				move(North)
    
    while True:
    	lib.par(mixed_cols, lib.chunks())
    	if num_items(Items.Carrot) > 300:
    		lib.pumpkin_cycle()
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	while num_items(Items.Weird_Substance) > ws * 3:
    		lib.goto(0, 0)
    		maze.run_maze()
    Changes from the previous revision
      import maze
      
    - def new_petals():
    - 	n = get_world_size()
    - 	p = []
    - 	for k in range(n * n):
    - 		p.append(0)
    - 	return p
    - 
      def maxp(petals):
      	m = 0
      		use_item(Items.Fertilizer)
      
    - def soil():
    - 	if get_ground_type() != Grounds.Soil:
    - 		till()
    - 
    - def mixed_pass(petals):
    + def mixed_cols(x0, x1):
      	n = get_world_size()
    - 	lib.goto(0, 0)
    - 	m = maxp(petals)
    - 	for i in range(n):
    - 		for j in range(n):
    - 			x = get_pos_x()
    - 			y = get_pos_y()
    - 			k = x * n + y
    - 			e = get_entity_type()
    - 			if (x + y) % 2 == 0:
    - 				if can_harvest() or e != Entities.Tree:
    - 					harvest()
    - 					plant(Entities.Tree)
    - 				care_tree()
    - 			elif x < 2:
    - 				if can_harvest():
    - 					harvest()
    - 				if get_ground_type() != Grounds.Grassland:
    - 					harvest()
    - 					till()
    - 			elif x < 5:
    - 				if can_harvest() or e != Entities.Carrot:
    - 					harvest()
    - 					soil()
    - 					plant(Entities.Carrot)
    - 			else:
    - 				if e != Entities.Sunflower:
    - 					harvest()
    - 					soil()
    - 					plant(Entities.Sunflower)
    - 					petals[k] = meas()
    - 				elif can_harvest() and petals[k] >= m:
    - 					harvest()
    - 					plant(Entities.Sunflower)
    - 					petals[k] = meas()
    - 					m = maxp(petals)
    - 			move(North)
    - 		move(East)
    + 	petals = []
    + 	for k in range(n * n):
    + 		petals.append(0)
    + 	sun0 = n - n * 3 // 8
    + 	for r in range(4):
    + 		m = maxp(petals)
    + 		for x in range(x0, x1):
    + 			lib.goto(x, 0)
    + 			for j in range(n):
    + 				y = get_pos_y()
    + 				k = x * n + y
    + 				e = get_entity_type()
    + 				if (x + y) % 2 == 0:
    + 					if can_harvest() or e != Entities.Tree:
    + 						harvest()
    + 						plant(Entities.Tree)
    + 					care_tree()
    + 				elif x < n // 4:
    + 					if can_harvest():
    + 						harvest()
    + 					if get_ground_type() != Grounds.Grassland:
    + 						harvest()
    + 						till()
    + 				elif x < sun0:
    + 					if can_harvest() or e != Entities.Carrot:
    + 						harvest()
    + 						lib.soil()
    + 						plant(Entities.Carrot)
    + 				else:
    + 					if e != Entities.Sunflower:
    + 						harvest()
    + 						lib.soil()
    + 						plant(Entities.Sunflower)
    + 						petals[k] = meas()
    + 					elif can_harvest() and petals[k] >= m:
    + 						harvest()
    + 						plant(Entities.Sunflower)
    + 						petals[k] = meas()
    + 						m = maxp(petals)
    + 				move(North)
      
      while True:
    - 	petals = new_petals()
    - 	for r in range(4):
    - 		mixed_pass(petals)
    - 	if num_items(Items.Carrot) > 200:
    + 	lib.par(mixed_cols, lib.chunks())
    + 	if num_items(Items.Carrot) > 300:
      		lib.pumpkin_cycle()
      	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
      	while num_items(Items.Weird_Substance) > ws * 3:
    + 		lib.goto(0, 0)
      		maze.run_maze()
    
    Write result the agent saw
    Saved master (73 lines).
    Game time: 50m 22s elapsed, 5h 9m 38s of budget remaining.
    run_program at 50m 22s for 180s (agent saw)
    Ran master for 3m of game time; it is still running.
    Inventory change: carrot +162, fertilizer -1, gold +3328, hay +1240, pumpkin +768, water +4, weird_substance +226, wood +2962.
    Game time: 53m 32s elapsed, 5h 6m 28s of budget remaining.
    Output:
    (none)
  7. r61h 10mRan75 lines · +5 −3 · ran 11m 30s
    import lib
    import maze
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def mixed_cols(x0, x1):
    	n = get_world_size()
    	petals = []
    	for k in range(n * n):
    		petals.append(0)
    	sun0 = n - n * 3 // 8
    	for r in range(3):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				k = x * n + y
    				e = get_entity_type()
    				if (x + y) % 2 == 0:
    					if can_harvest() or e != Entities.Tree:
    						harvest()
    						plant(Entities.Tree)
    					care_tree()
    				elif x < n // 4:
    					if can_harvest():
    						harvest()
    					if get_ground_type() != Grounds.Grassland:
    						harvest()
    						till()
    				elif x < sun0:
    					if can_harvest() or e != Entities.Carrot:
    						harvest()
    						lib.soil()
    						plant(Entities.Carrot)
    				else:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    					elif can_harvest() and petals[k] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    						m = maxp(petals)
    				move(North)
    
    while True:
    	lib.par(mixed_cols, lib.chunks())
    	if num_items(Items.Carrot) > 150:
    		lib.pumpkin_cycle()
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 3 and c < 10:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    Changes from the previous revision
      		petals.append(0)
      	sun0 = n - n * 3 // 8
    - 	for r in range(4):
    + 	for r in range(3):
      		m = maxp(petals)
      		for x in range(x0, x1):
      while True:
      	lib.par(mixed_cols, lib.chunks())
    - 	if num_items(Items.Carrot) > 300:
    + 	if num_items(Items.Carrot) > 150:
      		lib.pumpkin_cycle()
      	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    - 	while num_items(Items.Weird_Substance) > ws * 3:
    + 	c = 0
    + 	while num_items(Items.Weird_Substance) > ws * 3 and c < 10:
      		lib.goto(0, 0)
      		maze.run_maze()
    + 		c += 1
    
    Write result the agent saw
    Saved master (75 lines).
    Game time: 1h 10m 42s elapsed, 4h 49m 18s of budget remaining.
    run_program at 1h 10m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: carrot +848, fertilizer -301, gold +4416, hay +6768, pumpkin +5376, water -296, weird_substance +5420, wood +8468.
    Game time: 1h 15m 52s elapsed, 4h 44m 8s of budget remaining.
    Output:
    (none)
  8. r71h 28mRan86 lines · +16 −5 · ran 8m 58s
    import lib
    import maze
    import cact
    import dino
    
    def maxp(petals):
    	m = 0
    	for p in petals:
    		if p > m:
    			m = p
    	return m
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def care_tree():
    	if get_water() < 0.5 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    	if num_items(Items.Fertilizer) > 0:
    		use_item(Items.Fertilizer)
    
    def mixed_cols(x0, x1):
    	n = get_world_size()
    	petals = []
    	for k in range(n * n):
    		petals.append(0)
    	sun0 = n - n * 3 // 8
    	for r in range(3):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				k = x * n + y
    				e = get_entity_type()
    				if (x + y) % 2 == 0:
    					if can_harvest() or e != Entities.Tree:
    						harvest()
    						plant(Entities.Tree)
    					care_tree()
    				elif x < n // 4:
    					if can_harvest():
    						harvest()
    					if get_ground_type() != Grounds.Grassland:
    						harvest()
    						till()
    				elif x < sun0:
    					if can_harvest() or e != Entities.Carrot:
    						harvest()
    						lib.soil()
    						plant(Entities.Carrot)
    				else:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    					elif can_harvest() and petals[k] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[k] = meas()
    						m = maxp(petals)
    				move(North)
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	lib.par(mixed_cols, lib.chunks())
    	if num_items(Items.Carrot) > 200:
    		lib.pumpkin_cycle()
    	if num_items(Items.Pumpkin) > 400:
    		cact.cactus_cycle()
    	mazes(10)
    	if loop % 2 == 0 and num_items(Items.Cactus) > 1000:
    		dino.dino_cycle()
    	loop += 1
    Changes from the previous revision
      import lib
      import maze
    + import cact
    + import dino
      
      def maxp(petals):
      				move(North)
      
    - while True:
    - 	lib.par(mixed_cols, lib.chunks())
    - 	if num_items(Items.Carrot) > 150:
    - 		lib.pumpkin_cycle()
    + def mazes(cap):
      	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
      	c = 0
    - 	while num_items(Items.Weird_Substance) > ws * 3 and c < 10:
    + 	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
      		lib.goto(0, 0)
      		maze.run_maze()
      		c += 1
    + 
    + loop = 0
    + while True:
    + 	lib.par(mixed_cols, lib.chunks())
    + 	if num_items(Items.Carrot) > 200:
    + 		lib.pumpkin_cycle()
    + 	if num_items(Items.Pumpkin) > 400:
    + 		cact.cactus_cycle()
    + 	mazes(10)
    + 	if loop % 2 == 0 and num_items(Items.Cactus) > 1000:
    + 		dino.dino_cycle()
    + 	loop += 1
    
    Write result the agent saw
    Saved master (86 lines).
    Game time: 1h 29m 8s elapsed, 4h 30m 52s of budget remaining.
    run_program at 1h 29m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +20686, carrot +859, fertilizer -68, gold +2880, hay +3992, pumpkin +1440, water +169, weird_substance +8200, wood +9336.
    Game time: 1h 34m 18s elapsed, 4h 25m 42s of budget remaining.
    Output:
    (none)
  9. r81h 38mRan25 lines · +6 −67 · ran 8m 10s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	lib.par(poly.poly_cols, lib.chunks())
    	if num_items(Items.Carrot) > 500:
    		lib.pumpkin_cycle()
    	if num_items(Items.Pumpkin) > 1000:
    		cact.cactus_cycle()
    	mazes(15)
    	if loop % 2 == 0 and num_items(Items.Cactus) > 3000:
    		dino.dino_cycle()
    	loop += 1
    Changes from the previous revision
      import cact
      import dino
    - 
    - def maxp(petals):
    - 	m = 0
    - 	for p in petals:
    - 		if p > m:
    - 			m = p
    - 	return m
    - 
    - def meas():
    - 	p = measure()
    - 	if p == None:
    - 		return 0
    - 	return p
    - 
    - def care_tree():
    - 	if get_water() < 0.5 and num_items(Items.Water) > 0:
    - 		use_item(Items.Water)
    - 	if num_items(Items.Fertilizer) > 0:
    - 		use_item(Items.Fertilizer)
    - 
    - def mixed_cols(x0, x1):
    - 	n = get_world_size()
    - 	petals = []
    - 	for k in range(n * n):
    - 		petals.append(0)
    - 	sun0 = n - n * 3 // 8
    - 	for r in range(3):
    - 		m = maxp(petals)
    - 		for x in range(x0, x1):
    - 			lib.goto(x, 0)
    - 			for j in range(n):
    - 				y = get_pos_y()
    - 				k = x * n + y
    - 				e = get_entity_type()
    - 				if (x + y) % 2 == 0:
    - 					if can_harvest() or e != Entities.Tree:
    - 						harvest()
    - 						plant(Entities.Tree)
    - 					care_tree()
    - 				elif x < n // 4:
    - 					if can_harvest():
    - 						harvest()
    - 					if get_ground_type() != Grounds.Grassland:
    - 						harvest()
    - 						till()
    - 				elif x < sun0:
    - 					if can_harvest() or e != Entities.Carrot:
    - 						harvest()
    - 						lib.soil()
    - 						plant(Entities.Carrot)
    - 				else:
    - 					if e != Entities.Sunflower:
    - 						harvest()
    - 						lib.soil()
    - 						plant(Entities.Sunflower)
    - 						petals[k] = meas()
    - 					elif can_harvest() and petals[k] >= m:
    - 						harvest()
    - 						plant(Entities.Sunflower)
    - 						petals[k] = meas()
    - 						m = maxp(petals)
    - 				move(North)
    + import poly
      
      def mazes(cap):
      loop = 0
      while True:
    - 	lib.par(mixed_cols, lib.chunks())
    - 	if num_items(Items.Carrot) > 200:
    + 	lib.par(poly.poly_cols, lib.chunks())
    + 	if num_items(Items.Carrot) > 500:
      		lib.pumpkin_cycle()
    - 	if num_items(Items.Pumpkin) > 400:
    + 	if num_items(Items.Pumpkin) > 1000:
      		cact.cactus_cycle()
    - 	mazes(10)
    - 	if loop % 2 == 0 and num_items(Items.Cactus) > 1000:
    + 	mazes(15)
    + 	if loop % 2 == 0 and num_items(Items.Cactus) > 3000:
      		dino.dino_cycle()
      	loop += 1
    
    Write result the agent saw
    Saved master (25 lines).
    Game time: 1h 38m 26s elapsed, 4h 21m 34s of budget remaining.
    run_program at 1h 38m for 120s (agent saw)
    Ran master for 2m of game time; it is still running.
    Inventory change: cactus +20736, carrot +6198, fertilizer +48, gold +2304, hay +14528, pumpkin +3168, water -85, weird_substance -216, wood +48768.
    Game time: 1h 40m 36s elapsed, 4h 19m 24s of budget remaining.
    Output:
    (none)
  10. r92h 02mRan26 lines · +5 −4 · ran 5m 10s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	lib.par(poly.poly_cols, lib.chunks())
    	for i in range(3):
    		if num_items(Items.Carrot) > 2000:
    			lib.pumpkin_cycle()
    	if num_items(Items.Pumpkin) > 1000:
    		cact.cactus_cycle()
    	mazes(10)
    	if loop % 3 == 0 and num_items(Items.Cactus) > 5000:
    		dino.dino_cycle()
    	loop += 1
    Changes from the previous revision
      while True:
      	lib.par(poly.poly_cols, lib.chunks())
    - 	if num_items(Items.Carrot) > 500:
    - 		lib.pumpkin_cycle()
    + 	for i in range(3):
    + 		if num_items(Items.Carrot) > 2000:
    + 			lib.pumpkin_cycle()
      	if num_items(Items.Pumpkin) > 1000:
      		cact.cactus_cycle()
    - 	mazes(15)
    - 	if loop % 2 == 0 and num_items(Items.Cactus) > 3000:
    + 	mazes(10)
    + 	if loop % 3 == 0 and num_items(Items.Cactus) > 5000:
      		dino.dino_cycle()
      	loop += 1
    
    Write result the agent saw
    Saved master (26 lines).
    Game time: 2h 2m 55s elapsed, 3h 57m 5s of budget remaining.
    run_program at 2h 02m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +20416, carrot +508, fertilizer +120, gold +5760, hay +11408, pumpkin +10080, water +526, weird_substance -480, wood +22128.
    Game time: 2h 8m 5s elapsed, 3h 51m 55s of budget remaining.
    Output:
    (none)
  11. r102h 08mRan33 lines · +7 −0 · ran 6m 58s · 2 runtime errors
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(3):
    		if num_items(Items.Carrot) > 2000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 1000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(10)
    	t4 = get_time()
    	if loop % 3 == 0 and num_items(Items.Cactus) > 5000:
    		dino.dino_cycle()
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      loop = 0
      while True:
    + 	t = get_time()
      	lib.par(poly.poly_cols, lib.chunks())
    + 	t1 = get_time()
      	for i in range(3):
      		if num_items(Items.Carrot) > 2000:
      			lib.pumpkin_cycle()
    + 	t2 = get_time()
      	if num_items(Items.Pumpkin) > 1000:
      		cact.cactus_cycle()
    + 	t3 = get_time()
      	mazes(10)
    + 	t4 = get_time()
      	if loop % 3 == 0 and num_items(Items.Cactus) > 5000:
      		dino.dino_cycle()
    + 	t5 = get_time()
    + 	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
      	loop += 1
    
    Write result the agent saw
    Saved master (33 lines).
    Game time: 2h 8m 25s elapsed, 3h 51m 35s of budget remaining.
    run_program at 2h 08m for 400s (agent saw)
    Ran master for 2s of game time; it stopped with an error: The operator > cannot be used on the operands (1,8) and 15.
    Inventory change: carrot -15, hay -112, water -18, wood -112.
    Game time: 2h 8m 37s elapsed, 3h 51m 23s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands (1,8) and 15.
    In: par <- poly_cols <- maxp
    if petals[k] > m:
             ^^^^^^^^^
    --------------------------------------------------------------------
    run_program at 2h 08m for 400s (agent saw)
    Ran master for 6s of game time; it stopped with an error: The operator > cannot be used on the operands 8 and None.
    Inventory change: bone +32258, carrot -28, fertilizer +3, pumpkin +12, water +15, wood -16.
    Game time: 2h 9m 3s elapsed, 3h 50m 57s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 8 and None.
    In: sort_rows <- sort_dir
    if measure() > measure(fwd):
              ^^^^^^^^^^^^^^^^^^^
    --------------------------------------------------------------------
    run_program at 2h 09m for 400s (agent saw)
    Ran master for 6m 40s of game time; it is still running.
    Inventory change: bone +40898, cactus +40904, carrot +2728, fertilizer +160, gold +9216, hay +15440, pumpkin +20160, water +425, weird_substance -816, wood +63392.
    Game time: 2h 16m 3s elapsed, 3h 43m 57s of budget remaining.
    Output:
    7.48 17.95 18.87 48.26 230.74
    Runtime error at 2h 08m (telemetry; not shown to the agent)
    The operator > cannot be used on the operands (1,8) and 15.
    Runtime error at 2h 09m (telemetry; not shown to the agent)
    The operator > cannot be used on the operands 8 and None.
  12. r112h 16mRan35 lines · +5 −3 · ran 11m 31s · 1 runtime error
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(3):
    		if num_items(Items.Carrot) > 2000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 1000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(8)
    	t4 = get_time()
    	if loop % 4 == 3 and num_items(Items.Cactus) > 5000:
    		dino.dino_cycle()
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      while True:
      	t = get_time()
    - 	lib.par(poly.poly_cols, lib.chunks())
    + 	change_hat(Hats.Straw_Hat)
    + 	for i in range(2):
    + 		lib.par(poly.poly_cols, lib.chunks())
      	t1 = get_time()
      	for i in range(3):
      		cact.cactus_cycle()
      	t3 = get_time()
    - 	mazes(10)
    + 	mazes(8)
      	t4 = get_time()
    - 	if loop % 3 == 0 and num_items(Items.Cactus) > 5000:
    + 	if loop % 4 == 3 and num_items(Items.Cactus) > 5000:
      		dino.dino_cycle()
      	t5 = get_time()
    
    Write result the agent saw
    Saved master (35 lines).
    Game time: 2h 16m 23s elapsed, 3h 43m 37s of budget remaining.
    run_program at 2h 16m for 300s (agent saw)
    Ran master for 11s of game time; it stopped with an error: (11,0) is not a key in the dictionary.
    Inventory change: carrot +4911, fertilizer +4, hay +9504, water -63, wood +37904.
    Game time: 2h 16m 44s elapsed, 3h 43m 16s of budget remaining.
    Output:
    Error: (11,0) is not a key in the dictionary.
    In: par <- poly_cols
    elif can_harvest() and petals[(x, y)] >= m:
                                 ^^            
    --------------------------------------------------------------------
    run_program at 2h 16m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +82944, carrot +23678, fertilizer +120, gold +16128, hay +71664, pumpkin +40320, water -98, weird_substance -1392, wood +228880.
    Game time: 2h 22m 4s elapsed, 3h 37m 56s of budget remaining.
    Output:
    7.62 17.87 17.32 33.52 0
    10.41 15.35 18.66 39.22 0
    10.53 12.44 15.39 34.36 0
    Runtime error at 2h 16m (telemetry; not shown to the agent)
    (11,0) is not a key in the dictionary.
  13. r122h 47mRan35 lines · +4 −4 · ran 20m 12s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(3):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(8)
    	t4 = get_time()
    	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    		dino.dino_cycle(200)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      	t1 = get_time()
      	for i in range(3):
    - 		if num_items(Items.Carrot) > 2000:
    + 		if num_items(Items.Carrot) > 3000:
      			lib.pumpkin_cycle()
      	t2 = get_time()
    - 	if num_items(Items.Pumpkin) > 1000:
    + 	if num_items(Items.Pumpkin) > 3000:
      		cact.cactus_cycle()
      	t3 = get_time()
      	mazes(8)
      	t4 = get_time()
    - 	if loop % 4 == 3 and num_items(Items.Cactus) > 5000:
    - 		dino.dino_cycle()
    + 	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    + 		dino.dino_cycle(200)
      	t5 = get_time()
      	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    
    Write result the agent saw
    Saved master (35 lines).
    Game time: 2h 47m 19s elapsed, 3h 12m 41s of budget remaining.
    run_program at 2h 47m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +131072, carrot +398517, fertilizer +240, gold +16384, hay +790688, pumpkin +109056, water -1073, weird_substance -1024, wood +3323008.
    Game time: 2h 52m 29s elapsed, 3h 7m 31s of budget remaining.
    Output:
    17.76 23.61 29.18 42.37 0
    13.32 22.79 28.94 63.09 0
  14. r133h 07mSaved, never run35 lines · +2 −2
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(2):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(MZ)
    	t4 = get_time()
    	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    		dino.dino_cycle(200)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      		lib.par(poly.poly_cols, lib.chunks())
      	t1 = get_time()
    - 	for i in range(3):
    + 	for i in range(2):
      		if num_items(Items.Carrot) > 3000:
      			lib.pumpkin_cycle()
      		cact.cactus_cycle()
      	t3 = get_time()
    - 	mazes(8)
    + 	mazes(MZ)
      	t4 = get_time()
      	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    
    Write result the agent saw
    Saved master (35 lines).
    Game time: 3h 7m 51s elapsed, 2h 52m 9s of budget remaining.
  15. r143h 07mRan35 lines · +1 −1 · ran 37m 31s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(2):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(20)
    	t4 = get_time()
    	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    		dino.dino_cycle(200)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      		cact.cactus_cycle()
      	t3 = get_time()
    - 	mazes(MZ)
    + 	mazes(20)
      	t4 = get_time()
      	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    
    Write result the agent saw
    Saved master (35 lines).
    Game time: 3h 8m 1s elapsed, 2h 51m 59s of budget remaining.
    run_program at 3h 08m for 300s (agent saw)
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +468722, carrot +1998666, fertilizer +240, gold +50336, hay +5167872, pumpkin +90992, water +6438, weird_substance -2464, wood +14665856.
    Game time: 3h 13m 11s elapsed, 2h 46m 49s of budget remaining.
    Output:
    (none)
  16. r153h 45mRan35 lines · +3 −3 · ran 10m 40s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(2):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(8)
    	t4 = get_time()
    	if loop % 2 == 1 and num_items(Items.Cactus) > 20000:
    		dino.dino_cycle(180)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      		cact.cactus_cycle()
      	t3 = get_time()
    - 	mazes(20)
    + 	mazes(8)
      	t4 = get_time()
    - 	if loop % 5 == 4 and num_items(Items.Cactus) > 20000:
    - 		dino.dino_cycle(200)
    + 	if loop % 2 == 1 and num_items(Items.Cactus) > 20000:
    + 		dino.dino_cycle(180)
      	t5 = get_time()
      	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    
    Write result the agent saw
    Saved master (35 lines).
    Game time: 3h 45m 51s elapsed, 2h 14m 9s of budget remaining.
    run_program at 3h 45m for 600s (agent saw)
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +26896, cactus +3746752, carrot +8995638, fertilizer +480, gold +61952, hay +24236544, pumpkin +1091904, water +11251, weird_substance -2816, wood +129207808.
    Game time: 3h 56m 1s elapsed, 2h 3m 59s of budget remaining.
    Output:
    27.67 16.9 52.6 80.23 0
    20.49 19.13 53.46 77.34 180.13
  17. r164h 00mRan38 lines · +5 −2 · ran 15m 30s
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    n0 = get_world_size()
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(2):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(8)
    	t4 = get_time()
    	if num_items(Items.Cactus) > 20000:
    		set_world_size(10)
    		dino.dino_cycle(300)
    		set_world_size(n0)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      		c += 1
      
    + n0 = get_world_size()
      loop = 0
      while True:
      	mazes(8)
      	t4 = get_time()
    - 	if loop % 2 == 1 and num_items(Items.Cactus) > 20000:
    - 		dino.dino_cycle(180)
    + 	if num_items(Items.Cactus) > 20000:
    + 		set_world_size(10)
    + 		dino.dino_cycle(300)
    + 		set_world_size(n0)
      	t5 = get_time()
      	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    
    Write result the agent saw
    Saved master (38 lines).
    Game time: 4h 28s elapsed, 1h 59m 32s of budget remaining.
    run_program at 4h 00m for 900s (agent saw)
    Ran master for 15m of game time; it is still running.
    Inventory change: bone +301088, cactus +5615872, carrot +9665942, fertilizer +720, gold +81312, hay +24545792, pumpkin +1091904, water +18597, weird_substance -3872, wood +135528960.
    Game time: 4h 15m 38s elapsed, 1h 44m 22s of budget remaining.
    Output:
    26.83 17.3 49.71 94.04 181.63
    27.07 18.28 53.73 67.6 217.69
  18. r174h 16mRanFinal38 lines · +3 −3 · ran 1h 43m
    import lib
    import maze
    import cact
    import dino
    import poly
    
    def mazes(cap):
    	ws = get_world_size() * 2 ** (num_unlocked(Unlocks.Mazes) - 1)
    	c = 0
    	while num_items(Items.Weird_Substance) > ws * 2 and c < cap:
    		lib.goto(0, 0)
    		maze.run_maze()
    		c += 1
    
    n0 = get_world_size()
    loop = 0
    while True:
    	t = get_time()
    	change_hat(Hats.Straw_Hat)
    	for i in range(2):
    		lib.par(poly.poly_cols, lib.chunks())
    	t1 = get_time()
    	for i in range(5):
    		if num_items(Items.Carrot) > 3000:
    			lib.pumpkin_cycle()
    	t2 = get_time()
    	if num_items(Items.Pumpkin) > 3000:
    		cact.cactus_cycle()
    	t3 = get_time()
    	mazes(6)
    	t4 = get_time()
    	if num_items(Items.Cactus) > 20000:
    		set_world_size(10)
    		dino.dino_cycle(250)
    		set_world_size(n0)
    	t5 = get_time()
    	print(t1 - t, t2 - t1, t3 - t2, t4 - t3, t5 - t4)
    	loop += 1
    Changes from the previous revision
      		lib.par(poly.poly_cols, lib.chunks())
      	t1 = get_time()
    - 	for i in range(2):
    + 	for i in range(5):
      		if num_items(Items.Carrot) > 3000:
      			lib.pumpkin_cycle()
      		cact.cactus_cycle()
      	t3 = get_time()
    - 	mazes(8)
    + 	mazes(6)
      	t4 = get_time()
      	if num_items(Items.Cactus) > 20000:
      		set_world_size(10)
    - 		dino.dino_cycle(300)
    + 		dino.dino_cycle(250)
      		set_world_size(n0)
      	t5 = get_time()
    
    Write result the agent saw
    Saved master (38 lines).
    Game time: 4h 16m 18s elapsed, 1h 43m 42s of budget remaining.
    run_program at 4h 16m for 600s (agent saw)
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +150544, cactus +3744960, carrot +10926565, fertilizer +480, gold +77440, hay +17339904, pumpkin +3701632, water +11502, weird_substance -3872, wood +81247232.
    Game time: 4h 26m 28s elapsed, 1h 33m 32s of budget remaining.
    Output:
    20.44 50.82 49.86 79.59 212.52
    run_program at 4h 26m for 600s (agent saw)
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +150544, cactus +8385472, carrot +30249424, fertilizer +480, gold +98304, hay +37638144, pumpkin +9420800, water +7200, weird_substance -3072, wood +233199104.
    Game time: 4h 37m 8s elapsed, 1h 22m 52s of budget remaining.
    Output:
    41.81 81.27 108.08 94.79 209.24
lib.py2 writes · 0 ran · first at 35m 50s
  1. r135m 50sSaved, never run37 lines
    def goto(tx, ty):
    	while get_pos_x() != tx:
    		move(East)
    	while get_pos_y() != ty:
    		move(North)
    
    def water():
    	if get_water() < 0.6 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    
    def pumpkin_cycle():
    	n = get_world_size()
    	goto(0, 0)
    	for i in range(n):
    		for j in range(n):
    			if get_entity_type() != Entities.Pumpkin:
    				harvest()
    			if get_ground_type() != Grounds.Soil:
    				till()
    			if get_entity_type() != Entities.Pumpkin:
    				plant(Entities.Pumpkin)
    			water()
    			move(North)
    		move(East)
    	done = False
    	while not done:
    		done = True
    		for i in range(n):
    			for j in range(n):
    				if not can_harvest():
    					done = False
    					if get_entity_type() != Entities.Pumpkin:
    						plant(Entities.Pumpkin)
    						water()
    				move(North)
    			move(East)
    	harvest()
    Write result the agent saw
    Saved lib (37 lines).
    Game time: 36m elapsed, 5h 24m of budget remaining.
  2. r246m 22sSaved, never runFinal79 lines · +59 −17
    def goto(tx, ty):
    	n = get_world_size()
    	dx = (tx - get_pos_x()) % n
    	if dx <= n // 2:
    		for i in range(dx):
    			move(East)
    	else:
    		for i in range(n - dx):
    			move(West)
    	dy = (ty - get_pos_y()) % n
    	if dy <= n // 2:
    		for i in range(dy):
    			move(North)
    	else:
    		for i in range(n - dy):
    			move(South)
    
    def water():
    	if get_water() < 0.6 and num_items(Items.Water) > 0:
    		use_item(Items.Water)
    
    def soil():
    	if get_ground_type() != Grounds.Soil:
    		till()
    
    def par(f, args_list):
    	# run f(a, b) for each (a, b) pair across drones; last one on this drone
    	hs = []
    	for k in range(len(args_list) - 1):
    		a = args_list[k]
    		h = spawn_drone(f, a[0], a[1])
    		if h == None:
    			f(a[0], a[1])
    		else:
    			hs.append(h)
    	a = args_list[len(args_list) - 1]
    	r = f(a[0], a[1])
    	for h in hs:
    		wait_for(h)
    	return r
    
    def chunks():
    	n = get_world_size()
    	k = max_drones()
    	if k > n:
    		k = n
    	res = []
    	for i in range(k):
    		res.append([i * n // k, (i + 1) * n // k])
    	return res
    
    def pump_plant(x0, x1):
    	n = get_world_size()
    	goto(x0, 0)
    	for x in range(x0, x1):
    		goto(x, 0)
    		for j in range(n):
    			if get_entity_type() != Entities.Pumpkin:
    				harvest()
    				soil()
    				plant(Entities.Pumpkin)
    			water()
    			move(North)
    	ok = False
    	while not ok:
    		ok = True
    		for x in range(x0, x1):
    			goto(x, 0)
    			for j in range(n):
    				if not can_harvest():
    					ok = False
    					if get_entity_type() != Entities.Pumpkin:
    						plant(Entities.Pumpkin)
    						water()
    				move(North)
    
    def pumpkin_cycle():
    	par(pump_plant, chunks())
    	harvest()
    Changes from the previous revision
      def goto(tx, ty):
    - 	while get_pos_x() != tx:
    - 		move(East)
    - 	while get_pos_y() != ty:
    - 		move(North)
    + 	n = get_world_size()
    + 	dx = (tx - get_pos_x()) % n
    + 	if dx <= n // 2:
    + 		for i in range(dx):
    + 			move(East)
    + 	else:
    + 		for i in range(n - dx):
    + 			move(West)
    + 	dy = (ty - get_pos_y()) % n
    + 	if dy <= n // 2:
    + 		for i in range(dy):
    + 			move(North)
    + 	else:
    + 		for i in range(n - dy):
    + 			move(South)
      
      def water():
      		use_item(Items.Water)
      
    - def pumpkin_cycle():
    + def soil():
    + 	if get_ground_type() != Grounds.Soil:
    + 		till()
    + 
    + def par(f, args_list):
    + 	# run f(a, b) for each (a, b) pair across drones; last one on this drone
    + 	hs = []
    + 	for k in range(len(args_list) - 1):
    + 		a = args_list[k]
    + 		h = spawn_drone(f, a[0], a[1])
    + 		if h == None:
    + 			f(a[0], a[1])
    + 		else:
    + 			hs.append(h)
    + 	a = args_list[len(args_list) - 1]
    + 	r = f(a[0], a[1])
    + 	for h in hs:
    + 		wait_for(h)
    + 	return r
    + 
    + def chunks():
      	n = get_world_size()
    - 	goto(0, 0)
    - 	for i in range(n):
    + 	k = max_drones()
    + 	if k > n:
    + 		k = n
    + 	res = []
    + 	for i in range(k):
    + 		res.append([i * n // k, (i + 1) * n // k])
    + 	return res
    + 
    + def pump_plant(x0, x1):
    + 	n = get_world_size()
    + 	goto(x0, 0)
    + 	for x in range(x0, x1):
    + 		goto(x, 0)
      		for j in range(n):
      			if get_entity_type() != Entities.Pumpkin:
      				harvest()
    - 			if get_ground_type() != Grounds.Soil:
    - 				till()
    - 			if get_entity_type() != Entities.Pumpkin:
    + 				soil()
      				plant(Entities.Pumpkin)
      			water()
      			move(North)
    - 		move(East)
    - 	done = False
    - 	while not done:
    - 		done = True
    - 		for i in range(n):
    + 	ok = False
    + 	while not ok:
    + 		ok = True
    + 		for x in range(x0, x1):
    + 			goto(x, 0)
      			for j in range(n):
      				if not can_harvest():
    - 					done = False
    + 					ok = False
      					if get_entity_type() != Entities.Pumpkin:
      						plant(Entities.Pumpkin)
      						water()
      				move(North)
    - 			move(East)
    + 
    + def pumpkin_cycle():
    + 	par(pump_plant, chunks())
      	harvest()
    
    Write result the agent saw
    Saved lib (79 lines).
    Game time: 46m 32s elapsed, 5h 13m 28s of budget remaining.
maze.py3 writes · 0 ran · first at 39m 10s
  1. r139m 10sSaved, never run38 lines
    dirs = [North, East, South, West]
    opp = {North: South, South: North, East: West, West: East}
    
    def dfs(back, tx, ty):
    	if get_entity_type() == Entities.Treasure:
    		return True
    	x = get_pos_x()
    	y = get_pos_y()
    	order = []
    	if tx > x:
    		order.append(East)
    	if tx < x:
    		order.append(West)
    	if ty > y:
    		order.append(North)
    	if ty < y:
    		order.append(South)
    	for d in dirs:
    		if d not in order:
    			order.append(d)
    	for d in order:
    		if d != back and move(d):
    			if dfs(opp[d], tx, ty):
    				return True
    			move(opp[d])
    	return False
    
    def make_maze():
    	harvest()
    	plant(Entities.Bush)
    	n = get_world_size()
    	use_item(Items.Weird_Substance, n * 2 ** (num_unlocked(Unlocks.Mazes) - 1))
    
    def run_maze():
    	make_maze()
    	tx, ty = measure()
    	dfs(None, tx, ty)
    	harvest()
    Write result the agent saw
    Saved maze (38 lines).
    Game time: 39m 20s elapsed, 5h 20m 40s of budget remaining.
  2. r239m 20sSaved, never run44 lines · +12 −6
    def opp(d):
    	if d == North:
    		return South
    	if d == South:
    		return North
    	if d == East:
    		return West
    	return East
    
    def dfs(back, tx, ty):
    	if get_entity_type() == Entities.Treasure:
    		return True
    	x = get_pos_x()
    	y = get_pos_y()
    	order = []
    	if tx > x:
    		order.append(East)
    	if tx < x:
    		order.append(West)
    	if ty > y:
    		order.append(North)
    	if ty < y:
    		order.append(South)
    	for d in [North, East, South, West]:
    		if not (d in order):
    			order.append(d)
    	for d in order:
    		if d != back and move(d):
    			if dfs(opp(d), tx, ty):
    				return True
    			move(opp(d))
    	return False
    
    def make_maze():
    	harvest()
    	plant(Entities.Bush)
    	n = get_world_size()
    	use_item(Items.Weird_Substance, n * 2 ** (num_unlocked(Unlocks.Mazes) - 1))
    
    def run_maze():
    	make_maze()
    	tx, ty = measure()
    	dfs(None, tx, ty)
    	harvest()
    Changes from the previous revision
    - dirs = [North, East, South, West]
    - opp = {North: South, South: North, East: West, West: East}
    + def opp(d):
    + 	if d == North:
    + 		return South
    + 	if d == South:
    + 		return North
    + 	if d == East:
    + 		return West
    + 	return East
      
      def dfs(back, tx, ty):
      	if ty < y:
      		order.append(South)
    - 	for d in dirs:
    - 		if d not in order:
    + 	for d in [North, East, South, West]:
    + 		if not (d in order):
      			order.append(d)
      	for d in order:
      		if d != back and move(d):
    - 			if dfs(opp[d], tx, ty):
    + 			if dfs(opp(d), tx, ty):
      				return True
    - 			move(opp[d])
    + 			move(opp(d))
      	return False
      
    
    Write result the agent saw
    Saved maze (44 lines).
    Game time: 39m 30s elapsed, 5h 20m 30s of budget remaining.
  3. r31h 46mSaved, never runFinal80 lines · +42 −6
    def opp(d):
    	if d == North:
    		return South
    	if d == South:
    		return North
    	if d == East:
    		return West
    	return East
    
    def order_dirs(tx, ty):
    	x = get_pos_x()
    	y = get_pos_y()
    	order = []
    	if tx > x:
    		order.append(East)
    	if tx < x:
    		order.append(West)
    	if ty > y:
    		order.append(North)
    	if ty < y:
    		order.append(South)
    	for d in [North, East, South, West]:
    		if not (d in order):
    			order.append(d)
    	return order
    
    def dfs(back, tx, ty):
    	e = get_entity_type()
    	if e == Entities.Treasure:
    		harvest()
    		return True
    	if e != Entities.Hedge:
    		return True
    	for d in order_dirs(tx, ty):
    		if d != back and move(d):
    			if dfs(opp(d), tx, ty):
    				return True
    			move(opp(d))
    	return False
    
    def explore_from(d, tx, ty):
    	move(d)
    	explore(opp(d), tx, ty)
    
    def explore(back, tx, ty):
    	while True:
    		e = get_entity_type()
    		if e == Entities.Treasure:
    			harvest()
    			return
    		if e != Entities.Hedge:
    			return
    		opts = []
    		for d in order_dirs(tx, ty):
    			if d != back and can_move(d):
    				opts.append(d)
    		if len(opts) == 0:
    			return
    		for k in range(1, len(opts)):
    			d = opts[k]
    			if spawn_drone(explore_from, d, tx, ty) == None:
    				if move(d):
    					if dfs(opp(d), tx, ty):
    						return
    					move(opp(d))
    		move(opts[0])
    		back = opp(opts[0])
    
    def make_maze():
    	harvest()
    	plant(Entities.Bush)
    	n = get_world_size()
    	use_item(Items.Weird_Substance, n * 2 ** (num_unlocked(Unlocks.Mazes) - 1))
    
    def run_maze():
    	make_maze()
    	tx, ty = measure()
    	explore(None, tx, ty)
    	while num_drones() > 1:
    		pass
    Changes from the previous revision
      	return East
      
    - def dfs(back, tx, ty):
    - 	if get_entity_type() == Entities.Treasure:
    - 		return True
    + def order_dirs(tx, ty):
      	x = get_pos_x()
      	y = get_pos_y()
      		if not (d in order):
      			order.append(d)
    - 	for d in order:
    + 	return order
    + 
    + def dfs(back, tx, ty):
    + 	e = get_entity_type()
    + 	if e == Entities.Treasure:
    + 		harvest()
    + 		return True
    + 	if e != Entities.Hedge:
    + 		return True
    + 	for d in order_dirs(tx, ty):
      		if d != back and move(d):
      			if dfs(opp(d), tx, ty):
      	return False
      
    + def explore_from(d, tx, ty):
    + 	move(d)
    + 	explore(opp(d), tx, ty)
    + 
    + def explore(back, tx, ty):
    + 	while True:
    + 		e = get_entity_type()
    + 		if e == Entities.Treasure:
    + 			harvest()
    + 			return
    + 		if e != Entities.Hedge:
    + 			return
    + 		opts = []
    + 		for d in order_dirs(tx, ty):
    + 			if d != back and can_move(d):
    + 				opts.append(d)
    + 		if len(opts) == 0:
    + 			return
    + 		for k in range(1, len(opts)):
    + 			d = opts[k]
    + 			if spawn_drone(explore_from, d, tx, ty) == None:
    + 				if move(d):
    + 					if dfs(opp(d), tx, ty):
    + 						return
    + 					move(opp(d))
    + 		move(opts[0])
    + 		back = opp(opts[0])
    + 
      def make_maze():
      	harvest()
      	make_maze()
      	tx, ty = measure()
    - 	dfs(None, tx, ty)
    - 	harvest()
    + 	explore(None, tx, ty)
    + 	while num_drones() > 1:
    + 		pass
    
    Write result the agent saw
    Saved maze (80 lines).
    Game time: 1h 46m 26s elapsed, 4h 13m 34s of budget remaining.
mz.py3 writes · 3 ran · first at 39m 30s
  1. r139m 30sRan4 lines · ran 42s
    import maze
    while num_items(Items.Weird_Substance) > 20:
    	maze.run_maze()
    	print(num_items(Items.Gold))
    Write result the agent saw
    Saved mz (4 lines).
    Game time: 39m 40s elapsed, 5h 20m 20s of budget remaining.
    run_program at 39m 50s for 60s (agent saw)
    Ran mz for 42s of game time; it finished.
    Inventory change: fertilizer +8, gold +896, hay +104, power -28.66, water +33, weird_substance -102, wood +10.
    Game time: 40m 42s elapsed, 5h 19m 18s of budget remaining.
    Output:
    64
    128
    192
    256
    320
    384
    448
    512
    576
    640
    704
    768
    832
    896
  2. r21h 46mRan7 lines · +5 −2 · ran 19s
    import maze
    import lib
    t = get_time()
    for i in range(5):
    	lib.goto(0, 0)
    	maze.run_maze()
    print(get_time() - t)
    Changes from the previous revision
      import maze
    - while num_items(Items.Weird_Substance) > 20:
    + import lib
    + t = get_time()
    + for i in range(5):
    + 	lib.goto(0, 0)
      	maze.run_maze()
    - 	print(num_items(Items.Gold))
    + print(get_time() - t)
    
    Write result the agent saw
    Saved mz (7 lines).
    Game time: 1h 46m 36s elapsed, 4h 13m 24s of budget remaining.
    run_program at 1h 46m for 120s (agent saw)
    Ran mz for 19s of game time; it finished.
    Inventory change: fertilizer +8, gold +2880, hay +32, water +62, weird_substance -240.
    Game time: 1h 47m 5s elapsed, 4h 12m 55s of budget remaining.
    Output:
    18.44
  3. r31h 47mRanFinal5 lines · +1 −3 · ran 15m 20s
    import maze
    import lib
    while num_items(Items.Weird_Substance) > 200:
    	lib.goto(0, 0)
    	maze.run_maze()
    Changes from the previous revision
      import maze
      import lib
    - t = get_time()
    - for i in range(5):
    + while num_items(Items.Weird_Substance) > 200:
      	lib.goto(0, 0)
      	maze.run_maze()
    - print(get_time() - t)
    
    Write result the agent saw
    Saved mz (5 lines).
    Game time: 1h 47m 15s elapsed, 4h 12m 45s of budget remaining.
    run_program at 1h 47m for 900s (agent saw)
    Ran mz for 15m of game time; it is still running.
    Inventory change: fertilizer +360, gold +120960, hay +1840, water +2880, weird_substance -10128.
    Game time: 2h 2m 25s elapsed, 3h 57m 35s of budget remaining.
    Output:
    (none)
cact.py3 writes · 0 ran · first at 1h 21m
  1. r11h 21mSaved, never run86 lines
    import lib
    
    def plant_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			if get_entity_type() != Entities.Cactus:
    				harvest()
    				lib.soil()
    				plant(Entities.Cactus)
    			move(North)
    
    def sort_line(fwd, bwd, get_i, set_start):
    	n = get_world_size()
    	set_start()
    	swapped = True
    	lo = 0
    	hi = n - 1
    	while swapped:
    		swapped = False
    		# forward from lo to hi
    		for i in range(lo, hi):
    			if measure() > measure(fwd):
    				swap(fwd)
    				swapped = True
    			move(fwd)
    		hi -= 1
    		if not swapped:
    			break
    		swapped = False
    		for i in range(hi, lo, -1):
    			move(bwd)
    			if measure(bwd) > measure():
    				swap(bwd)
    				swapped = True
    		move(bwd)
    		lo += 1
    		# now at position lo-1; step to lo
    		move(fwd)
    
    def sort_rows(y0, y1):
    	for y in range(y0, y1):
    		lib.goto(0, y)
    		sort_dir(East, West)
    
    def sort_cols(x0, x1):
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		sort_dir(North, South)
    
    def sort_dir(fwd, bwd):
    	n = get_world_size()
    	lo = 0
    	hi = n - 1
    	pos = 0
    	while lo < hi:
    		swapped = False
    		while pos < hi:
    			if measure() > measure(fwd):
    				swap(fwd)
    				swapped = True
    			move(fwd)
    			pos += 1
    		hi -= 1
    		if not swapped:
    			break
    		swapped = False
    		while pos > lo:
    			if measure(bwd) > measure():
    				swap(bwd)
    				swapped = True
    			move(bwd)
    			pos -= 1
    		lo += 1
    		if not swapped:
    			break
    
    def cactus_cycle():
    	lib.par(plant_cols, lib.chunks())
    	lib.par(sort_rows, lib.chunks())
    	lib.par(sort_cols, lib.chunks())
    	lib.goto(0, 0)
    	while not can_harvest():
    		pass
    	harvest()
    Write result the agent saw
    Saved cact (86 lines).
    Game time: 1h 21m 52s elapsed, 4h 38m 8s of budget remaining.
  2. r21h 21mSaved, never run58 lines · +10 −38
    import lib
    
    def plant_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			if get_entity_type() != Entities.Cactus:
    				harvest()
    				lib.soil()
    				plant(Entities.Cactus)
    			move(North)
    
    def sort_dir(fwd, bwd):
    	n = get_world_size()
    	lo = 0
    	hi = n - 1
    	pos = 0
    	while lo < hi:
    		swapped = False
    		while pos < hi:
    			if measure() > measure(fwd):
    				swap(fwd)
    				swapped = True
    			move(fwd)
    			pos += 1
    		hi -= 1
    		if not swapped:
    			break
    		swapped = False
    		while pos > lo:
    			if measure(bwd) > measure():
    				swap(bwd)
    				swapped = True
    			move(bwd)
    			pos -= 1
    		lo += 1
    		if not swapped:
    			break
    
    def sort_rows(y0, y1):
    	for y in range(y0, y1):
    		lib.goto(0, y)
    		sort_dir(East, West)
    
    def sort_cols(x0, x1):
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		sort_dir(North, South)
    
    def cactus_cycle():
    	lib.par(plant_cols, lib.chunks())
    	lib.par(sort_rows, lib.chunks())
    	lib.par(sort_cols, lib.chunks())
    	lib.goto(0, 0)
    	while not can_harvest():
    		pass
    	harvest()
    Changes from the previous revision
      			move(North)
      
    - def sort_line(fwd, bwd, get_i, set_start):
    - 	n = get_world_size()
    - 	set_start()
    - 	swapped = True
    - 	lo = 0
    - 	hi = n - 1
    - 	while swapped:
    - 		swapped = False
    - 		# forward from lo to hi
    - 		for i in range(lo, hi):
    - 			if measure() > measure(fwd):
    - 				swap(fwd)
    - 				swapped = True
    - 			move(fwd)
    - 		hi -= 1
    - 		if not swapped:
    - 			break
    - 		swapped = False
    - 		for i in range(hi, lo, -1):
    - 			move(bwd)
    - 			if measure(bwd) > measure():
    - 				swap(bwd)
    - 				swapped = True
    - 		move(bwd)
    - 		lo += 1
    - 		# now at position lo-1; step to lo
    - 		move(fwd)
    - 
    - def sort_rows(y0, y1):
    - 	for y in range(y0, y1):
    - 		lib.goto(0, y)
    - 		sort_dir(East, West)
    - 
    - def sort_cols(x0, x1):
    - 	for x in range(x0, x1):
    - 		lib.goto(x, 0)
    - 		sort_dir(North, South)
    - 
      def sort_dir(fwd, bwd):
      	n = get_world_size()
      			break
      
    + def sort_rows(y0, y1):
    + 	for y in range(y0, y1):
    + 		lib.goto(0, y)
    + 		sort_dir(East, West)
    + 
    + def sort_cols(x0, x1):
    + 	for x in range(x0, x1):
    + 		lib.goto(x, 0)
    + 		sort_dir(North, South)
    + 
      def cactus_cycle():
      	lib.par(plant_cols, lib.chunks())
    
    Write result the agent saw
    Saved cact (58 lines).
    Game time: 1h 22m 2s elapsed, 4h 37m 58s of budget remaining.
  3. r32h 09mSaved, never runFinal64 lines · +8 −2
    import lib
    
    def plant_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			if get_entity_type() != Entities.Cactus:
    				harvest()
    				lib.soil()
    				plant(Entities.Cactus)
    			move(North)
    
    def gt(a, b):
    	if a == None or b == None:
    		return False
    	return a > b
    
    def sort_dir(fwd, bwd):
    	n = get_world_size()
    	lo = 0
    	hi = n - 1
    	pos = 0
    	while lo < hi:
    		swapped = False
    		while pos < hi:
    			if gt(measure(), measure(fwd)):
    				swap(fwd)
    				swapped = True
    			move(fwd)
    			pos += 1
    		hi -= 1
    		if not swapped:
    			break
    		swapped = False
    		while pos > lo:
    			if gt(measure(bwd), measure()):
    				swap(bwd)
    				swapped = True
    			move(bwd)
    			pos -= 1
    		lo += 1
    		if not swapped:
    			break
    
    def sort_rows(y0, y1):
    	for y in range(y0, y1):
    		lib.goto(0, y)
    		sort_dir(East, West)
    
    def sort_cols(x0, x1):
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		sort_dir(North, South)
    
    def cactus_cycle():
    	change_hat(Hats.Straw_Hat)
    	lib.par(plant_cols, lib.chunks())
    	lib.par(sort_rows, lib.chunks())
    	lib.par(sort_cols, lib.chunks())
    	lib.goto(0, 0)
    	while not can_harvest():
    		pass
    	harvest()
    Changes from the previous revision
      			move(North)
      
    + def gt(a, b):
    + 	if a == None or b == None:
    + 		return False
    + 	return a > b
    + 
      def sort_dir(fwd, bwd):
      	n = get_world_size()
      		swapped = False
      		while pos < hi:
    - 			if measure() > measure(fwd):
    + 			if gt(measure(), measure(fwd)):
      				swap(fwd)
      				swapped = True
      		swapped = False
      		while pos > lo:
    - 			if measure(bwd) > measure():
    + 			if gt(measure(bwd), measure()):
      				swap(bwd)
      				swapped = True
      
      def cactus_cycle():
    + 	change_hat(Hats.Straw_Hat)
      	lib.par(plant_cols, lib.chunks())
      	lib.par(sort_rows, lib.chunks())
    
    Write result the agent saw
    Saved cact (64 lines).
    Game time: 2h 9m 13s elapsed, 3h 50m 47s of budget remaining.
cc.py1 write · 1 ran · first at 1h 22m
  1. r11h 22mRanFinal3 lines · ran 51s
    import cact
    cact.cactus_cycle()
    print(num_items(Items.Cactus))
    Write result the agent saw
    Saved cc (3 lines).
    Game time: 1h 22m 12s elapsed, 4h 37m 48s of budget remaining.
    run_program at 1h 22m for 180s (agent saw)
    Ran cc for 51s of game time; it finished.
    Inventory change: cactus +20736, fertilizer +21, hay +2240, power -16.29, pumpkin -288, water +81.
    Game time: 1h 23m 23s elapsed, 4h 36m 37s of budget remaining.
    Output:
    20736
dino.py6 writes · 0 ran · first at 1h 24m
  1. r11h 24mSaved, never run42 lines
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def dino_cycle():
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	p = path_moves()
    	change_hat(Hats.Dinosaur_Hat)
    	going = True
    	while going:
    		for d in p:
    			if not move(d):
    				going = False
    				break
    	change_hat(Hats.Brown_Hat)
    Write result the agent saw
    Saved dino (42 lines).
    Game time: 1h 24m 23s elapsed, 4h 35m 37s of budget remaining.
  2. r21h 28mSaved, never run42 lines · +1 −1
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def dino_cycle():
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	p = path_moves()
    	change_hat(Hats.Dinosaur_Hat)
    	going = True
    	while going:
    		for d in p:
    			if not move(d):
    				going = False
    				break
    	change_hat(Hats.Straw_Hat)
    Changes from the previous revision
      				going = False
      				break
    - 	change_hat(Hats.Brown_Hat)
    + 	change_hat(Hats.Straw_Hat)
    
    Write result the agent saw
    Saved dino (42 lines).
    Game time: 1h 28m 58s elapsed, 4h 31m 2s of budget remaining.
  3. r32h 27mSaved, never run106 lines · +71 −7
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def step(pos, d):
    	x, y = pos
    	if d == North:
    		return (x, y + 1)
    	if d == South:
    		return (x, y - 1)
    	if d == East:
    		return (x + 1, y)
    	return (x - 1, y)
    
    def dino_cycle():
    	n = get_world_size()
    	N = n * n
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	idx = {}
    	pos = (0, 0)
    	k = 0
    	for d in path_moves():
    		idx[pos] = k
    		k += 1
    		pos = step(pos, d)
    	change_hat(Hats.Dinosaur_Hat)
    	head = (0, 0)
    	body = [head]
    	occ = {head: True}
    	L = 0
    	apple = head
    	nxt = measure()
    	if nxt != None:
    		apple = head
    	while L < N - 2:
    		ate = get_entity_type() == Entities.Apple
    		if ate:
    			a = measure()
    			if a != None:
    				apple = a
    			L += 1
    		h = idx[head]
    		da = (idx[apple] - h) % N
    		dt = (idx[body[0]] - h) % N
    		best = None
    		bestd = 0
    		for d in [North, East, South, West]:
    			p = step(head, d)
    			px, py = p
    			if px < 0 or py < 0 or px >= n or py >= n:
    				continue
    			if p in occ:
    				continue
    			dd = (idx[p] - h) % N
    			if dd == 0:
    				continue
    			if L > N // 2:
    				if dd == 1:
    					best = d
    					bestd = dd
    				continue
    			if dd <= da and dd < dt and dd > bestd:
    				best = d
    				bestd = dd
    		if best == None:
    			# fall back to cycle successor
    			for d in [North, East, South, West]:
    				p = step(head, d)
    				if p in idx and (idx[p] - h) % N == 1:
    					best = d
    		if best == None or not move(best):
    			break
    		head = step(head, best)
    		body.append(head)
    		occ[head] = True
    		while len(body) > L + 1:
    			t = body.pop(0)
    			occ.pop(t)
    	change_hat(Hats.Straw_Hat)
    Changes from the previous revision
      	return p
      
    + def step(pos, d):
    + 	x, y = pos
    + 	if d == North:
    + 		return (x, y + 1)
    + 	if d == South:
    + 		return (x, y - 1)
    + 	if d == East:
    + 		return (x + 1, y)
    + 	return (x - 1, y)
    + 
      def dino_cycle():
    + 	n = get_world_size()
    + 	N = n * n
      	lib.par(clear_cols, lib.chunks())
      	lib.goto(0, 0)
    - 	p = path_moves()
    + 	idx = {}
    + 	pos = (0, 0)
    + 	k = 0
    + 	for d in path_moves():
    + 		idx[pos] = k
    + 		k += 1
    + 		pos = step(pos, d)
      	change_hat(Hats.Dinosaur_Hat)
    - 	going = True
    - 	while going:
    - 		for d in p:
    - 			if not move(d):
    - 				going = False
    - 				break
    + 	head = (0, 0)
    + 	body = [head]
    + 	occ = {head: True}
    + 	L = 0
    + 	apple = head
    + 	nxt = measure()
    + 	if nxt != None:
    + 		apple = head
    + 	while L < N - 2:
    + 		ate = get_entity_type() == Entities.Apple
    + 		if ate:
    + 			a = measure()
    + 			if a != None:
    + 				apple = a
    + 			L += 1
    + 		h = idx[head]
    + 		da = (idx[apple] - h) % N
    + 		dt = (idx[body[0]] - h) % N
    + 		best = None
    + 		bestd = 0
    + 		for d in [North, East, South, West]:
    + 			p = step(head, d)
    + 			px, py = p
    + 			if px < 0 or py < 0 or px >= n or py >= n:
    + 				continue
    + 			if p in occ:
    + 				continue
    + 			dd = (idx[p] - h) % N
    + 			if dd == 0:
    + 				continue
    + 			if L > N // 2:
    + 				if dd == 1:
    + 					best = d
    + 					bestd = dd
    + 				continue
    + 			if dd <= da and dd < dt and dd > bestd:
    + 				best = d
    + 				bestd = dd
    + 		if best == None:
    + 			# fall back to cycle successor
    + 			for d in [North, East, South, West]:
    + 				p = step(head, d)
    + 				if p in idx and (idx[p] - h) % N == 1:
    + 					best = d
    + 		if best == None or not move(best):
    + 			break
    + 		head = step(head, best)
    + 		body.append(head)
    + 		occ[head] = True
    + 		while len(body) > L + 1:
    + 			t = body.pop(0)
    + 			occ.pop(t)
      	change_hat(Hats.Straw_Hat)
    
    Write result the agent saw
    Saved dino (106 lines).
    Game time: 2h 27m 44s elapsed, 3h 32m 16s of budget remaining.
  4. r42h 27mSaved, never run100 lines · +6 −12
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def step(pos, d):
    	x, y = pos
    	if d == North:
    		return (x, y + 1)
    	if d == South:
    		return (x, y - 1)
    	if d == East:
    		return (x + 1, y)
    	return (x - 1, y)
    
    def dino_cycle():
    	n = get_world_size()
    	N = n * n
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	idx = {}
    	pos = (0, 0)
    	k = 0
    	for d in path_moves():
    		idx[pos] = k
    		k += 1
    		pos = step(pos, d)
    	change_hat(Hats.Dinosaur_Hat)
    	head = (0, 0)
    	body = [head]
    	occ = {head: True}
    	L = 0
    	apple = head
    	while L < N - 3:
    		if get_entity_type() == Entities.Apple:
    			a = measure()
    			if a != None:
    				apple = a
    			L += 1
    		h = idx[head]
    		da = (idx[apple] - h) % N
    		dt = (idx[body[0]] - h) % N
    		best = None
    		bestd = 0
    		for d in [North, East, South, West]:
    			p = step(head, d)
    			if not (p in idx):
    				continue
    			if occ.get(p, False):
    				continue
    			dd = (idx[p] - h) % N
    			if dd == 0:
    				continue
    			if L > N // 2:
    				if dd == 1:
    					best = d
    					bestd = dd
    				continue
    			if dd <= da and dd < dt and dd > bestd:
    				best = d
    				bestd = dd
    		if best == None:
    			for d in [North, East, South, West]:
    				p = step(head, d)
    				if p in idx and (idx[p] - h) % N == 1:
    					best = d
    		if best == None or not move(best):
    			break
    		head = step(head, best)
    		body.append(head)
    		occ[head] = True
    		while len(body) > L + 2:
    			t = body.pop(0)
    			occ[t] = False
    	change_hat(Hats.Straw_Hat)
    Changes from the previous revision
      	L = 0
      	apple = head
    - 	nxt = measure()
    - 	if nxt != None:
    - 		apple = head
    - 	while L < N - 2:
    - 		ate = get_entity_type() == Entities.Apple
    - 		if ate:
    + 	while L < N - 3:
    + 		if get_entity_type() == Entities.Apple:
      			a = measure()
      			if a != None:
      		for d in [North, East, South, West]:
      			p = step(head, d)
    - 			px, py = p
    - 			if px < 0 or py < 0 or px >= n or py >= n:
    + 			if not (p in idx):
      				continue
    - 			if p in occ:
    + 			if occ.get(p, False):
      				continue
      			dd = (idx[p] - h) % N
      				bestd = dd
      		if best == None:
    - 			# fall back to cycle successor
      			for d in [North, East, South, West]:
      				p = step(head, d)
      		body.append(head)
      		occ[head] = True
    - 		while len(body) > L + 1:
    + 		while len(body) > L + 2:
      			t = body.pop(0)
    - 			occ.pop(t)
    + 			occ[t] = False
      	change_hat(Hats.Straw_Hat)
    
    Write result the agent saw
    Saved dino (100 lines).
    Game time: 2h 27m 54s elapsed, 3h 32m 6s of budget remaining.
  5. r52h 28mSaved, never run101 lines · +3 −2
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def step(pos, d):
    	x, y = pos
    	if d == North:
    		return (x, y + 1)
    	if d == South:
    		return (x, y - 1)
    	if d == East:
    		return (x + 1, y)
    	return (x - 1, y)
    
    def dino_cycle():
    	n = get_world_size()
    	N = n * n
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	idx = {}
    	pos = (0, 0)
    	k = 0
    	for d in path_moves():
    		idx[pos] = k
    		k += 1
    		pos = step(pos, d)
    	change_hat(Hats.Dinosaur_Hat)
    	head = (0, 0)
    	body = [head]
    	occ = {head: True}
    	L = 0
    	apple = head
    	while L < N - 3:
    		if get_entity_type() == Entities.Apple:
    			a = measure()
    			if a != None:
    				apple = a
    			L += 1
    		h = idx[head]
    		da = (idx[apple] - h) % N
    		dt = (idx[body[0]] - h) % N
    		best = None
    		bestd = 0
    		for d in [North, East, South, West]:
    			p = step(head, d)
    			if not (p in idx):
    				continue
    			if p in occ:
    				continue
    			dd = (idx[p] - h) % N
    			if dd == 0:
    				continue
    			if L > N // 2:
    				if dd == 1:
    					best = d
    					bestd = dd
    				continue
    			if dd <= da and dd < dt and dd > bestd:
    				best = d
    				bestd = dd
    		if best == None:
    			for d in [North, East, South, West]:
    				p = step(head, d)
    				if p in idx and (idx[p] - h) % N == 1:
    					best = d
    		if best == None or not move(best):
    			break
    		head = step(head, best)
    		body.append(head)
    		occ[head] = True
    		while len(body) > L + 2:
    			t = body.pop(0)
    			if t in occ:
    				occ.pop(t)
    	change_hat(Hats.Straw_Hat)
    Changes from the previous revision
      			if not (p in idx):
      				continue
    - 			if occ.get(p, False):
    + 			if p in occ:
      				continue
      			dd = (idx[p] - h) % N
      		while len(body) > L + 2:
      			t = body.pop(0)
    - 			occ[t] = False
    + 			if t in occ:
    + 				occ.pop(t)
      	change_hat(Hats.Straw_Hat)
    
    Write result the agent saw
    Saved dino (101 lines).
    Game time: 2h 28m 47s elapsed, 3h 31m 13s of budget remaining.
  6. r62h 36mSaved, never runFinal97 lines · +4 −8
    import lib
    
    def clear_cols(x0, x1):
    	n = get_world_size()
    	for x in range(x0, x1):
    		lib.goto(x, 0)
    		for j in range(n):
    			harvest()
    			lib.soil()
    			move(North)
    
    def path_moves():
    	n = get_world_size()
    	p = []
    	for i in range(n - 1):
    		p.append(North)
    	p.append(East)
    	for c in range(1, n):
    		d = South
    		if c % 2 == 0:
    			d = North
    		for i in range(n - 2):
    			p.append(d)
    		if c < n - 1:
    			p.append(East)
    	p.append(South)
    	for i in range(n - 1):
    		p.append(West)
    	return p
    
    def step(pos, d):
    	x, y = pos
    	if d == North:
    		return (x, y + 1)
    	if d == South:
    		return (x, y - 1)
    	if d == East:
    		return (x + 1, y)
    	return (x - 1, y)
    
    def dino_cycle(tmax):
    	t0 = get_time()
    	n = get_world_size()
    	N = n * n
    	lib.par(clear_cols, lib.chunks())
    	lib.goto(0, 0)
    	idx = {}
    	pos = (0, 0)
    	k = 0
    	for d in path_moves():
    		idx[pos] = k
    		k += 1
    		pos = step(pos, d)
    	change_hat(Hats.Dinosaur_Hat)
    	head = (0, 0)
    	body = [head]
    	occ = {head: True}
    	L = 0
    	apple = head
    	while L < N - 3 and get_time() - t0 < tmax:
    		if get_entity_type() == Entities.Apple:
    			a = measure()
    			if a != None:
    				apple = a
    			L += 1
    		h = idx[head]
    		da = (idx[apple] - h) % N
    		dt = (idx[body[0]] - h) % N
    		best = None
    		bestd = 0
    		for d in [North, East, South, West]:
    			p = step(head, d)
    			if not (p in idx):
    				continue
    			if p in occ:
    				continue
    			dd = (idx[p] - h) % N
    			if dd == 0:
    				continue
    			if dd <= da and dd < dt - 4 and dd > bestd:
    				best = d
    				bestd = dd
    		if best == None:
    			for d in [North, East, South, West]:
    				p = step(head, d)
    				if p in idx and (idx[p] - h) % N == 1:
    					best = d
    		if best == None or not move(best):
    			break
    		head = step(head, best)
    		body.append(head)
    		occ[head] = True
    		while len(body) > L + 2:
    			t = body.pop(0)
    			if t in occ:
    				occ.pop(t)
    	change_hat(Hats.Straw_Hat)
    Changes from the previous revision
      	return (x - 1, y)
      
    - def dino_cycle():
    + def dino_cycle(tmax):
    + 	t0 = get_time()
      	n = get_world_size()
      	N = n * n
      	L = 0
      	apple = head
    - 	while L < N - 3:
    + 	while L < N - 3 and get_time() - t0 < tmax:
      		if get_entity_type() == Entities.Apple:
      			a = measure()
      			if dd == 0:
      				continue
    - 			if L > N // 2:
    - 				if dd == 1:
    - 					best = d
    - 					bestd = dd
    - 				continue
    - 			if dd <= da and dd < dt and dd > bestd:
    + 			if dd <= da and dd < dt - 4 and dd > bestd:
      				best = d
      				bestd = dd
    
    Write result the agent saw
    Saved dino (97 lines).
    Game time: 2h 36m 27s elapsed, 3h 23m 33s of budget remaining.
dd.py6 writes · 5 ran · first at 1h 24m
  1. r11h 24mRan3 lines · ran 3m 04s · 1 runtime error
    import dino
    dino.dino_cycle()
    print(num_items(Items.Bone))
    Write result the agent saw
    Saved dd (3 lines).
    Game time: 1h 24m 33s elapsed, 4h 35m 27s of budget remaining.
    run_program at 1h 24m for 60s (agent saw)
    Ran dd for 1m of game time; it is still running.
    Inventory change: cactus -20, fertilizer +24, water +96.
    Game time: 1h 25m 43s elapsed, 4h 34m 17s of budget remaining.
    Output:
    (none)
    Runtime error at 1h 27m (telemetry; not shown to the agent)
    Hats.Brown_Hat must be unlocked before this can be used.
  2. r21h 28mRan2 lines · +1 −2 · ran 1s
    change_hat(Hats.Straw_Hat)
    print(num_items(Items.Bone))
    Changes from the previous revision
    - import dino
    - dino.dino_cycle()
    + change_hat(Hats.Straw_Hat)
      print(num_items(Items.Bone))
    
    Write result the agent saw
    Saved dd (2 lines).
    Game time: 1h 28m 17s elapsed, 4h 31m 43s of budget remaining.
    run_program at 1h 28m for 10s (agent saw)
    Ran dd for 1s of game time; it finished.
    Inventory change: bone +20449, fertilizer +1, water +1.
    Game time: 1h 28m 28s elapsed, 4h 31m 32s of budget remaining.
    Output:
    20449
  3. r32h 27mSaved, never run5 lines · +5 −2
    import dino
    t = get_time()
    b = num_items(Items.Bone)
    dino.dino_cycle()
    print(get_time() - t, num_items(Items.Bone) - b)
    Changes from the previous revision
    - change_hat(Hats.Straw_Hat)
    - print(num_items(Items.Bone))
    + import dino
    + t = get_time()
    + b = num_items(Items.Bone)
    + dino.dino_cycle()
    + print(get_time() - t, num_items(Items.Bone) - b)
    
    Write result the agent saw
    Saved dd (5 lines).
    Game time: 2h 28m 4s elapsed, 3h 31m 56s of budget remaining.
  4. r42h 28mRan6 lines · +1 −0 · ran 7m 04s · 1 runtime error
    import dino
    change_hat(Hats.Straw_Hat)
    t = get_time()
    b = num_items(Items.Bone)
    dino.dino_cycle()
    print(get_time() - t, num_items(Items.Bone) - b)
    Changes from the previous revision
      import dino
    + change_hat(Hats.Straw_Hat)
      t = get_time()
      b = num_items(Items.Bone)
    
    Write result the agent saw
    Saved dd (6 lines).
    Game time: 2h 28m 14s elapsed, 3h 31m 46s of budget remaining.
    run_program at 2h 28m for 400s (agent saw)
    Ran dd for 4s of game time; it stopped with an error: get has never been defined. You must assign a value to a variable before using it.
    Inventory change: bone +23104, cactus -8, fertilizer +3, water +12.
    Game time: 2h 28m 27s elapsed, 3h 31m 33s of budget remaining.
    Output:
    Error: get has never been defined. You must assign a value to a variable before using it.
    In: dino_cycle
    if occ.get(p, False):
           ^^^^          
    --------------------------------------------------------------------
    run_program at 2h 28m for 400s (agent saw)
    Ran dd for 6m 40s of game time; it is still running.
    Inventory change: cactus -944, fertilizer +320, water +1280.
    Game time: 2h 35m 37s elapsed, 3h 24m 23s of budget remaining.
    Output:
    (none)
    Runtime error at 2h 28m (telemetry; not shown to the agent)
    get has never been defined. You must assign a value to a variable before using it.
  5. r52h 36mRan6 lines · +1 −1 · ran 10m 01s
    import dino
    change_hat(Hats.Straw_Hat)
    t = get_time()
    b = num_items(Items.Bone)
    dino.dino_cycle(600)
    print(get_time() - t, num_items(Items.Bone) - b)
    Changes from the previous revision
      t = get_time()
      b = num_items(Items.Bone)
    - dino.dino_cycle()
    + dino.dino_cycle(600)
      print(get_time() - t, num_items(Items.Bone) - b)
    
    Write result the agent saw
    Saved dd (6 lines).
    Game time: 2h 36m 37s elapsed, 3h 23m 23s of budget remaining.
    run_program at 2h 36m for 660s (agent saw)
    Ran dd for 10m 1s of game time; it finished.
    Inventory change: bone +88804, cactus -1200, fertilizer +481, water +1924.
    Game time: 2h 46m 49s elapsed, 3h 13m 11s of budget remaining.
    Output:
    600.1 88804
  6. r63h 56mRanFinal9 lines · +4 −1 · ran 3m 27s
    import dino
    change_hat(Hats.Straw_Hat)
    n0 = get_world_size()
    t = get_time()
    b = num_items(Items.Bone)
    set_world_size(10)
    dino.dino_cycle(400)
    print(get_time() - t, num_items(Items.Bone) - b)
    set_world_size(n0)
    Changes from the previous revision
      import dino
      change_hat(Hats.Straw_Hat)
    + n0 = get_world_size()
      t = get_time()
      b = num_items(Items.Bone)
    - dino.dino_cycle(600)
    + set_world_size(10)
    + dino.dino_cycle(400)
      print(get_time() - t, num_items(Items.Bone) - b)
    + set_world_size(n0)
    
    Write result the agent saw
    Saved dd (9 lines).
    Game time: 3h 56m 31s elapsed, 2h 3m 29s of budget remaining.
    run_program at 3h 56m for 420s (agent saw)
    Ran dd for 3m 27s of game time; it finished.
    Inventory change: bone +150544, cactus -3136, fertilizer +165, hay +50688, water +5287.
    Game time: 4h 18s elapsed, 1h 59m 42s of budget remaining.
    Output:
    205.37 150544
poly.py4 writes · 0 ran · first at 1h 37m
  1. r11h 37mSaved, never run68 lines
    import lib
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def maxp(petals):
    	m = 0
    	for k in petals:
    		if petals[k] > m:
    			m = petals[k]
    	return m
    
    def default_type(x, y, n):
    	if (x + y) % 2 == 0:
    		return Entities.Tree
    	if (x // 2 + y) % 2 == 0:
    		return Entities.Grass
    	return Entities.Carrot
    
    def put(t):
    	if t == Entities.Carrot:
    		lib.soil()
    	plant(t)
    	if t == Entities.Tree or t == Entities.Carrot:
    		if get_water() < 0.5 and num_items(Items.Water) > 0:
    			use_item(Items.Water)
    
    def poly_cols(x0, x1, passes):
    	n = get_world_size()
    	sun0 = n - n // 3
    	req = {}
    	petals = {}
    	for r in range(passes):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				e = get_entity_type()
    				if x >= sun0:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    					elif can_harvest() and petals[(x, y)] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    						m = maxp(petals)
    				elif e == None or can_harvest() or e == Entities.Dead_Pumpkin or e == Entities.Cactus or e == Entities.Pumpkin or e == Entities.Sunflower:
    					harvest()
    					t = default_type(x, y, n)
    					if (x, y) in req:
    						t = req[(x, y)]
    					put(t)
    					if t == Entities.Tree and num_items(Items.Weird_Substance) < 3000 and num_items(Items.Fertilizer) > 0:
    						use_item(Items.Fertilizer)
    					c = get_companion()
    					if c != None:
    						ct, cp = c
    						cx, cy = cp
    						if cx >= x0 and cx < x1 and cx < sun0:
    							req[(cx, cy)] = ct
    				move(North)
    Write result the agent saw
    Saved poly (68 lines).
    Game time: 1h 37m 56s elapsed, 4h 22m 4s of budget remaining.
  2. r21h 37mSaved, never run69 lines · +4 −3
    import lib
    
    def meas():
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def maxp(petals):
    	m = 0
    	for k in petals:
    		if petals[k] > m:
    			m = petals[k]
    	return m
    
    def default_type(x, y, n):
    	if (x + y) % 2 == 0:
    		return Entities.Tree
    	if (x // 2 + y) % 2 == 0:
    		return Entities.Grass
    	return Entities.Carrot
    
    def put(t):
    	if t == Entities.Carrot:
    		lib.soil()
    	plant(t)
    	if t == Entities.Tree or t == Entities.Carrot:
    		if get_water() < 0.5 and num_items(Items.Water) > 0:
    			use_item(Items.Water)
    
    def poly_cols(x0, x1):
    	n = get_world_size()
    	sun0 = n - n // 3
    	req = {}
    	petals = {}
    	kinds = [Entities.Grass, Entities.Bush, Entities.Tree, Entities.Carrot]
    	for r in range(3):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				e = get_entity_type()
    				if x >= sun0:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    					elif can_harvest() and petals[(x, y)] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    						m = maxp(petals)
    				elif can_harvest() or not (e in kinds):
    					harvest()
    					t = default_type(x, y, n)
    					if (x, y) in req:
    						t = req[(x, y)]
    					put(t)
    					if t == Entities.Tree and num_items(Items.Weird_Substance) < 3000 and num_items(Items.Fertilizer) > 0:
    						use_item(Items.Fertilizer)
    					c = get_companion()
    					if c != None:
    						ct, cp = c
    						cx, cy = cp
    						if cx >= x0 and cx < x1 and cx < sun0:
    							req[(cx, cy)] = ct
    				move(North)
    Changes from the previous revision
      			use_item(Items.Water)
      
    - def poly_cols(x0, x1, passes):
    + def poly_cols(x0, x1):
      	n = get_world_size()
      	sun0 = n - n // 3
      	req = {}
      	petals = {}
    - 	for r in range(passes):
    + 	kinds = [Entities.Grass, Entities.Bush, Entities.Tree, Entities.Carrot]
    + 	for r in range(3):
      		m = maxp(petals)
      		for x in range(x0, x1):
      						petals[(x, y)] = meas()
      						m = maxp(petals)
    - 				elif e == None or can_harvest() or e == Entities.Dead_Pumpkin or e == Entities.Cactus or e == Entities.Pumpkin or e == Entities.Sunflower:
    + 				elif can_harvest() or not (e in kinds):
      					harvest()
      					t = default_type(x, y, n)
    
    Write result the agent saw
    Saved poly (69 lines).
    Game time: 1h 38m 6s elapsed, 4h 21m 54s of budget remaining.
  3. r32h 08mSaved, never run71 lines · +3 −1
    import lib
    
    def meas():
    	if get_entity_type() != Entities.Sunflower:
    		return 0
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def maxp(petals):
    	m = 0
    	for k in petals:
    		if petals[k] > m:
    			m = petals[k]
    	return m
    
    def default_type(x, y, n):
    	if (x + y) % 2 == 0:
    		return Entities.Tree
    	if (x // 2 + y) % 2 == 0:
    		return Entities.Grass
    	return Entities.Carrot
    
    def put(t):
    	if t == Entities.Carrot:
    		lib.soil()
    	plant(t)
    	if t == Entities.Tree or t == Entities.Carrot:
    		if get_water() < 0.5 and num_items(Items.Water) > 0:
    			use_item(Items.Water)
    
    def poly_cols(x0, x1):
    	n = get_world_size()
    	sun0 = n - n // 3
    	req = {}
    	petals = {}
    	kinds = [Entities.Grass, Entities.Bush, Entities.Tree, Entities.Carrot]
    	for r in range(3):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				e = get_entity_type()
    				if x >= sun0:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    					elif can_harvest() and petals[(x, y)] >= m:
    						harvest()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    						m = maxp(petals)
    				elif can_harvest() or not (e in kinds):
    					harvest()
    					t = default_type(x, y, n)
    					if (x, y) in req:
    						t = req[(x, y)]
    					put(t)
    					if t == Entities.Tree and num_items(Items.Weird_Substance) < 5000 and num_items(Items.Fertilizer) > 0:
    						use_item(Items.Fertilizer)
    					c = get_companion()
    					if c != None:
    						ct, cp = c
    						cx, cy = cp
    						if cx >= x0 and cx < x1 and cx < sun0:
    							req[(cx, cy)] = ct
    				move(North)
    Changes from the previous revision
      
      def meas():
    + 	if get_entity_type() != Entities.Sunflower:
    + 		return 0
      	p = measure()
      	if p == None:
      						t = req[(x, y)]
      					put(t)
    - 					if t == Entities.Tree and num_items(Items.Weird_Substance) < 3000 and num_items(Items.Fertilizer) > 0:
    + 					if t == Entities.Tree and num_items(Items.Weird_Substance) < 5000 and num_items(Items.Fertilizer) > 0:
      						use_item(Items.Fertilizer)
      					c = get_companion()
    
    Write result the agent saw
    Saved poly (71 lines).
    Game time: 2h 8m 47s elapsed, 3h 51m 13s of budget remaining.
  4. r42h 16mSaved, never runFinal75 lines · +9 −5
    import lib
    
    def meas():
    	if get_entity_type() != Entities.Sunflower:
    		return 0
    	p = measure()
    	if p == None:
    		return 0
    	return p
    
    def maxp(petals):
    	m = 0
    	for k in petals:
    		if petals[k] > m:
    			m = petals[k]
    	return m
    
    def default_type(x, y, n):
    	if (x + y) % 2 == 0:
    		return Entities.Tree
    	if (x // 2 + y) % 2 == 0:
    		return Entities.Grass
    	return Entities.Carrot
    
    def put(t):
    	if t == Entities.Carrot:
    		lib.soil()
    	plant(t)
    	if t == Entities.Tree or t == Entities.Carrot:
    		if get_water() < 0.5 and num_items(Items.Water) > 0:
    			use_item(Items.Water)
    
    def poly_cols(x0, x1):
    	n = get_world_size()
    	sun0 = n - n // 3
    	req = {}
    	petals = {}
    	kinds = [Entities.Grass, Entities.Bush, Entities.Tree, Entities.Carrot]
    	for r in range(3):
    		m = maxp(petals)
    		for x in range(x0, x1):
    			lib.goto(x, 0)
    			for j in range(n):
    				y = get_pos_y()
    				e = get_entity_type()
    				if x >= sun0:
    					if e != Entities.Sunflower:
    						harvest()
    						lib.soil()
    						plant(Entities.Sunflower)
    						petals[(x, y)] = meas()
    					else:
    						if not ((x, y) in petals):
    							petals[(x, y)] = meas()
    							m = maxp(petals)
    						if can_harvest() and petals[(x, y)] >= m:
    							harvest()
    							plant(Entities.Sunflower)
    							petals[(x, y)] = meas()
    							m = maxp(petals)
    				elif can_harvest() or not (e in kinds):
    					harvest()
    					t = default_type(x, y, n)
    					if (x, y) in req:
    						t = req[(x, y)]
    					put(t)
    					if t == Entities.Tree and num_items(Items.Weird_Substance) < 5000 and num_items(Items.Fertilizer) > 0:
    						use_item(Items.Fertilizer)
    					c = get_companion()
    					if c != None:
    						ct, cp = c
    						cx, cy = cp
    						if cx >= x0 and cx < x1 and cx < sun0:
    							req[(cx, cy)] = ct
    				move(North)
    Changes from the previous revision
      						plant(Entities.Sunflower)
      						petals[(x, y)] = meas()
    - 					elif can_harvest() and petals[(x, y)] >= m:
    - 						harvest()
    - 						plant(Entities.Sunflower)
    - 						petals[(x, y)] = meas()
    - 						m = maxp(petals)
    + 					else:
    + 						if not ((x, y) in petals):
    + 							petals[(x, y)] = meas()
    + 							m = maxp(petals)
    + 						if can_harvest() and petals[(x, y)] >= m:
    + 							harvest()
    + 							plant(Entities.Sunflower)
    + 							petals[(x, y)] = meas()
    + 							m = maxp(petals)
      				elif can_harvest() or not (e in kinds):
      					harvest()
    
    Write result the agent saw
    Saved poly (75 lines).
    Game time: 2h 16m 54s elapsed, 3h 43m 6s of budget remaining.
hat.py1 write · 1 ran · first at 2h 35m
  1. r12h 35mRanFinal1 lines · ran 0s
    change_hat(Hats.Straw_Hat)
    Write result the agent saw
    Saved hat (1 lines).
    Game time: 2h 36m 7s elapsed, 3h 23m 53s of budget remaining.
    run_program at 2h 36m for 5s (agent saw)
    Ran hat for 0s of game time; it finished.
    Inventory change: bone +59536.
    Game time: 2h 36m 17s elapsed, 3h 23m 43s of budget remaining.
    Output:
    (none)
    run_program at 5h 59m for 1s (agent saw)
    Ran hat for 0s of game time; it is still running.
    Inventory change: bone +10368.
    Game time: 6h elapsed, 0s of budget remaining.
    Output:
    (none) The game-time budget is used up. The run is over; stop now.
log50 said · 0 thought · 250 tool calls

Step by step

  1. 0sobserve
    result
    Game time: 10s elapsed, 5h 59m 50s of budget remaining.
    Program: none running.
    Inventory: empty.
    Farm 1x1. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass.
    y= 0  _Gr3*
    Recent output:
    (none)
  2. 10sdocs_list
    result
    docs/home.md  General Info
    unlocks/auto_unlock  Auto Unlock
    unlocks/cactus  Cactus
    unlocks/carrots  Carrots
    unlocks/costs  Costs
    unlocks/debug  Debug
    unlocks/debug_2  Debug_2
    unlocks/dictionaries  Dictionaries
    unlocks/dinosaurs  Dinosaurs
    unlocks/expand  Expand
    unlocks/fertilizer  Fertilizer
    unlocks/functions  Functions
    unlocks/grass  Grass
    unlocks/hats  Hats
    unlocks/import  Import
    unlocks/leaderb…
  3. 20sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 0/10; cost wood 50; requires plant
      ## Carrots Till the soil and plant carrots. till() plant(Entities.Carrot)
    costs (Costs) le…
  4. 30sdocs_read path="docs/first_program.md"
    result
    # First Program
    ## Text editor
    All programming is done in code windows. Each code window corresponds to a text file containing code. 
    You can rename the file by clicking on its name at the top of the window.
    
    The code can be edited like in any text editor as long as it's not running.
    You can execute the program directly by pressing the green play button in the code window.
    ![](PlayButton50)
    
    You c…
  5. 40swrite_program name="h" · evidence
    result
    Saved h (15 lines).
    Game time: 50s elapsed, 5h 59m 10s of budget remaining.
  6. 50srun_program name="h" seconds=60
    result
    Ran h for 11s of game time; it finished.
    Inventory change: hay +8.
    Game time: 1m 11s elapsed, 5h 58m 49s of budget remaining.
    Output:
    (none)
  7. 1m 11sbuy_upgrade upgrades=["loops"] · evidence
    result
    Bought loops, now level 1. Paid hay 5. Its tutorial is docs page docs/scripting/while.md.
    Game time: 1m 21s elapsed, 5h 58m 39s of budget remaining.
  8. 1m 21swrite_program name="h" · evidence
    result
    Saved h (2 lines).
    Game time: 1m 31s elapsed, 5h 58m 29s of budget remaining.
  9. 1m 31srun_program name="h" seconds=30
    result
    Ran h for 30s of game time; it is still running.
    Inventory change: hay +60.
    Game time: 2m 11s elapsed, 5h 57m 49s of budget remaining.
    Output:
    (none)
  10. 2m 11ssaidI've got loops running and hay coming in. Next I'll buy speed, then expand and plant.
  11. 2m 11sbuy_upgrade upgrades=["speed","expand"] · evidence
    result
    Bought speed, now level 1. Paid hay 20. Its tutorial is docs page docs/unlocks/speed.md.
    Bought expand, now level 1. Paid hay 30. Its tutorial is docs page docs/unlocks/expand_1.md.
    Game time: 2m 21s elapsed, 5h 57m 39s of budget remaining.
  12. 2m 21sdocs_read path="docs/unlocks/expand_1.md"
    result
    # Expand 1
    Your farm has grown! This space is not much use if you can't move the drone, so there is a new function `move()` that moves the drone. `move()` requires that you specify the direction in which you want the drone to move. There are four new constants for this: `North, East, South, West`
    
    For example, `move(North)` will move the drone one square to the north.
    
    If you move over the edge of…
  13. 2m 31sobserve
    result
    Game time: 2m 41s elapsed, 5h 57m 19s of budget remaining.
    Program: h (running).
    Inventory: hay 33.
    Farm 1x3. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass.
    y= 2  _Gr3
    y= 1  _Gr3
    y= 0  _Gr2*
    Recent output:
    (none)
  14. 2m 41swrite_program name="h" · evidence
    result
    Stop the program before editing it.
  15. 2m 51srun_program name="h" seconds=40
    result
    Ran h for 40s of game time; it is still running.
    Inventory change: no change.
    Game time: 3m 41s elapsed, 5h 56m 19s of budget remaining.
    Output:
    (none)
  16. 3m 41sstop_program
    result
    Program stopped.
    Game time: 3m 51s elapsed, 5h 56m 9s of budget remaining.
  17. 3m 51swrite_program name="h" · evidence
    result
    Saved h (3 lines).
    Game time: 4m 1s elapsed, 5h 55m 59s of budget remaining.
  18. 4m 01srun_program name="h" seconds=60
    result
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +90.
    Game time: 5m 11s elapsed, 5h 54m 49s of budget remaining.
    Output:
    (none)
  19. 5m 11sbuy_upgrade upgrades=["plant","expand","speed"] · evidence
    result
    Bought plant, now level 1. Paid hay 50. Its tutorial is docs page docs/unlocks/plant.md.
    Could not buy expand: Not enough resources.
    Could not buy speed: Not enough resources.
    Game time: 5m 21s elapsed, 5h 54m 39s of budget remaining.
  20. 5m 21sdocs_read path="docs/unlocks/plant.md"
    result
    # Plant
    Grass is nice because it grows automatically. All other plants have to be planted with the `plant()` function. The only plant you can plant right now is a bush.
    You can pass the type of plant you want to plant to the function like this:
    
    `plant(Entities.Bush)`
    
    This will plant a bush under the drone.
    
    Call `clear()` to reset the farm to all grass and reset the drone position.
    
    It seems tha…
  21. 5m 31sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 0/10; cost wood 50; available, not affordable
      ## Carrots Till the soil and plant carrots. till() plant(Entities.Carrot)
    costs…
  22. 5m 41ssaidUnlocked planting; now I'm growing bushes for wood, which I need for the next upgrades.
  23. 5m 41sstop_program
    result
    Program stopped.
    Game time: 5m 51s elapsed, 5h 54m 9s of budget remaining.
  24. 5m 51swrite_program name="h" · evidence
    result
    Saved h (5 lines).
    Game time: 6m 1s elapsed, 5h 53m 59s of budget remaining.
  25. 6m 01srun_program name="h" seconds=60
    result
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +7, wood +34.
    Game time: 7m 11s elapsed, 5h 52m 49s of budget remaining.
    Output:
    (none)
  26. 7m 11sbuy_upgrade upgrades=["expand"] · evidence
    result
    Bought expand, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/expand_1.md.
    Game time: 7m 21s elapsed, 5h 52m 39s of budget remaining.
  27. 7m 21sstop_program
    result
    Program stopped.
    Game time: 7m 31s elapsed, 5h 52m 29s of budget remaining.
  28. 7m 31swrite_program name="h" · evidence
    result
    Saved h (18 lines).
    Game time: 7m 41s elapsed, 5h 52m 19s of budget remaining.
  29. 7m 41srun_program name="h" seconds=20
    result
    Ran h for 20s of game time; it is still running.
    Inventory change: hay +24, wood +21.
    Game time: 8m 11s elapsed, 5h 51m 49s of budget remaining.
    Output:
    (none)
  30. 8m 11swait seconds=120 until_resources={"wood":75}
    result
    Waited 18s (wood reached 75). Program: h running.
    Inventory change: hay +14, wood +16.
    Game time: 8m 39s elapsed, 5h 51m 21s of budget remaining.
  31. 8m 39sbuy_upgrade upgrades=["speed","carrots"] · evidence
    result
    Bought speed, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/speed.md.
    Bought carrots, now level 1. Paid wood 50. Its tutorial is docs page docs/unlocks/carrots.md.
    Game time: 8m 49s elapsed, 5h 51m 11s of budget remaining.
  32. 8m 49sdocs_read path="docs/unlocks/carrots.md"
    result
    # Carrots
    Before you can plant carrots with `plant(Entities.Carrot)`, you have to till the soil. This will change the ground to `Grounds.Soil`. To till the soil, simply call `till()`. Calling `till()` again will change it back to `Grounds.Grassland`.
    
    Planting carrots costs wood and hay. These items will be automatically removed when calling `plant(Entities.Carrot)`.
    
    You can see the cost of any p…
  33. 8m 59sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 1/10; cost wood 250; available, not affordable; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and cost of c…
  34. 9m 09ssaidCarrots unlocked. I'm setting up a 3×3 farm with one column each of grass, bushes, and carrots.
  35. 9m 09sstop_program
    result
    Program stopped.
    Game time: 9m 19s elapsed, 5h 50m 41s of budget remaining.
  36. 9m 19swrite_program name="h" · evidence
    result
    Saved h (25 lines).
    Game time: 9m 29s elapsed, 5h 50m 31s of budget remaining.
  37. 9m 29srun_program name="h" seconds=60
    result
    Ran h for 1m of game time; it is still running.
    Inventory change: hay +66, wood +34.
    Game time: 10m 39s elapsed, 5h 49m 21s of budget remaining.
    Output:
    (none)
  38. 10m 39sobserve
    result
    Game time: 10m 49s elapsed, 5h 49m 11s of budget remaining.
    Program: h (running).
    Inventory: hay 323, wood 97.
    Farm 3x3. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Bu=bush.
    y= 2  _Gr3  _Bu1  #--
    y= 1  _Gr3  _Bu2  #--
    y= 0  _Gr1* _Bu2  #--
    Recent output:
    (none)
  39. 10m 49sbuy_upgrade upgrades=["operators","senses"] · evidence
    result
    Bought operators, now level 1. Paid hay 150, wood 10. Its tutorial is docs page docs/scripting/operators.md.
    Bought senses, now level 1. Paid hay 100. Its tutorial is docs page docs/unlocks/senses.md.
    Game time: 10m 59s elapsed, 5h 49m 1s of budget remaining.
  40. 10m 59sdocs_read path="docs/unlocks/senses.md"
    result
    # Senses
    The drone can see now! 
    
    The functions `get_pos_x()` and `get_pos_y()` return the current x and y position of the drone. At the start position they are both `0`. The x position increases by `1` every tile towards `East` and the y position increases by `1` every tile towards `North`.
    
    `num_items(item)` returns how many of an item you have.
    For example `num_items(Items.Hay)` returns how muc…
  41. 11m 09sstop_program
    result
    Program stopped.
    Game time: 11m 19s elapsed, 5h 48m 41s of budget remaining.
  42. 11m 19swrite_program name="h" · evidence
    result
    Saved h (14 lines).
    Game time: 11m 29s elapsed, 5h 48m 31s of budget remaining.
  43. 11m 29srun_program name="h" seconds=60
    result
    Ran h for 0s of game time; it stopped with an error: Unlocks.Variables must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 11m 39s elapsed, 5h 48m 21s of budget remaining.
    Output:
    Error: Unlocks.Variables must be unlocked before this can be used.
    In: 
    x = get_pos_x()
                 ^^
    --------------------------------------------------------------------
  44. 11m 39swrite_program name="h" · evidence
    result
    Saved h (13 lines).
    Game time: 11m 49s elapsed, 5h 48m 11s of budget remaining.
  45. 11m 49srun_program name="h" seconds=60
    result
    Ran h for 1m of game time; it is still running.
    Inventory change: carrot +32, hay +59, wood +43.
    Game time: 12m 59s elapsed, 5h 47m 1s of budget remaining.
    Output:
    (none)
  46. 12m 59ssaidCarrots are coming in now. Next I'm saving up for Variables and a bigger farm.
  47. 12m 59swait seconds=120 until_resources={"carrot":60}
    result
    Waited 37s (carrot reached 62). Program: h running.
    Inventory change: carrot +27, hay +23, wood +43.
    Game time: 13m 46s elapsed, 5h 46m 14s of budget remaining.
  48. 13m 46sbuy_upgrade upgrades=["variables","expand"] · evidence
    result
    Bought variables, now level 1. Paid carrot 35. Its tutorial is docs page docs/scripting/variables.md.
    Bought expand, now level 3. Paid wood 30, carrot 20. Its tutorial is docs page docs/unlocks/expand_1.md.
    Game time: 13m 56s elapsed, 5h 46m 4s of budget remaining.
  49. 13m 56sstop_program
    result
    Program stopped.
    Game time: 14m 6s elapsed, 5h 45m 54s of budget remaining.
  50. 14m 06swrite_program name="h" · evidence
    result
    Saved h (14 lines).
    Game time: 14m 16s elapsed, 5h 45m 44s of budget remaining.
  51. 14m 16srun_program name="h" seconds=90
    result
    Ran h for 1m 30s of game time; it is still running.
    Inventory change: carrot +116, hay +13, wood +7.
    Game time: 15m 56s elapsed, 5h 44m 4s of budget remaining.
    Output:
    (none)
  52. 15m 56sbuy_upgrade upgrades=["functions","trees"] · evidence
    result
    Bought functions, now level 1. Paid carrot 40. Its tutorial is docs page docs/scripting/functions.md.
    Bought trees, now level 1. Paid wood 50, carrot 70. Its tutorial is docs page docs/unlocks/trees.md.
    Game time: 16m 6s elapsed, 5h 43m 54s of budget remaining.
  53. 16m 06sdocs_read path="docs/unlocks/trees.md"
    result
    # Trees
    [Trees](objects/tree) are a better way to get wood than bushes. They give 5 wood each. Like bushes, they can be planted on grass or soil.
    
    Trees like to have some space and planting them right next to each other will slow down their growth. The growing time is doubled for each tree that is on a tile directly to the north, east, west or south of it. So if you plant trees on every tile, they…
  54. 16m 16sstop_program
    result
    Program stopped.
    Game time: 16m 26s elapsed, 5h 43m 34s of budget remaining.
  55. 16m 26swrite_program name="h" · evidence
    result
    Saved h (15 lines).
    Game time: 16m 36s elapsed, 5h 43m 24s of budget remaining.
  56. 16m 36srun_program name="h" seconds=120
    result
    Ran h for 2m of game time; it is still running.
    Inventory change: carrot +112, hay +41, wood +804.
    Game time: 18m 46s elapsed, 5h 41m 14s of budget remaining.
    Output:
    (none)
  57. 18m 46ssaidTrees are working well (+800 wood in 2 minutes). Now I'm spending the wood on upgrades.
  58. 18m 46sbuy_upgrade upgrades=["speed","expand","watering","import"] · evidence
    result
    Bought speed, now level 3. Paid wood 50, carrot 50. Its tutorial is docs page docs/unlocks/speed.md.
    Bought expand, now level 4. Paid wood 100, carrot 50. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought watering, now level 1. Paid wood 50. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy import: Not enough resources.
    Game time: 18m 56s elapsed, 5h 41m 4s of budget remai…
  59. 18m 56sdocs_read path="docs/unlocks/watering.md"
    result
    # Watering
    Plants grow faster when they are watered. The ground has a water level ranging from `0` to `1`.
    The function `get_water()` returns the water level of the ground it is over.
    
    The growth speed of a plant scales linearly from 1x speed at water level 0 to 5x speed at water level 1.
    
    The ground dries up over time: On average, it loses 1% of its current water per second, but there is some ran…
  60. 19m 06sobserve
    result
    Game time: 19m 16s elapsed, 5h 40m 44s of budget remaining.
    Program: h (running).
    Inventory: hay 329, wood 766, carrot 67, water 2.
    Farm 6x6. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Tr=tree, Ca=carrot.
    y= 5  _Gr3  _Tr1  #Ca3  _Tr3  #Ca3  _Tr2
    y= 4  _Tr1  _Gr…
  61. 19m 16sbuy_upgrade upgrades=["grass"] · evidence
    result
    Bought grass, now level 2. Paid hay 300.
    Game time: 19m 26s elapsed, 5h 40m 34s of budget remaining.
  62. 19m 26sdocs_read path="objects/carrot"
    result
    ## Carrot
    Carrots!
    
    Base growth time between 4.8 and 7.2 seconds.
    Can grow on soil.
    
    ### Plant Cost [Current cost: hay=1, wood=1]
    
    For more related information see: [Carrots](docs/unlocks/carrots.md)
    Game time: 19m 36s elapsed, 5h 40m 24s of budget remaining.
  63. 19m 36sstop_program
    result
    Program stopped.
    Game time: 19m 46s elapsed, 5h 40m 14s of budget remaining.
  64. 19m 46swrite_program name="h" · evidence
    result
    Saved h (17 lines).
    Game time: 19m 56s elapsed, 5h 40m 4s of budget remaining.
  65. 19m 56srun_program name="h" seconds=120
    result
    Ran h for 2m of game time; it is still running.
    Inventory change: carrot +152, hay +144, water -7, wood +1241.
    Game time: 22m 6s elapsed, 5h 37m 54s of budget remaining.
    Output:
    (none)
  66. 22m 06sbuy_upgrade upgrades=["pumpkins","import","watering","watering"] · evidence
    result
    Bought pumpkins, now level 1. Paid wood 500, carrot 200. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought import, now level 1. Paid carrot 80. Its tutorial is docs page docs/scripting/import.md.
    Bought watering, now level 2. Paid wood 200. Its tutorial is docs page docs/unlocks/watering.md.
    Bought watering, now level 3. Paid wood 800. Its tutorial is docs page docs/unlocks/watering.md.
    G…
  67. 22m 16sdocs_read path="docs/unlocks/pumpkins.md"
    result
    # Pumpkins
    [Pumpkins](objects/pumpkin) grow like carrots on tilled soil. Planting them costs carrots.
    
    When all the pumpkins in a square are fully grown, they will grow together to form a giant pumpkin. Unfortunately, pumpkins have a 20% chance of dying once they are fully grown, so you will need to replant the dead ones if you want them to merge. 
    
    When a pumpkin dies, it leaves behind a dead pum…
  68. 22m 26sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; available, not affordable
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 1/10; cost wood 250; can buy now; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and cost of carrots…
  69. 22m 36ssaidPumpkins are unlocked. While the farm runs, I'm buying yield upgrades for carrots and grass.
  70. 22m 36swait seconds=90 until_resources={"wood":800}
    result
    Waited 0s (wood reached 1210). Program: h running.
    Inventory change: no change.
    Game time: 22m 46s elapsed, 5h 37m 14s of budget remaining.
  71. 22m 46sbuy_upgrade upgrades=["carrots","grass"] · evidence
    result
    Bought carrots, now level 2. Paid wood 250. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought grass, now level 3. Paid wood 500.
    Game time: 22m 56s elapsed, 5h 37m 4s of budget remaining.
  72. 22m 56swait seconds=150
    result
    Waited 2m 30s (time up). Program: h running.
    Inventory change: carrot +412, hay +316, wood +1276.
    Game time: 25m 36s elapsed, 5h 34m 24s of budget remaining.
  73. 25m 36sbuy_upgrade upgrades=["speed","trees","fertilizer"] · evidence
    result
    Bought speed, now level 4. Paid carrot 500. Its tutorial is docs page docs/unlocks/speed.md.
    Bought trees, now level 2. Paid hay 300. Its tutorial is docs page docs/unlocks/trees.md.
    Bought fertilizer, now level 1. Paid wood 500. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Game time: 25m 46s elapsed, 5h 34m 14s of budget remaining.
  74. 25m 46sdocs_read path="objects/pumpkin"
    result
    ## Pumpkin
    Pumpkins grow together when they are next to other fully grown pumpkins. About 1 in 5 pumpkins dies when it grows up.
    
    Base growth time between 0.2 and 3.8 seconds.
    Can grow on soil.
    
    ### Plant Cost [Current cost: carrot=1]
    
    For more related information see: [Pumpkins](docs/unlocks/pumpkins.md)
    Game time: 25m 56s elapsed, 5h 34m 4s of budget remaining.
  75. 25m 56sdocs_read path="docs/unlocks/fertilizer.md"
    result
    # Fertilizer
    At some point, waiting for the plants to grow is just not efficient enough anymore. 
    Similar to water, you will automatically receive 1 fertilizer every 10 seconds, doubling with each upgrade.
    
    Fertilizer can make plants grow instantly. `use_item(Items.Fertilizer)` reduces the remaining growing time of the plant under the drone by 2 seconds.
    
    This has some side effects.
    Plants grown w…
  76. 26m 06ssaidNext I'm writing a pumpkin program for the whole farm, aiming for 6×6 giant pumpkins.
  77. 26m 06swrite_program name="pump" · evidence
    result
    Saved pump (40 lines).
    Game time: 26m 16s elapsed, 5h 33m 44s of budget remaining.
  78. 26m 16srun_program name="pump" seconds=90
    result
    Ran pump for 1m 30s of game time; it is still running.
    Inventory change: carrot -138, fertilizer +9, hay +40, pumpkin +648, water +1, wood +220.
    Game time: 27m 56s elapsed, 5h 32m 4s of budget remaining.
    Output:
    (none)
  79. 27m 56ssaidPumpkins work well: +648 in 90 seconds. I'm saving for Expand (8×8).
  80. 27m 56swait seconds=120 until_resources={"pumpkin":1000}
    result
    Waited 14s (pumpkin reached 1080). Program: pump running.
    Inventory change: carrot -28, fertilizer +2, pumpkin +216, water +2.
    Game time: 28m 20s elapsed, 5h 31m 40s of budget remaining.
  81. 28m 20sbuy_upgrade upgrades=["expand"] · evidence
    result
    Bought expand, now level 5. Paid pumpkin 1000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Game time: 28m 30s elapsed, 5h 31m 30s of budget remaining.
  82. 28m 30ssaidExpanded to 8×8. I'm switching back to the mixed farm for carrots and wood, and using fertilizer to start producing weird substance.
  83. 28m 30sstop_program
    result
    Program stopped.
    Game time: 28m 40s elapsed, 5h 31m 20s of budget remaining.
  84. 28m 40swrite_program name="h" · evidence
    result
    Saved h (26 lines).
    Game time: 28m 50s elapsed, 5h 31m 10s of budget remaining.
  85. 28m 50srun_program name="h" seconds=180
    result
    Ran h for 3m of game time; it is still running.
    Inventory change: carrot +724, fertilizer -18, hay +348, pumpkin +3, water -9, weird_substance +370, wood +3966.
    Game time: 32m elapsed, 5h 28m of budget remaining.
    Output:
    (none)
  86. 32m 00sbuy_upgrade upgrades=["lists","watering","fertilizer"] · evidence
    result
    Bought lists, now level 1. Paid carrot 500. Its tutorial is docs page docs/scripting/lists.md.
    Bought watering, now level 4. Paid wood 3200. Its tutorial is docs page docs/unlocks/watering.md.
    Bought fertilizer, now level 2. Paid wood 1500. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Game time: 32m 10s elapsed, 5h 27m 50s of budget remaining.
  87. 32m 10swait seconds=180
    result
    Waited 3m (time up). Program: h running.
    Inventory change: carrot +854, hay +106, water +3, weird_substance +330, wood +4494.
    Game time: 35m 20s elapsed, 5h 24m 40s of budget remaining.
  88. 35m 20sbuy_upgrade upgrades=["sunflowers","carrots","grass"] · evidence
    result
    Bought sunflowers, now level 1. Paid carrot 500. Its tutorial is docs page docs/unlocks/sunflowers.md.
    Bought carrots, now level 3. Paid wood 1250. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought grass, now level 4. Paid wood 2500.
    Game time: 35m 30s elapsed, 5h 24m 30s of budget remaining.
  89. 35m 30sdocs_read path="docs/unlocks/sunflowers.md"
    result
    # Sunflowers
    [Sunflowers](objects/sunflower) collect the power of the sun. You can harvest that power. 
    
    Planting them works exactly like planting carrots or pumpkins. 
    
    Harvesting a grown sunflower yields power.
    If there are at least 10 sunflowers on the farm and you harvest the one with the largest number of petals you get `8` times more power!
    If you harvest a sunflower while there is another s…
  90. 35m 40ssaidI'm writing a master program that cycles mixed farming (trees, carrots, grass, sunflowers) with pumpkin rounds.
  91. 35m 40swrite_program name="master" · evidence
    result
    Saved master (74 lines).
    Game time: 35m 50s elapsed, 5h 24m 10s of budget remaining.
  92. 35m 50swrite_program name="lib" · evidence
    result
    Saved lib (37 lines).
    Game time: 36m elapsed, 5h 24m of budget remaining.
  93. 36m 00swrite_program name="pump" · evidence
    result
    Saved pump (3 lines).
    Game time: 36m 10s elapsed, 5h 23m 50s of budget remaining.
  94. 36m 10swrite_program name="master" · evidence
    result
    Saved master (71 lines).
    Game time: 36m 20s elapsed, 5h 23m 40s of budget remaining.
  95. 36m 20sstop_program
    result
    Program stopped.
    Game time: 36m 30s elapsed, 5h 23m 30s of budget remaining.
  96. 36m 30srun_program name="master" seconds=120
    result
    Ran master for 2m of game time; it is still running.
    Inventory change: carrot +814, fertilizer -3, hay +416, power +38.64, pumpkin +384, water -20, weird_substance +225, wood +3441.
    Game time: 38m 40s elapsed, 5h 21m 20s of budget remaining.
    Output:
    (none)
  97. 38m 40ssaidThe master program is working: every resource is going up, including power. Checking upgrades.
  98. 38m 40sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; available, not affordable
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 3/10; cost wood 6250; can buy now; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and cost of carrot…
  99. 38m 50sbuy_upgrade upgrades=["mazes","speed","trees","pumpkins","carrots","debug"] · evidence
    result
    Bought mazes, now level 1. Paid weird_substance 1000. Its tutorial is docs page docs/unlocks/mazes.md.
    Bought speed, now level 5. Paid carrot 1000. Its tutorial is docs page docs/unlocks/speed.md.
    Bought trees, now level 3. Paid hay 1200. Its tutorial is docs page docs/unlocks/trees.md.
    Bought pumpkins, now level 2. Paid carrot 1000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought carro…
  100. 39m 00sdocs_read path="docs/unlocks/mazes.md" show_hints=true
    result
    # Mazes
    `Items.Weird_Substance`, which is obtained by [fertilizing](docs/unlocks/fertilizer.md) plants, has a strange effect on bushes. If the drone is over a bush and you call `use_item(Items.Weird_Substance, amount)` the bush will grow into a maze of hedges.
    The size of the maze depends on the amount of `Items.Weird_Substance` used (the second argument of the `use_item()` call).
    Without maze upg…
  101. 39m 10ssaidMazes are unlocked, so I'm writing a maze solver to earn gold. Megafarm (2000 gold) adds more drones.
  102. 39m 10swrite_program name="maze" · evidence
    result
    Saved maze (38 lines).
    Game time: 39m 20s elapsed, 5h 20m 40s of budget remaining.
  103. 39m 20swrite_program name="maze" · evidence
    result
    Saved maze (44 lines).
    Game time: 39m 30s elapsed, 5h 20m 30s of budget remaining.
  104. 39m 30swrite_program name="mz" · evidence
    result
    Saved mz (4 lines).
    Game time: 39m 40s elapsed, 5h 20m 20s of budget remaining.
  105. 39m 40sstop_program
    result
    No program was running.
    Game time: 39m 50s elapsed, 5h 20m 10s of budget remaining.
  106. 39m 50srun_program name="mz" seconds=60
    result
    Ran mz for 42s of game time; it finished.
    Inventory change: fertilizer +8, gold +896, hay +104, power -28.66, water +33, weird_substance -102, wood +10.
    Game time: 40m 42s elapsed, 5h 19m 18s of budget remaining.
    Output:
    64
    128
    192
    256
    320
    384
    448
    512
    576
    640
    704
    768
    832
    896
  107. 40m 42ssaidMazes are very efficient: 14 solves gave 896 gold in 42 seconds. Weird substance is the limit, so I'm adding mazes to the master loop.
  108. 40m 42swrite_program name="master" · evidence
    result
    Saved master (75 lines).
    Game time: 40m 52s elapsed, 5h 19m 8s of budget remaining.
  109. 40m 52srun_program name="master" seconds=240
    result
    Ran master for 10s of game time; it stopped with an error: The operator > cannot be used on the operands None and 0.
    Inventory change: fertilizer -23, hay +608, power -8.38, water -24, wood -96.
    Game time: 41m 12s elapsed, 5h 18m 48s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Sunflower.
    In: mixed_pass
    plant(Entities.Sunflower)
         ^^                  
    -…
  110. 41m 12sdocs_read path="objects/sunflower"
    result
    ## Sunflower
    Sunflowers collect the power from the sun. Harvesting them will give you Items.Power.
    If you harvest a sunflower with the maximum number of petals you get bonus power.
    
    Base growth time between 5.6 and 8.4 seconds.
    Can grow on soil.
    
    ### Plant Cost [Current cost: carrot=1]
    
    For more related information see: [Sunflowers](docs/unlocks/sunflowers.md)
    Game time: 41m 22s elapsed, 5h 18m 38…
  111. 41m 22sobserve
    result
    Game time: 41m 32s elapsed, 5h 18m 28s of budget remaining.
    Program: none running.
    Inventory: hay 912, wood 2051, pumpkin 1235, weird_substance 13, gold 896, water 83, fertilizer 4.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Tr=tree, Ca=carrot.
    y= 7  …
  112. 41m 32swrite_program name="master" · evidence
    result
    Saved master (82 lines).
    Game time: 41m 42s elapsed, 5h 18m 18s of budget remaining.
  113. 41m 42srun_program name="master" seconds=240
    result
    Ran master for 4m of game time; it is still running.
    Inventory change: carrot +859, fertilizer +32, gold +2688, hay -16, pumpkin +768, water +60, weird_substance +306, wood +4022.
    Game time: 45m 52s elapsed, 5h 14m 8s of budget remaining.
    Output:
    (none)
  114. 45m 52ssaidI have 3584 gold, so I'm buying Megafarm now.
  115. 45m 52sbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 1. Paid gold 2000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 46m 2s elapsed, 5h 13m 58s of budget remaining.
  116. 46m 02sdocs_read path="unlocks/megafarm" show_hints=true
    result
    ## Megafarm
    Increase drone count further.
    2 => 4
    
    ### Unlock Cost [Current cost: gold=8000]
    
    [Tutorial](docs/unlocks/megafarm.md)
    Game time: 46m 12s elapsed, 5h 13m 48s of budget remaining.
  117. 46m 12sdocs_read path="docs/unlocks/megafarm.md" show_hints=true
    result
    # Mega Farm
    This incredibly powerful unlock gives you access to multiple drones. 
    
    As before, you still start with just one drone. Additional drones must first be spawned and will disappear after the program terminates.
    Each drone runs its own separate program. New drones can be spawned using the `spawn_drone(function)` function.
    
    `def drone_function():
        move(North)
        do_a_flip()
    
    spawn_drone…
  118. 46m 22ssaidI'm restructuring the program so multiple drones split the farm by columns.
  119. 46m 22swrite_program name="lib" · evidence
    result
    Saved lib (79 lines).
    Game time: 46m 32s elapsed, 5h 13m 28s of budget remaining.
  120. 46m 32swrite_program name="master" · evidence
    result
    Stop the program before editing it.
  121. 46m 42sstop_program
    result
    Program stopped.
    Game time: 46m 52s elapsed, 5h 13m 8s of budget remaining.
  122. 46m 52srun_program name="master" seconds=180
    result
    Ran master for 3m of game time; it is still running.
    Inventory change: carrot +384, fertilizer -27, gold +2560, hay +832, pumpkin +768, weird_substance +462, wood +2202.
    Game time: 50m 2s elapsed, 5h 9m 58s of budget remaining.
    Output:
    (none)
  123. 50m 02ssaidHit an ordering mistake: the old master ran because the write was rejected. Writing the new version now.
  124. 50m 02sstop_program
    result
    Program stopped.
    Game time: 50m 12s elapsed, 5h 9m 48s of budget remaining.
  125. 50m 12swrite_program name="master" · evidence
    result
    Saved master (73 lines).
    Game time: 50m 22s elapsed, 5h 9m 38s of budget remaining.
  126. 50m 22srun_program name="master" seconds=180
    result
    Ran master for 3m of game time; it is still running.
    Inventory change: carrot +162, fertilizer -1, gold +3328, hay +1240, pumpkin +768, water +4, weird_substance +226, wood +2962.
    Game time: 53m 32s elapsed, 5h 6m 28s of budget remaining.
    Output:
    (none)
  127. 53m 32sobserve
    result
    Game time: 53m 42s elapsed, 5h 6m 18s of budget remaining.
    Program: master (running).
    Inventory: hay 2976, wood 11237, carrot 1405, pumpkin 3539, weird_substance 847, gold 8752, water 251, fertilizer 34.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: He=hedge, Tr=t…
  128. 53m 42ssaidGold is at 8752, so I'm buying Megafarm level 2 (4 drones) and more fertilizer.
  129. 53m 42sbuy_upgrade upgrades=["megafarm","fertilizer"] · evidence
    result
    Bought megafarm, now level 2. Paid gold 8000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Bought fertilizer, now level 3. Paid wood 9000. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Game time: 53m 52s elapsed, 5h 6m 8s of budget remaining.
  130. 53m 52swait seconds=300 until_resources={"pumpkin":8000}
    result
    Waited 5m (time up). Program: master running.
    Inventory change: fertilizer +120, gold +5248, hay +144, water +240, weird_substance -656.
    Game time: 59m 2s elapsed, 5h 58s of budget remaining.
  131. 59m 02swait seconds=240
    result
    Waited 4m (time up). Program: master running.
    Inventory change: carrot +64, fertilizer -32, gold +3264, hay +1216, pumpkin +768, water +54, weird_substance +1384, wood +1608.
    Game time: 1h 3m 12s elapsed, 4h 56m 48s of budget remaining.
  132. 1h 03mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; available, not affordable
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 4/10; cost wood 31200; available, not affordable; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and…
  133. 1h 03mwait seconds=400 until_resources={"pumpkin":8000}
    result
    Waited 6m 40s (time up). Program: master running.
    Inventory change: fertilizer +160, gold +7040, hay +128, water +320, weird_substance -880.
    Game time: 1h 10m 12s elapsed, 4h 49m 48s of budget remaining.
  134. 1h 10msaidMazes are using all the main loop's time with only one drone, so I'm capping them per round.
  135. 1h 10mstop_program
    result
    Program stopped.
    Game time: 1h 10m 22s elapsed, 4h 49m 38s of budget remaining.
  136. 1h 10mlist_programs
    result
    ## h
    def mixed_pass():
    	n = get_world_size()
    	for i in range(n):
    		for j in range(n):
    			x = get_pos_x()
    			y = get_pos_y()
    			if can_harvest():
    				harvest()
    			if (x + y) % 2 == 0:
    				plant(Entities.Tree)
    				if get_water() < 0.5 and num_items(Items.Water) > 0:
    					use_item(Items.Water)
    				if num_items(Items.Fertilizer) > 0:
    					use_item(Items.Fertilizer)
    			elif x >= 2:
    				if get_ground_ty…
  137. 1h 10mwrite_program name="master" · evidence
    result
    Saved master (75 lines).
    Game time: 1h 10m 42s elapsed, 4h 49m 18s of budget remaining.
  138. 1h 10mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: carrot +848, fertilizer -301, gold +4416, hay +6768, pumpkin +5376, water -296, weird_substance +5420, wood +8468.
    Game time: 1h 15m 52s elapsed, 4h 44m 8s of budget remaining.
    Output:
    (none)
  139. 1h 15msaidMuch better balance: pumpkins +5376 in 5 minutes. Buying Expand to 12×12.
  140. 1h 15mbuy_upgrade upgrades=["expand","grass","watering"] · evidence
    result
    Bought expand, now level 6. Paid pumpkin 8000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought grass, now level 5. Paid wood 12500.
    Could not buy watering: Not enough resources.
    Game time: 1h 16m 2s elapsed, 4h 43m 58s of budget remaining.
  141. 1h 16mwait seconds=300
    result
    Waited 5m (time up). Program: master running.
    Inventory change: carrot +2368, fertilizer +15, gold +5184, hay +12816, pumpkin +6912, water -457, weird_substance +1378, wood +15630.
    Game time: 1h 21m 12s elapsed, 4h 38m 48s of budget remaining.
  142. 1h 21mbuy_upgrade upgrades=["cactus","trees","watering","utilities"] · evidence
    result
    Bought cactus, now level 1. Paid pumpkin 5000. Its tutorial is docs page docs/unlocks/cactus.md.
    Bought trees, now level 4. Paid hay 4800. Its tutorial is docs page docs/unlocks/trees.md.
    Bought watering, now level 5. Paid wood 12800. Its tutorial is docs page docs/unlocks/watering.md.
    Bought utilities, now level 1. Paid pumpkin 1000.
    Game time: 1h 21m 22s elapsed, 4h 38m 38s of budget remaining.
  143. 1h 21mdocs_read path="docs/unlocks/cactus.md" show_hints=true
    result
    # Cactus
    Like other plants, [cacti](objects/cactus) can be grown on soil and harvested as usual.
    
    However, they come in various sizes and have a strange sense of order.
    
    If you harvest a fully-grown cactus and all neighboring cacti are in sorted order, it will also harvest all neighboring cacti recursively.
    
    A cactus is considered to be in sorted order if all neighboring cacti to the `North` and `…
  144. 1h 21msaidCactus unlocked. Harvesting a sorted 12×12 field gives 144² cactus, so I'm writing a parallel sort.
  145. 1h 21mdocs_read path="objects/cactus"
    result
    ## Cactus
    Cacti come in 10 different sizes. When harvested adjacent cacti that are "sorted" will also be harvested.
    
    Base growth time between 1 and 1 seconds.
    Can grow on soil.
    
    ### Plant Cost [Current cost: pumpkin=2]
    Game time: 1h 21m 42s elapsed, 4h 38m 18s of budget remaining.
  146. 1h 21mwrite_program name="cact" · evidence
    result
    Saved cact (86 lines).
    Game time: 1h 21m 52s elapsed, 4h 38m 8s of budget remaining.
  147. 1h 21mwrite_program name="cact" · evidence
    result
    Saved cact (58 lines).
    Game time: 1h 22m 2s elapsed, 4h 37m 58s of budget remaining.
  148. 1h 22mwrite_program name="cc" · evidence
    result
    Saved cc (3 lines).
    Game time: 1h 22m 12s elapsed, 4h 37m 48s of budget remaining.
  149. 1h 22mstop_program
    result
    Program stopped.
    Game time: 1h 22m 22s elapsed, 4h 37m 38s of budget remaining.
  150. 1h 22mrun_program name="cc" seconds=180
    result
    Ran cc for 51s of game time; it finished.
    Inventory change: cactus +20736, fertilizer +21, hay +2240, power -16.29, pumpkin -288, water +81.
    Game time: 1h 23m 23s elapsed, 4h 36m 37s of budget remaining.
    Output:
    20736
  151. 1h 23msaidCactus works: one 51-second cycle gave 20,736 cactus. Buying Dinosaurs and a Maze upgrade.
  152. 1h 23mbuy_upgrade upgrades=["dinosaurs","mazes"] · evidence
    result
    Bought dinosaurs, now level 1. Paid cactus 2000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Bought mazes, now level 2. Paid cactus 12000. Its tutorial is docs page docs/unlocks/mazes.md.
    Game time: 1h 23m 33s elapsed, 4h 36m 27s of budget remaining.
  153. 1h 23mdocs_read path="unlocks/dinosaurs"
    result
    ## Dinosaurs
    Increases the yield and cost of dinosaurs.
    100% => 200%
    
    ### Unlock Cost [Current cost: cactus=12000]
    
    [Tutorial](docs/unlocks/dinosaurs.md)
    Game time: 1h 23m 43s elapsed, 4h 36m 17s of budget remaining.
  154. 1h 23mdocs_read path="docs/unlocks/dinosaurs.md" show_hints=true
    result
    # Dinosaurs
    Dinosaurs are ancient, majestic creatures that can be farmed for ancient bones.
    
    Unfortunately dinosaurs have gone extinct a long time ago, so the best we can do now is dressing up as one.
    For this purpose you have received the new dinosaur hat.
    
    The hat can be equipped with
    `change_hat(Hats.Dinosaur_Hat)`
    
    Unfortunately it doesn't quite look like on the advertisement...
    
    If you equip …
  155. 1h 23msaidWriting a snake program for dinosaurs (bones). First I'm buying hats so I can take the dinosaur hat off.
  156. 1h 23mbuy_upgrade upgrades=["hats"] · evidence
    result
    Could not buy hats: Already at maximum level.
  157. 1h 24mdocs_search query="Hats."
    result
    docs/home.md: …locks/fertilizer.md) [Functions](docs/scripting/functions.md) [Grass](unlocks/grass) [Hats](docs/unlocks/hats.md) [Import](docs/scripting/import.md) [Lists](docs/scripting/lists.md) [Loops](docs/scripting/while.md) [Mazes](docs/unlocks/mazes.md) [Megafarm](docs/unlocks/megafarm.m…
    docs/unlocks/dinosaurs.md: … dressing up as one. For this purpose you have received the new dinosaur ha…
  158. 1h 24mwrite_program name="dino" · evidence
    result
    Saved dino (42 lines).
    Game time: 1h 24m 23s elapsed, 4h 35m 37s of budget remaining.
  159. 1h 24mwrite_program name="dd" · evidence
    result
    Saved dd (3 lines).
    Game time: 1h 24m 33s elapsed, 4h 35m 27s of budget remaining.
  160. 1h 24mrun_program name="dd" seconds=60
    result
    Ran dd for 1m of game time; it is still running.
    Inventory change: cactus -20, fertilizer +24, water +96.
    Game time: 1h 25m 43s elapsed, 4h 34m 17s of budget remaining.
    Output:
    (none)
  161. 1h 25mwait seconds=300 until_program_ends=true
    result
    Waited 1m 54s (the program ended). Program: none running; error: Hats.Brown_Hat must be unlocked before this can be used..
    Inventory change: cactus -260, fertilizer +45, water +183.
    Game time: 1h 27m 47s elapsed, 4h 32m 13s of budget remaining.
  162. 1h 27mdocs_read path="functions/change_hat"
    result
    change_hat(hat)
    Changes the hat of the drone to hat.
    
    returns None
    
    takes 200 ticks to execute.
    
    example:
    change_hat(Hats.Dinosaur_Hat)
    Game time: 1h 27m 57s elapsed, 4h 32m 3s of budget remaining.
  163. 1h 27mobserve
    result
    Game time: 1h 28m 7s elapsed, 4h 31m 53s of budget remaining.
    Program: none running.
    Inventory: hay 28424, wood 14825, carrot 5323, pumpkin 4035, cactus 6450, weird_substance 8379, gold 28688, water 594, fertilizer 151.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entiti…
  164. 1h 28msaidThe snake filled the farm. Now I need a hat that's actually unlocked to cash in the bones.
  165. 1h 28mwrite_program name="dd" · evidence
    result
    Saved dd (2 lines).
    Game time: 1h 28m 17s elapsed, 4h 31m 43s of budget remaining.
  166. 1h 28mrun_program name="dd" seconds=10
    result
    Ran dd for 1s of game time; it finished.
    Inventory change: bone +20449, fertilizer +1, water +1.
    Game time: 1h 28m 28s elapsed, 4h 31m 32s of budget remaining.
    Output:
    20449
  167. 1h 28msaid20,449 bones from one snake. Folding cactus and dinosaurs into the master loop.
  168. 1h 28mbuy_upgrade upgrades=["dinosaurs","polyculture"] · evidence
    result
    Could not buy dinosaurs: Not enough resources.
    Bought polyculture, now level 1. Paid pumpkin 3000. Its tutorial is docs page docs/unlocks/polyculture.md.
    Game time: 1h 28m 38s elapsed, 4h 31m 22s of budget remaining.
  169. 1h 28mdocs_read path="docs/unlocks/polyculture.md"
    result
    # Polyculture
    You may have already noticed that sometimes plants yield more when planted together.
    Grass, bushes, trees, and carrots yield more when they have the right plant companion. Companion preference is different for each individual plant and cannot be predicted. Fortunately, the companion preference of the plant under the drone can be measured using `get_companion()`. It returns a tuple wh…
  170. 1h 28mwrite_program name="dino" · evidence
    result
    Saved dino (42 lines).
    Game time: 1h 28m 58s elapsed, 4h 31m 2s of budget remaining.
  171. 1h 28mwrite_program name="master" · evidence
    result
    Saved master (86 lines).
    Game time: 1h 29m 8s elapsed, 4h 30m 52s of budget remaining.
  172. 1h 29mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +20686, carrot +859, fertilizer -68, gold +2880, hay +3992, pumpkin +1440, water +169, weird_substance +8200, wood +9336.
    Game time: 1h 34m 18s elapsed, 4h 25m 42s of budget remaining.
    Output:
    (none)
  173. 1h 34mwait seconds=300 until_affordable="megafarm"
    result
    Waited 2m 38s (megafarm is affordable). Program: master running.
    Inventory change: bone +20449, cactus +20508, carrot +929, fertilizer -88, gold +576, hay +1904, pumpkin +1440, water -57, weird_substance +6572, wood +10460.
    Game time: 1h 37m 6s elapsed, 4h 22m 54s of budget remaining.
  174. 1h 37mbuy_upgrade upgrades=["megafarm","dinosaurs","mazes","fertilizer"] · evidence
    result
    Bought megafarm, now level 3. Paid gold 32000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Bought dinosaurs, now level 2. Paid cactus 12000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Could not buy mazes: Not enough resources.
    Could not buy fertilizer: Not enough resources.
    Game time: 1h 37m 16s elapsed, 4h 22m 44s of budget remaining.
  175. 1h 37msaidNow 8 drones. Checking what to buy next.
  176. 1h 37mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 1/6; cost pumpkin 20000; available, not affordable; tutorial docs/unlocks/cactus.md
      ## Cactus Increases the yield and cost of cactus. 100% => 200%
    carrots (Carrots) level 4/10; cost wood 31200; can buy now; tutorial docs/unlocks/carro…
  177. 1h 37mbuy_upgrade upgrades=["carrots","pumpkins","trees","dictionaries","timing","polyculture"] · evidence
    result
    Bought carrots, now level 5. Paid wood 31200. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought pumpkins, now level 3. Paid carrot 4000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought trees, now level 5. Paid hay 19200. Its tutorial is docs page docs/unlocks/trees.md.
    Bought dictionaries, now level 1. Paid pumpkin 2500. Its tutorial is docs page docs/scripting/dicts.md.
    Bought …
  178. 1h 37msaidPolyculture is now 20×, so I'll redesign the mixed field around companion planting. Checking where grass can grow.
  179. 1h 37mdocs_read path="objects/grass"
    result
    ## Grass
    Grows automatically on grassland. Harvest it to obtain Items.Hay.
    
    Base growth time between 0.5 and 0.5 seconds.
    Can grow on soil or grassland.
    Game time: 1h 37m 46s elapsed, 4h 22m 14s of budget remaining.
  180. 1h 37mwrite_program name="poly" · evidence
    result
    Saved poly (68 lines).
    Game time: 1h 37m 56s elapsed, 4h 22m 4s of budget remaining.
  181. 1h 37mwrite_program name="poly" · evidence
    result
    Saved poly (69 lines).
    Game time: 1h 38m 6s elapsed, 4h 21m 54s of budget remaining.
  182. 1h 38mstop_program
    result
    Program stopped.
    Game time: 1h 38m 16s elapsed, 4h 21m 44s of budget remaining.
  183. 1h 38mwrite_program name="master" · evidence
    result
    Saved master (25 lines).
    Game time: 1h 38m 26s elapsed, 4h 21m 34s of budget remaining.
  184. 1h 38mrun_program name="master" seconds=120
    result
    Ran master for 2m of game time; it is still running.
    Inventory change: cactus +20736, carrot +6198, fertilizer +48, gold +2304, hay +14528, pumpkin +3168, water -85, weird_substance -216, wood +48768.
    Game time: 1h 40m 36s elapsed, 4h 19m 24s of budget remaining.
    Output:
    (none)
  185. 1h 40msaidPolyculture gave a big jump: +48k wood, +14k hay, and +6k carrots in 2 minutes. Spending on fertilizer next.
  186. 1h 40mbuy_upgrade upgrades=["fertilizer","watering"] · evidence
    result
    Could not buy fertilizer: Not enough resources.
    Bought watering, now level 6. Paid wood 51200. Its tutorial is docs page docs/unlocks/watering.md.
    Game time: 1h 40m 46s elapsed, 4h 19m 14s of budget remaining.
  187. 1h 40mwait seconds=300
    result
    Waited 5m (time up). Program: master running.
    Inventory change: bone +40898, cactus +20164, carrot +6878, fertilizer +120, gold +1728, hay +8768, pumpkin +3168, water +684, weird_substance -144, wood +41568.
    Game time: 1h 45m 56s elapsed, 4h 14m 4s of budget remaining.
  188. 1h 45mobserve
    result
    Game time: 1h 46m 6s elapsed, 4h 13m 54s of budget remaining.
    Program: master (running).
    Inventory: hay 38560, wood 42557, carrot 16187, pumpkin 6751, cactus 76536, bone 71796, weird_substance 22551, gold 6768, water 1657, fertilizer 244.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * ma…
  189. 1h 46mbuy_upgrade upgrades=["mazes","grass"] · evidence
    result
    Bought mazes, now level 3. Paid cactus 72000. Its tutorial is docs page docs/unlocks/mazes.md.
    Could not buy grass: Not enough resources.
    Game time: 1h 46m 16s elapsed, 4h 13m 44s of budget remaining.
  190. 1h 46msaidBought Maze level 3 (4× gold per maze). Mazes still use one drone, so I'm writing a parallel maze explorer.
  191. 1h 46mwrite_program name="maze" · evidence
    result
    Saved maze (80 lines).
    Game time: 1h 46m 26s elapsed, 4h 13m 34s of budget remaining.
  192. 1h 46mwrite_program name="mz" · evidence
    result
    Saved mz (7 lines).
    Game time: 1h 46m 36s elapsed, 4h 13m 24s of budget remaining.
  193. 1h 46mrun_program name="mz" seconds=120
    result
    Ran mz for 19s of game time; it finished.
    Inventory change: fertilizer +8, gold +2880, hay +32, water +62, weird_substance -240.
    Game time: 1h 47m 5s elapsed, 4h 12m 55s of budget remaining.
    Output:
    18.44
  194. 1h 47msaidThe parallel solver takes about 3.7s per 12×12 maze, which is about 155 gold/s. I'm running mazes until I can afford 16 drones.
  195. 1h 47mwrite_program name="mz" · evidence
    result
    Saved mz (5 lines).
    Game time: 1h 47m 15s elapsed, 4h 12m 45s of budget remaining.
  196. 1h 47mrun_program name="mz" seconds=900
    result
    Ran mz for 15m of game time; it is still running.
    Inventory change: fertilizer +360, gold +120960, hay +1840, water +2880, weird_substance -10128.
    Game time: 2h 2m 25s elapsed, 3h 57m 35s of budget remaining.
    Output:
    (none)
  197. 2h 02mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 4. Paid gold 128000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 2h 2m 35s elapsed, 3h 57m 25s of budget remaining.
  198. 2h 02msaid16 drones now. Back to the master loop, with more pumpkin cycles so I can afford Expand to 16×16 (64k pumpkins).
  199. 2h 02mstop_program
    result
    Program stopped.
    Game time: 2h 2m 45s elapsed, 3h 57m 15s of budget remaining.
  200. 2h 02mwrite_program name="master" · evidence
    result
    Saved master (26 lines).
    Game time: 2h 2m 55s elapsed, 3h 57m 5s of budget remaining.
  201. 2h 02mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +20416, carrot +508, fertilizer +120, gold +5760, hay +11408, pumpkin +10080, water +526, weird_substance -480, wood +22128.
    Game time: 2h 8m 5s elapsed, 3h 51m 55s of budget remaining.
    Output:
    (none)
  202. 2h 08msaidI'm adding timing output to see where each loop's time goes.
  203. 2h 08mstop_program
    result
    Program stopped.
    Game time: 2h 8m 15s elapsed, 3h 51m 45s of budget remaining.
  204. 2h 08mwrite_program name="master" · evidence
    result
    Saved master (33 lines).
    Game time: 2h 8m 25s elapsed, 3h 51m 35s of budget remaining.
  205. 2h 08mrun_program name="master" seconds=400
    result
    Ran master for 2s of game time; it stopped with an error: The operator > cannot be used on the operands (1,8) and 15.
    Inventory change: carrot -15, hay -112, water -18, wood -112.
    Game time: 2h 8m 37s elapsed, 3h 51m 23s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands (1,8) and 15.
    In: par <- poly_cols <- maxp
    if petals[k] > m:
             ^^^^^^^^^
    -----------------…
  206. 2h 08mwrite_program name="poly" · evidence
    result
    Saved poly (71 lines).
    Game time: 2h 8m 47s elapsed, 3h 51m 13s of budget remaining.
  207. 2h 08mrun_program name="master" seconds=400
    result
    Ran master for 6s of game time; it stopped with an error: The operator > cannot be used on the operands 8 and None.
    Inventory change: bone +32258, carrot -28, fertilizer +3, pumpkin +12, water +15, wood -16.
    Game time: 2h 9m 3s elapsed, 3h 50m 57s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 8 and None.
    In: sort_rows <- sort_dir
    if measure() > measure(fwd):
       …
  208. 2h 09mwrite_program name="cact" · evidence
    result
    Saved cact (64 lines).
    Game time: 2h 9m 13s elapsed, 3h 50m 47s of budget remaining.
  209. 2h 09mrun_program name="master" seconds=400
    result
    Ran master for 6m 40s of game time; it is still running.
    Inventory change: bone +40898, cactus +40904, carrot +2728, fertilizer +160, gold +9216, hay +15440, pumpkin +20160, water +425, weird_substance -816, wood +63392.
    Game time: 2h 16m 3s elapsed, 3h 43m 57s of budget remaining.
    Output:
    7.48 17.95 18.87 48.26 230.74
  210. 2h 16msaidLoop timing: poly 7.5s, pumpkins 18s, cactus 19s, mazes 48s, dinosaur 231s. The dinosaur phase is slow, so I'm running it less often and adding more poly passes.
  211. 2h 16mstop_program
    result
    Program stopped.
    Game time: 2h 16m 13s elapsed, 3h 43m 47s of budget remaining.
  212. 2h 16mwrite_program name="master" · evidence
    result
    Saved master (35 lines).
    Game time: 2h 16m 23s elapsed, 3h 43m 37s of budget remaining.
  213. 2h 16mrun_program name="master" seconds=300
    result
    Ran master for 11s of game time; it stopped with an error: (11,0) is not a key in the dictionary.
    Inventory change: carrot +4911, fertilizer +4, hay +9504, water -63, wood +37904.
    Game time: 2h 16m 44s elapsed, 3h 43m 16s of budget remaining.
    Output:
    Error: (11,0) is not a key in the dictionary.
    In: par <- poly_cols
    elif can_harvest() and petals[(x, y)] >= m:
                                 ^^       …
  214. 2h 16mwrite_program name="poly" · evidence
    result
    Saved poly (75 lines).
    Game time: 2h 16m 54s elapsed, 3h 43m 6s of budget remaining.
  215. 2h 16mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +82944, carrot +23678, fertilizer +120, gold +16128, hay +71664, pumpkin +40320, water -98, weird_substance -1392, wood +228880.
    Game time: 2h 22m 4s elapsed, 3h 37m 56s of budget remaining.
    Output:
    7.62 17.87 17.32 33.52 0
    10.41 15.35 18.66 39.22 0
    10.53 12.44 15.39 34.36 0
  216. 2h 22msaidBig jump in output. Buying Expand to 16×16 plus other upgrades.
  217. 2h 22mbuy_upgrade upgrades=["expand","dinosaurs","grass","fertilizer","carrots","trees"] · evidence
    result
    Bought expand, now level 7. Paid pumpkin 64000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought dinosaurs, now level 3. Paid cactus 72000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Bought grass, now level 6. Paid wood 62500.
    Bought fertilizer, now level 4. Paid wood 54000. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Bought carrots, now level 6. Paid wood 156000. Its…
  218. 2h 22mwait seconds=300
    result
    Waited 5m (time up). Program: master running.
    Inventory change: cactus -360, fertilizer +240, gold +1024, hay +8192, water +960.
    Game time: 2h 27m 24s elapsed, 3h 32m 36s of budget remaining.
  219. 2h 27msaidSomething is taking all the time; checking the farm.
  220. 2h 27mobserve
    result
    Game time: 2h 27m 34s elapsed, 3h 32m 26s of budget remaining.
    Program: master (running).
    Inventory: hay 79872, wood 122233, carrot 47969, pumpkin 13323, cactus 76212, bone 144952, weird_substance 8855, gold 41648, water 7146, fertilizer 1366.
    Farm 16x16. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full);…
  221. 2h 27msaidThe dinosaur phase follows the full Hamiltonian cycle, which is too slow on 16×16. I'm writing a version that takes shortcuts toward the apple.
  222. 2h 27mwrite_program name="dino" · evidence
    result
    Saved dino (106 lines).
    Game time: 2h 27m 44s elapsed, 3h 32m 16s of budget remaining.
  223. 2h 27mwrite_program name="dino" · evidence
    result
    Saved dino (100 lines).
    Game time: 2h 27m 54s elapsed, 3h 32m 6s of budget remaining.
  224. 2h 27mwrite_program name="dd" · evidence
    result
    Saved dd (5 lines).
    Game time: 2h 28m 4s elapsed, 3h 31m 56s of budget remaining.
  225. 2h 28mwrite_program name="dd" · evidence
    result
    Saved dd (6 lines).
    Game time: 2h 28m 14s elapsed, 3h 31m 46s of budget remaining.
  226. 2h 28mrun_program name="dd" seconds=400
    result
    Ran dd for 4s of game time; it stopped with an error: get has never been defined. You must assign a value to a variable before using it.
    Inventory change: bone +23104, cactus -8, fertilizer +3, water +12.
    Game time: 2h 28m 27s elapsed, 3h 31m 33s of budget remaining.
    Output:
    Error: get has never been defined. You must assign a value to a variable before using it.
    In: dino_cycle
    if occ.get(p, False…
  227. 2h 28mdocs_read path="docs/scripting/dicts.md"
    result
    # Dictionaries
    Dictionaries are a datastructure that allows you to map keys to values in the same way that a real dictionary maps words to their definitions and you can look them up very quickly.
    
    A dictionary can be created like this:
    `right_of = {North:East, East:South, South:West, West:North}`
    
    The expression before the colon is the key and the expression after the colon is the value to which t…
  228. 2h 28mwrite_program name="dino" · evidence
    result
    Saved dino (101 lines).
    Game time: 2h 28m 47s elapsed, 3h 31m 13s of budget remaining.
  229. 2h 28mrun_program name="dd" seconds=400
    result
    Ran dd for 6m 40s of game time; it is still running.
    Inventory change: cactus -944, fertilizer +320, water +1280.
    Game time: 2h 35m 37s elapsed, 3h 24m 23s of budget remaining.
    Output:
    (none)
  230. 2h 35mobserve
    result
    Game time: 2h 35m 47s elapsed, 3h 24m 13s of budget remaining.
    Program: dd (running).
    Inventory: hay 79872, wood 122233, carrot 47969, pumpkin 13323, cactus 75020, bone 168056, weird_substance 8855, gold 41648, water 8726, fertilizer 1761.
    Farm 16x16. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * m…
  231. 2h 35msaidThe snake is at about 130 long, but strict cycle-following from here is slow. I'll cash it in and allow safe shortcuts at every length.
  232. 2h 35mstop_program
    result
    Program stopped.
    Game time: 2h 35m 57s elapsed, 3h 24m 3s of budget remaining.
  233. 2h 35mwrite_program name="hat" · evidence
    result
    Saved hat (1 lines).
    Game time: 2h 36m 7s elapsed, 3h 23m 53s of budget remaining.
  234. 2h 36mrun_program name="hat" seconds=5
    result
    Ran hat for 0s of game time; it finished.
    Inventory change: bone +59536.
    Game time: 2h 36m 17s elapsed, 3h 23m 43s of budget remaining.
    Output:
    (none)
  235. 2h 36mwrite_program name="dino" · evidence
    result
    Saved dino (97 lines).
    Game time: 2h 36m 27s elapsed, 3h 23m 33s of budget remaining.
  236. 2h 36mwrite_program name="dd" · evidence
    result
    Saved dd (6 lines).
    Game time: 2h 36m 37s elapsed, 3h 23m 23s of budget remaining.
  237. 2h 36mrun_program name="dd" seconds=660
    result
    Ran dd for 10m 1s of game time; it finished.
    Inventory change: bone +88804, cactus -1200, fertilizer +481, water +1924.
    Game time: 2h 46m 49s elapsed, 3h 13m 11s of budget remaining.
    Output:
    600.1 88804
  238. 2h 46msaidThe new dinosaur run gave 88,804 bones in 10 minutes, but it's still slow. I'll cap it at 4 minutes per run and get back to the main loop.
  239. 2h 46mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 1/6; cost pumpkin 20000; available, not affordable; tutorial docs/unlocks/cactus.md
      ## Cactus Increases the yield and cost of cactus. 100% => 200%
    carrots (Carrots) level 6/10; cost wood 781000; available, not affordable; tutorial doc…
  240. 2h 46mbuy_upgrade upgrades=["polyculture","pumpkins","polyculture"] · evidence
    result
    Bought polyculture, now level 3. Paid bone 50000. Its tutorial is docs page docs/unlocks/polyculture.md.
    Bought pumpkins, now level 4. Paid carrot 16000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought polyculture, now level 4. Paid bone 250000. Its tutorial is docs page docs/unlocks/polyculture.md.
    Game time: 2h 47m 9s elapsed, 3h 12m 51s of budget remaining.
  241. 2h 47msaidPolyculture is now 80×. Restarting the master loop with the time-capped dinosaur phase.
  242. 2h 47mwrite_program name="master" · evidence
    result
    Saved master (35 lines).
    Game time: 2h 47m 19s elapsed, 3h 12m 41s of budget remaining.
  243. 2h 47mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +131072, carrot +398517, fertilizer +240, gold +16384, hay +790688, pumpkin +109056, water -1073, weird_substance -1024, wood +3323008.
    Game time: 2h 52m 29s elapsed, 3h 7m 31s of budget remaining.
    Output:
    17.76 23.61 29.18 42.37 0
    13.32 22.79 28.94 63.09 0
  244. 2h 52msaidWood is up 3.3M in 5 minutes. Spending on upgrades.
  245. 2h 52mbuy_upgrade upgrades=["grass","trees","watering","carrots","cactus","pumpkins","watering","grass"] · evidence
    result
    Bought grass, now level 7. Paid wood 312000.
    Bought trees, now level 7. Paid hay 307000. Its tutorial is docs page docs/unlocks/trees.md.
    Bought watering, now level 7. Paid wood 205000. Its tutorial is docs page docs/unlocks/watering.md.
    Bought carrots, now level 7. Paid wood 781000. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought cactus, now level 2. Paid pumpkin 20000. Its tutorial is …
  246. 2h 52mwait seconds=600 until_affordable="expand"
    result
    Waited 10m (time up). Program: master running.
    Inventory change: bone +21904, cactus +392616, carrot +859511, fertilizer +480, gold +30720, hay +1536000, pumpkin +218112, water +5779, weird_substance -1920, wood +6472704.
    Game time: 3h 2m 49s elapsed, 2h 57m 11s of budget remaining.
  247. 3h 02mbuy_upgrade upgrades=["mazes","grass","trees","carrots","watering"] · evidence
    result
    Bought mazes, now level 4. Paid cactus 432000. Its tutorial is docs page docs/unlocks/mazes.md.
    Bought grass, now level 8. Paid wood 1560000.
    Bought trees, now level 8. Paid hay 1230000. Its tutorial is docs page docs/unlocks/trees.md.
    Bought carrots, now level 8. Paid wood 3910000. Its tutorial is docs page docs/unlocks/carrots.md.
    Could not buy watering: Not enough resources.
    Game time: 3h 2m 59…
  248. 3h 02mwait seconds=600 until_affordable="expand"
    result
    Waited 4m 12s (expand is affordable). Program: master running.
    Inventory change: cactus +262144, carrot +1814139, fertilizer +134, gold +32768, hay +3287552, power +14.22, pumpkin +194560, water +1502, weird_substance +601152, wood +13027392.
    Game time: 3h 7m 21s elapsed, 2h 52m 39s of budget remaining.
  249. 3h 07mbuy_upgrade upgrades=["expand","watering","grass","dinosaurs"] · evidence
    result
    Bought expand, now level 8. Paid pumpkin 512000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought watering, now level 9. Paid wood 3280000. Its tutorial is docs page docs/unlocks/watering.md.
    Bought grass, now level 9. Paid wood 7810000.
    Bought dinosaurs, now level 4. Paid cactus 432000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Game time: 3h 7m 31s elapsed, 2h 52m 29s of budg…
  250. 3h 07msaidExpanded to 22×22. Weird substance is now plentiful, so I'm raising the maze cap to push toward 32 drones.
  251. 3h 07mstop_program
    result
    Program stopped.
    Game time: 3h 7m 41s elapsed, 2h 52m 19s of budget remaining.
  252. 3h 07mwrite_program name="master" · evidence
    result
    Saved master (35 lines).
    Game time: 3h 7m 51s elapsed, 2h 52m 9s of budget remaining.
  253. 3h 07mwrite_program name="master" · evidence
    result
    Saved master (35 lines).
    Game time: 3h 8m 1s elapsed, 2h 51m 59s of budget remaining.
  254. 3h 08mrun_program name="master" seconds=300
    result
    Ran master for 5m of game time; it is still running.
    Inventory change: cactus +468722, carrot +1998666, fertilizer +240, gold +50336, hay +5167872, pumpkin +90992, water +6438, weird_substance -2464, wood +14665856.
    Game time: 3h 13m 11s elapsed, 2h 46m 49s of budget remaining.
    Output:
    (none)
  255. 3h 13mwait seconds=300
    result
    Waited 5m (time up). Program: master running.
    Inventory change: cactus +468512, carrot +2133158, fertilizer +240, gold +50336, hay +4696064, pumpkin +90992, water +6109, weird_substance -2464, wood +14780800.
    Game time: 3h 18m 21s elapsed, 2h 41m 39s of budget remaining.
  256. 3h 18mobserve
    result
    Game time: 3h 18m 31s elapsed, 2h 41m 29s of budget remaining.
    Program: master (running).
    Inventory: hay 14024184, wood 33714993, carrot 7166824, pumpkin 208587, cactus 1063942, bone 38300, weird_substance 601479, gold 240752, water 31802, fertilizer 3744.
    Farm 22x22. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 med…
  257. 3h 18msaidLoop timings on 22×22: poly 39s, pumpkins 33s, cactus 98s, mazes 181s. Gold is at 240k, so I'm waiting until Megafarm is affordable.
  258. 3h 18mwait seconds=900 until_affordable="megafarm"
    result
    Waited 15m (time up). Program: master running.
    Inventory change: cactus +937024, carrot +5298642, fertilizer +720, gold +189728, hay +14413824, pumpkin +274908, water +18318, weird_substance -8448, wood +42377600.
    Game time: 3h 33m 41s elapsed, 2h 26m 19s of budget remaining.
  259. 3h 33mbuy_upgrade upgrades=["trees","carrots","pumpkins","cactus","dinosaurs","grass","trees","carrots","pumpkins"] · evidence
    result
    Bought trees, now level 9. Paid hay 4920000. Its tutorial is docs page docs/unlocks/trees.md.
    Bought carrots, now level 9. Paid wood 19500000. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought pumpkins, now level 6. Paid carrot 256000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought cactus, now level 3. Paid pumpkin 120000. Its tutorial is docs page docs/unlocks/cactus.md.
    Could…
  260. 3h 33mwait seconds=600 until_affordable="megafarm"
    result
    Waited 10m (time up). Program: master running.
    Inventory change: bone +25088, cactus +936112, carrot +3615800, fertilizer +480, gold +77440, hay +9165312, pumpkin +367840, water +13798, weird_substance -3520, wood +53172736.
    Game time: 3h 44m 1s elapsed, 2h 15m 59s of budget remaining.
  261. 3h 44mbuy_upgrade upgrades=["megafarm","dinosaurs","carrots","cactus"] · evidence
    result
    Could not buy megafarm: Not enough resources.
    Bought dinosaurs, now level 5. Paid cactus 2590000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Could not buy carrots: Not enough resources.
    Bought cactus, now level 4. Paid pumpkin 720000. Its tutorial is docs page docs/unlocks/cactus.md.
    Game time: 3h 44m 11s elapsed, 2h 15m 49s of budget remaining.
  262. 3h 44mwait seconds=400 until_affordable="megafarm"
    result
    Waited 1m 1s (megafarm is affordable). Program: master running.
    Inventory change: cactus +1874048, fertilizer +49, gold +3872, water +1549, weird_substance -176.
    Game time: 3h 45m 21s elapsed, 2h 14m 39s of budget remaining.
  263. 3h 45mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 5. Paid gold 512000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 3h 45m 31s elapsed, 2h 14m 29s of budget remaining.
  264. 3h 45msaidBought Megafarm level 5, so 32 drones now. Bones are the weakest resource, so I'm running the dinosaur phase more often and fewer mazes.
  265. 3h 45mstop_program
    result
    Program stopped.
    Game time: 3h 45m 41s elapsed, 2h 14m 19s of budget remaining.
  266. 3h 45mwrite_program name="master" · evidence
    result
    Saved master (35 lines).
    Game time: 3h 45m 51s elapsed, 2h 14m 9s of budget remaining.
  267. 3h 45mrun_program name="master" seconds=600
    result
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +26896, cactus +3746752, carrot +8995638, fertilizer +480, gold +61952, hay +24236544, pumpkin +1091904, water +11251, weird_substance -2816, wood +129207808.
    Game time: 3h 56m 1s elapsed, 2h 3m 59s of budget remaining.
    Output:
    27.67 16.9 52.6 80.23 0
    20.49 19.13 53.46 77.34 180.13
  268. 3h 56mbuy_upgrade upgrades=["debug_2"] · evidence
    result
    Bought debug_2, now level 1. Paid gold 500. Its tutorial is docs page docs/unlocks/debug2.md.
    Game time: 3h 56m 11s elapsed, 2h 3m 49s of budget remaining.
  269. 3h 56mdocs_search query="set_world_size"
    result
    docs/home.md: … [range](functions/range) [set](functions/set) [set_execution_speed](functions/set_execution_speed) [set_world_size](functions/set_world_size) [spawn_drone](functions/spawn_drone) [str](functions/str) [swap](functions/swap) [tap](functions/tap) [till](functions/till) [us…
    unlocks/debug_2: …## Debug_2 Functions to temporarily slow down the execution and make the farm smaller. set_wor…
  270. 3h 56msaidBought Debug_2. I'm running the dinosaur on a temporary 10×10 farm so apples are closer, then restoring 22×22.
  271. 3h 56mwrite_program name="dd" · evidence
    result
    Saved dd (9 lines).
    Game time: 3h 56m 31s elapsed, 2h 3m 29s of budget remaining.
  272. 3h 56mstop_program
    result
    Program stopped.
    Game time: 3h 56m 41s elapsed, 2h 3m 19s of budget remaining.
  273. 3h 56mrun_program name="dd" seconds=420
    result
    Ran dd for 3m 27s of game time; it finished.
    Inventory change: bone +150544, cactus -3136, fertilizer +165, hay +50688, water +5287.
    Game time: 4h 18s elapsed, 1h 59m 42s of budget remaining.
    Output:
    205.37 150544
  274. 4h 00msaidThat's 5× better: 150k bones in 205s on 10×10. Adding it to the master loop every round.
  275. 4h 00mwrite_program name="master" · evidence
    result
    Saved master (38 lines).
    Game time: 4h 28s elapsed, 1h 59m 32s of budget remaining.
  276. 4h 00mrun_program name="master" seconds=900
    result
    Ran master for 15m of game time; it is still running.
    Inventory change: bone +301088, cactus +5615872, carrot +9665942, fertilizer +720, gold +81312, hay +24545792, pumpkin +1091904, water +18597, weird_substance -3872, wood +135528960.
    Game time: 4h 15m 38s elapsed, 1h 44m 22s of budget remaining.
    Output:
    26.83 17.3 49.71 94.04 181.63
    27.07 18.28 53.73 67.6 217.69
  277. 4h 15msaidRunning well. Checking upgrades.
  278. 4h 15mbuy_upgrade upgrades=["polyculture","carrots","pumpkins","cactus","dinosaurs","mazes","simulation"] · evidence
    result
    Could not buy polyculture: Not enough resources.
    Bought carrots, now level 10. Paid wood 97700000. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought pumpkins, now level 8. Paid carrot 4100000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy cactus: Not enough resources.
    Could not buy dinosaurs: Not enough resources.
    Bought mazes, now level 5. Paid cactus 2590000. Its tuto…
  279. 4h 15mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 4/6; cost pumpkin 4320000; available, not affordable; tutorial docs/unlocks/cactus.md
      ## Cactus Increases the yield and cost of cactus. 800% => 1600%
    carrots (Carrots) level 10/10; maxed; tutorial docs/unlocks/carrots.md
      ## Carrots …
  280. 4h 15msaidExpand to 32×32 needs 4.1M pumpkins. I'm doubling pumpkin cycles per loop to get there sooner.
  281. 4h 15mstop_program
    result
    Program stopped.
    Game time: 4h 16m 8s elapsed, 1h 43m 52s of budget remaining.
  282. 4h 16mwrite_program name="master" · evidence
    result
    Saved master (38 lines).
    Game time: 4h 16m 18s elapsed, 1h 43m 42s of budget remaining.
  283. 4h 16mrun_program name="master" seconds=600
    result
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +150544, cactus +3744960, carrot +10926565, fertilizer +480, gold +77440, hay +17339904, pumpkin +3701632, water +11502, weird_substance -3872, wood +81247232.
    Game time: 4h 26m 28s elapsed, 1h 33m 32s of budget remaining.
    Output:
    20.44 50.82 49.86 79.59 212.52
  284. 4h 26mwait seconds=600 until_affordable="expand"
    result
    Waited 0s (expand is affordable). Program: master running.
    Inventory change: no change.
    Game time: 4h 26m 38s elapsed, 1h 33m 22s of budget remaining.
  285. 4h 26mstop_program
    result
    Program stopped.
    Game time: 4h 26m 48s elapsed, 1h 33m 12s of budget remaining.
  286. 4h 26mbuy_upgrade upgrades=["expand","pumpkins"] · evidence
    result
    Bought expand, now level 9. Paid pumpkin 4100000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought pumpkins, now level 9. Paid carrot 16400000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Game time: 4h 26m 58s elapsed, 1h 33m 2s of budget remaining.
  287. 4h 26mrun_program name="master" seconds=600
    result
    Ran master for 10m of game time; it is still running.
    Inventory change: bone +150544, cactus +8385472, carrot +30249424, fertilizer +480, gold +98304, hay +37638144, pumpkin +9420800, water +7200, weird_substance -3072, wood +233199104.
    Game time: 4h 37m 8s elapsed, 1h 22m 52s of budget remaining.
    Output:
    41.81 81.27 108.08 94.79 209.24
  288. 4h 37msaidExpanded to 32×32 and output roughly doubled. Buying the remaining upgrades I can afford.
  289. 4h 37mbuy_upgrade upgrades=["cactus","polyculture","pumpkins","cactus"] · evidence
    result
    Bought cactus, now level 5. Paid pumpkin 4320000. Its tutorial is docs page docs/unlocks/cactus.md.
    Could not buy polyculture: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Could not buy cactus: Not enough resources.
    Game time: 4h 37m 18s elapsed, 1h 22m 42s of budget remaining.
  290. 4h 37mwait seconds=900
    result
    Waited 15m (time up). Program: master running.
    Inventory change: bone +150544, cactus +33551296, carrot +12747107, fertilizer +720, gold +180224, hay +18271232, pumpkin +12517376, water +16785, weird_substance -6144, wood +111061504.
    Game time: 4h 52m 28s elapsed, 1h 7m 32s of budget remaining.
  291. 4h 52mbuy_upgrade upgrades=["dinosaurs","mazes","pumpkins","cactus","polyculture"] · evidence
    result
    Bought dinosaurs, now level 6. Paid cactus 15600000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Bought mazes, now level 6. Paid cactus 15600000. Its tutorial is docs page docs/unlocks/mazes.md.
    Bought pumpkins, now level 10. Paid carrot 65500000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy cactus: Not enough resources.
    Could not buy polyculture: Not enough resources…
  292. 4h 52mwait seconds=900
    result
    Waited 15m (time up). Program: master running.
    Inventory change: bone +602176, cactus +16765376, carrot +23891175, fertilizer +720, gold +196608, hay +38146560, pumpkin +31391744, water +12885, weird_substance -6144, wood +232809984.
    Game time: 5h 7m 48s elapsed, 52m 12s of budget remaining.
  293. 5h 07mbuy_upgrade upgrades=["cactus","polyculture"] · evidence
    result
    Bought cactus, now level 6. Paid pumpkin 25900000. Its tutorial is docs page docs/unlocks/cactus.md.
    Bought polyculture, now level 5. Paid bone 1250000. Its tutorial is docs page docs/unlocks/polyculture.md.
    Game time: 5h 7m 58s elapsed, 52m 2s of budget remaining.
  294. 5h 07msaidNearly every useful upgrade is bought. I'll let the master loop run for the rest of the budget.
  295. 5h 07mwait seconds=1500
    result
    Waited 25m (time up). Program: master running.
    Inventory change: bone +602176, cactus +100645888, carrot +55759036, fertilizer +1200, gold +589824, hay +72361984, pumpkin +31326208, water +28534, weird_substance -18432, wood +442883584.
    Game time: 5h 33m 8s elapsed, 26m 52s of budget remaining.
  296. 5h 33mwait seconds=1590
    result
    Waited 26m 30s (time up). Program: master running.
    Inventory change: bone +903264, cactus +100648576, carrot +83415362, fertilizer +1272, gold +589824, hay +111491584, pumpkin +46989312, water +25764, weird_substance -18432, wood +674606080.
    Game time: 5h 59m 48s elapsed, 12s of budget remaining.
  297. 5h 59mobserve
    result
    Game time: 5h 59m 58s elapsed, 2s of budget remaining.
    Program: master (running).
    Inventory: hay 357168920, wood 2013509585, carrot 164129627, pumpkin 104793147, cactus 243405110, bone 1851180, weird_substance 524967, gold 1921012, water 211030, fertilizer 11494.
    Farm 10x10. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small…
  298. 5h 59msaidI used the full 6-hour budget. The farm ended up producing 10 resource types, all running in parallel across 32 drones on a 32×32 farm. Inventory at the end (what I was holding; I spent a lot more than this on upgrades along the way, so total production is higher): | Resource | Amount | |---|---| | Wood | 2.01 billion | | Hay | 357 million | | Cactus | 243 million | | Carrot | 164 million | | Pumpkin | 105 million | | Gold | 1.92 million | | Bone | 1.85 million | | Weird substance | 525k | | Water | 211k | | Fertilizer | 11k | I also produced power from sunflowers, but the drones used it up as they went, so there's none left in the inventory. What drove it: - Main loop: one program repeats five phases, each split across the drones by column: 1. Mixed planting of grass, trees, carrots and sunflowers, placing each plant's preferred companion next to it for the polyculture bonus. 2. Pumpkin rounds that fill the whole farm so the pumpkins merge into one giant one. 3. A cactus round: plant the farm, sort every row and then every column, and harvest it all at once. 4. Mazes, where the drones split up at forks to find the treasure, which pays out gold. 5. A dinosaur snake run for bones. - Biggest gains: polyculture (it took wood from about 9k to 230k per few minutes), the parallel maze solver (enough gold for 32 drones), and the expansions up to 32×32. - Bones: the snake was slow on the full farm. Shrinking the farm to 10×10 just for the snake run made it about 5× faster, and that's when bones finally started coming in. Loose ends: - The budget ran out in the middle of a snake run (that's why the final view shows a 10×10 farm), so that run's bones were never collected. - Bones and gold are still far behind the crops, even after those fixes. - A few upgrades were never bought, including Auto Unlock, Leaderboard, Top Hat and the "?" unlock.
  299. 5h 59mrun_program name="hat" seconds=1
    result
    Ran hat for 0s of game time; it is still running.
    Inventory change: bone +10368.
    Game time: 6h elapsed, 0s of budget remaining.
    Output:
    (none) The game-time budget is used up. The run is over; stop now.
  300. 6h 00msaidThe run is over. I used the last 2 seconds to collect the unfinished dinosaur snake, which added 10,368 bones (about 1.86 million in total). All 6 hours of the budget are used, so I can't take any more actions. The final totals are the same as in my earlier summary, apart from those extra bones.

Thinking is shown as the agent reported it over ACP; some agents report a summary, not the full reasoning. Tool results are cut at 400 characters; program code is in evidence.json.

spentreported alongside the score, never folded into it

What it spent

API-equivalent cost (estimate)agent-session (one point per model request)

API-equivalent estimate at list prices; not an actual charge

Tokens

Input (uncached)1,715
Cache reads12,463,358
Cache writes156,984
Output69,620
Thinking (subset of output where reported)24,771
Total12,691,677
ModelTokensEstimate
claude-haiku-5-51,418$0.00015
claude-opus-5-512,690,259$5.14

Estimate: API-equivalent estimate at list prices; not an actual charge. Price table prices-2026-10-16b. The agent itself reported $5.14 (cost reported by the agent itself; plan or subscription billing may differ).

conditionsprovenance

Limitations

  • Recorded from a harness checkout with uncommitted changes.
Run ideconomy-v1-claude-opus-s2-a1-20261016T183729Z
Taskeconomy-v1 · acb5fb455a43
Budget6h 00m game time · 10s per action · caps: 2,000 tool calls, 20 continuations, 4h 00m real time
AgentClaude Agent 0.91.0 (@agentclientprotocol/claude-agent-acp)
Applied config{"model":"opus","effort":"medium","fast":"off"}
Models reportedclaude-opus-5-5, claude-haiku-5-5
Tools availablebuy_upgrade, docs_list, docs_read, docs_search, inspect_tile, list_programs, observe, research, run_program, stop_program, wait, write_program
Harnesse5a6d3888fcb (uncommitted changes)
Bridge / game3ee9b950dce5 / 953fea25964f
Adaptersclaude-agent-acp 0.91.0, codex-acp 2.2.2, acp-sdk 1.8.0, mcp-sdk 1.32.1
Rubrics
economy-v1 (headline) · Σ over resources of log10(1 + produced) · 51746c5bec27
economy-weighted-v1 · scores 9.08 · log10(1 + Σ w_r × produced_r), weights from late-game sink prices · 228b39065cbd
Started / ended2026-10-16T18:37:29.384Z → 2026-10-16T18:51:40.781Z
Evidence118 items in evidence.json