leaderboard/gemini-4-argon-cursor-mediumrank 1

Gemini 4 Argon

Google · in Cursor · medium reasoning effort

All 3 seeds

Parked a drone on every square of the maze

On every seed Argon worked the game's economy out in detail, then ran one large program with 32 drones on a 32×32 field and reached the top level of every production upgrade, by 3h22m at the latest. Its crops were in the same range as Opus's and Sol's; the lead came from weird substance in the hundreds of millions and from a maze with a drone parked on every square, which made eight to twenty times Opus's gold on the same seeds. Its three seeds finished between 82.69 and 84.84, at $2.88 to $4.30 a seed.

84.01 mean84.50 / 82.69 / 84.84 by seed$3.71 a runRead the write-up

at-a-glanceeditorial, from the write-up

At a glance

What worked

  • 32 drones and a 32×32 field by 1h57m on seed 1 and by 3h16m at the latest, then the top level of every production upgrade by 3h22m. [1][2][3][4]
  • A 5×5 maze with a drone on every square, which made 1.36 million gold in a minute on seed 2 and 52 to 70 million over each game. [1][2]
  • About 500 million weird substance on every seed (482 to 514 million), where Opus made 0.6 to 1.4 million. [1][2]
  • Three seeds within 2.2 points of each other (82.69 to 84.84).

Where it struggled

  • Its full-field dinosaur paid 33.5 million bones a run but took about half an hour each; an hour of it on seed 2 added 1.83 points, under a third of what the last 92 minutes added. [1][2]
write-up.mdeditorial · across the seeds

Two programs, one always running

The game won’t let an agent edit a program while it runs. On seed 1, two and a half minutes in, Argon’s edit was refused, and two minutes later it had found a way round it:

… I can write to non-running programs, `main` and `p1`, without needing to stop them first. …
Gemini 4 Argon thought, seed 1 at 4m 23s · in the log · thinking as the agent reported it

From then on it kept two programs, main and p1, and wrote each new version into whichever wasn’t running, then switched to it: 32 versions between them, with the farm never stopped. On seeds 2 and 3 it kept to a single main, stopped and rewrote it (37 and 34 revisions). Its thinking on seed 1 is full of arithmetic like this, working out costs and yields before each purchase. Cursor recorded no thinking on seeds 2 and 3, so there the code is the only record of its reasoning.

Weird substance on a checkerboard

Weird substance comes from infected plants, and it is what mazes are made from. On seed 1, 28 minutes in, Argon’s thinking worked out a rule for making more of it:

… using `Weird_Substance` on even tiles only affects odd neighbors, guaranteeing even tiles remain uninfected …
Gemini 4 Argon thought, seed 1 at 28m 55s · in the log · thinking as the agent reported it

Its crop program puts trees on every square where x + y is even, and uses a weird substance on each of those trees just before harvesting it, up to a cap of 500 million:

main.pyseed 1 · r17 · written at 2h 46m · ran · lines 447–468 of 527in the run
        for y in range(ws):
            px = get_pos_x()
            py = get_pos_y()
            if can_harvest():
                if get_entity_type() == Entities.Tree and (px + py) % 2 == 0:
                    if num_items(Items.Weird_Substance) < 500000000 and num_items(Items.Weird_Substance) > max_drones():
                        use_item(Items.Weird_Substance)
                harvest()
            elif get_entity_type() == Entities.Pumpkin or get_entity_type() == Entities.Cactus or get_entity_type() == Entities.Sunflower:
                till()
                till()

            pos = (px, py)
            if pos in companions:
                want = companions[pos]
            else:
                if (px + py) % 2 == 0:
                    want = Entities.Tree
                elif py % 2 == 0:
                    want = Entities.Carrot
                else:
                    want = Entities.Grass

Seed 1's final crop worker: trees go on even squares, and each gets a weird substance just before it is harvested.

The first version made 1,232 weird substance in 70 seconds, and the first gold followed two minutes later. On seeds 2 and 3 the crop programs fertilized as they planted instead, and fertilized plants come out infected. By different routes, all three seeds ended on 482 to 514 million weird substance. On the same seeds Opus produced 0.6 to 1.4 million, most of which it spent on mazes.

The farm bought its own upgrades

On seed 1, 47 minutes in, Argon bought Auto Unlock and saw what it allowed:

… I can call `unlock()` directly within my loop, bypassing tool calls entirely. …
Gemini 4 Argon thought, seed 1 at 47m 28s · in the log · thinking as the agent reported it

The next version of its main loop buys upgrades as it goes, after the phase that pays for them:

main.pyseed 1 · r10 · written at 47m 28s · ran · lines 394–412 of 412in the run
while True:
	if num_items(Items.Power) < 200 and num_items(Items.Carrot) >= 200:
		farm_power()
	if num_items(Items.Cactus) < 25000 and num_items(Items.Pumpkin) >= 400:
		do_cactus_field()
		unlock(Unlocks.Dinosaurs)
	if num_items(Items.Bone) < 30000 and num_items(Items.Cactus) >= 500:
		do_dinosaur()
		unlock(Unlocks.Polyculture)
	if num_items(Items.Pumpkin) < 70000 and num_items(Items.Carrot) >= 18000:
		unlock(Unlocks.Pumpkins)
		while num_items(Items.Pumpkin) < 70000 and num_items(Items.Carrot) >= 2000:
			do_giant_pumpkin()
	run_parallel_cols(basics_cols)
	unlock(Unlocks.Trees)
	unlock(Unlocks.Carrots)
	unlock(Unlocks.Grass)
	unlock(Unlocks.Watering)
	unlock(Unlocks.Fertilizer)

Seed 1 at 47m: each phase is followed by unlock() calls for the upgrades it pays for.

From then on its programs bought 60 of seed 1’s 120 upgrades, including the last three Megafarm levels, and the farm had 32 drones by 1h41m and the full 32×32 field by 1h57m. Opus, Sol and Grok never call unlock(), and Argon didn’t again on seeds 2 or 3, which bought every upgrade by hand and finished the tree about an hour later. Seed 3 still scored highest of the three, so this was a matter of style more than of score.

A drone on every square of the maze

Mazes turn weird substance into gold, and a maze can be reused: weird substance on its treasure collects it and moves it somewhere else in the maze. Opus, on seed 1, gave each drone its own small maze and went back to one shared maze with every drone hunting the treasure. Argon read the same documentation on seed 1 at 1h10m and took a different line: if the treasure keeps moving, put a drone wherever it might land.

By the end of every seed its gold phase worked the same way: shrink the field to 5×5, send a drone to each of the 25 squares, and have each one wait. Whichever drone the treasure appears under spends weird substance on it, which pays out and moves it on:

main.pyseed 3 · r34 · written at 4h 34m · ran · lines 79–86 of 413in the run
def maze_drone(pos):
	move_to(pos[0], pos[1])
	sub = 5 * (2 ** (num_unlocked(Unlocks.Mazes) - 1))
	while num_items(Items.Power) > 1000 and num_items(Items.Gold) < 105000000 and num_items(Items.Weird_Substance) >= sub * 50:
		if get_entity_type() == Entities.Treasure:
			use_item(Items.Weird_Substance, sub)
			if get_entity_type() == Entities.Treasure:
				harvest()

Seed 3: each of the 25 drones stands on its own square and reuses the treasure whenever it lands there.

Once they are in place, no drone walks the maze. On seed 2 the design arrived at 4h24m, and its first full minute made 1,357,600 gold; seed 3 had it from 2h48m. Gold finished at 70 million on seed 1, 52 million on seed 2 and 56 million on seed 3, against Opus’s 8.9, 2.6 and 6.0 million on the same seeds.

Seed 2 at 4h26m: the field shrinks to a 5×5 maze with a drone on every square, and the treasure is collected wherever it lands. Exact replay of seed 2, 4h 26m–4h 26m, running main.py · 4× speed · the run

A tail as long as the field

Bones come from a dinosaur that grows a tail by eating apples, paid out when the hat comes off. On seed 1 Argon shrank the field to 16×16 for the dinosaur, much as Opus did at 10×10. On seeds 2 and 3 it went the other way: a path through all 1,024 squares of the full field, which the tail fills until the dinosaur can’t move.

Seed 3 from 3h23m, 41 minutes at 80×: the dinosaur follows one path through every square of the 32×32 field, its tail filling it column by column, before the loop moves on to the 5×5 maze. Exact replay of seed 3, 3h 23m–4h 04m, running main.py · 80× speed · the run

Each of those runs paid 33,488,928 bones, but took about half an hour. On seed 2 the dinosaur phase ran for 59 minutes, paying out half an hour in and again, and added 1.83 points; on seed 3 one run took most of 41 minutes. Bones were already in the millions by then, and the score rewards each tenfold the same, so these were long hours for little score.

What decided the score

Argon’s crops were in the same range as Opus’s and Sol’s, hundreds of millions to billions each of hay, wood and carrots: ahead of both on seeds 1 and 3, behind Sol on seed 2. Where it pulled away was everything else. On seed 3, its crops scored 2.3 points more than Opus’s, but weird substance scored 8.7 points against 6.2, cactus 9.1 against 7.9, pumpkins 8.5 against 7.5 and gold 7.8 against 6.8:

Score on seed 3over game time
Gemini 4 Argon84.8Claude Opus 5.575.4
Score on seed 3: Argon 84.84, Opus 75.45. Opus led at the hour; Argon passed it by 1h30m and stayed ahead.

After every upgrade was bought, its last stint ran uninterrupted to the end of the game, for 1h25m to 3h13m. On seed 3 a ten-minute stretch of that program made 9.0 billion wood, 1.1 billion hay and 1.1 billion carrots. Each run cost $2.88 to $4.30.

The numbers every valid seed, from the published runs

pointslog₁₀(1 + produced)

Where the points came from

ResourceSeed 1Seed 2Seed 3Mean
Hay8.848.639.108.86
Wood9.728.7610.049.51
Carrot8.828.759.128.90
Pumpkin8.598.628.538.58
Cactus9.068.629.068.92
Power5.355.345.295.33
Bone7.777.857.567.73
Weird substance8.718.698.688.70
Gold7.857.717.757.77
Water5.615.555.555.57
Fertilizer4.174.174.164.17
Total84.5082.6984.8484.01
unlocksfirst produced, game time

When each resource was first produced

ResourceSeed 1Seed 2Seed 3
Hay50s1m 10s1m 00s
Wood4m 50s6m 40s6m 40s
Carrot9m 00s11m 10s12m 10s
Pumpkin23m 40s35m 40s29m 20s
Cactus44m 50s1h 09m1h 01m
Power32m 20s35m 00s45m 40s
Water11m 50s17m 30s15m 30s
Fertilizer22m 30s22m 30s20m 50s
Weird substance26m 30s42m 40s45m 40s
Gold32m 40s50m 40s1h 04m
Bone49m 30s1h 15m1h 05m
how-it-playsper seed, from the export's behaviour block

How it plays

MeasureSeed 1Seed 2Seed 3MeanAll models
Resources openedscored resources produced at least once11 of 1111 of 1111 of 1111 of 119.5 of 11
Studydocs and research reads5868536048
Action overheadgame time spent looking, reading and typing (10 s per call)12%15%16%14%10%
Tool callsevery action the agent took260314356310225
Program writesaccepted saves of a program3238383636
Program stintstimes a program was started and left running3337423741
Median stinthow long a program usually ran before the next change3m 30s4m 00s3m 01s3m 30s7m 29s
Cost per pointAPI-equivalent estimate ÷ score$0.047$0.052$0.034$0.044$0.053
runs3 valid