World Explorer Docs
PagesArcade playtest, 5 October 2026
Play GitHub

World Explorer: arcade playtest, 5 October 2026

How engaging and how meaningful the arcade is at each difficulty, measured by bots that play it through the keyboard, with the numbers behind each claim. A short look at the campaign start is at the end. Build: commit 2031ef4.

How it was played

A bot drove build/dev.html in Chromium (Playwright) through real key presses: WASD to steer (eight directions, as a person on a keyboard), Shift past missiles, Space for the pulse, E for the EMP, F for stasis, Q for a repair kit. Guns fire by themselves. At the depot the bot clicks the Buy buttons. Game time is the game's own run_time, not the wall clock.

Bot How it flies How it buys
decent holds 320 m from raiders and circles them; sees two shots in three, 0.2 s late, and steps aside; picks up salvage when fewer than three raiders are close; pulse at three raiders within 380 m, EMP at six within 550 m or when hurt, stasis at eight repair below 75% hull, keep two repair kits, then modules by value per price (Prism, Hotter plasma, Rapid resonance, Phase armor, Shield capacitor, drones, nanites, pulse modules); with the modules bought, a sturdier ship; EMPs up to three
casual holds 250 m; sees two shots in five, 0.3 s late; pulse at four raiders; EMP only below 35% hull; no stasis as decent
expert holds 75% of gun reach, sees every shot at once as decent
greedy dives at the nearest raider and every pickup, pulse whenever a raider is within 400 m damage modules only, repairs below 30%
passive sits still, never presses anything nothing

27 runs: decent with three seeds at each difficulty, the others with one or two, and decent once with each other gun. 18 more runs on the same build repeated the decent and casual ones with other seeds, the guns bought without saving up, and each raider shot tagged with who fired it; the verdict counts both sets, the tables below are the first set. A seed does not replay a run exactly (the menu's animations draw from the same dice), so two runs of one seed differ. A death restarts the world from its first wave, as loading an arcade save does; three deaths in one world end the run. The bot scripts, every run's record and frames every 3 s of one run are in data/playtest/ (not in git).

Verdict

Difficulty Engaging Meaningful
CHILL For one world. Haven costs the decent bot 23 hull and shield over the world; from Verdant on, 2 to 44 a world, and no hull at all. No. Every bot won, none died, and it ends with 2500 to 6500 salvage it could not use.
NORMAL For two worlds and the last flagship. Haven's flagship wave is the hardest moment of the run: the casual bot lost 120 to 230 hull there. From Dustfall to Nova Forge a wave costs the decent bot 0 hull. Barely. The depot matters for two visits; after that it is "buy a bigger ship, buy EMPs". Decent won 7 of 7 runs, casual 5 of 6; the one loss died three times in Verdant.
OVERLOAD Yes, unevenly. Haven and Verdant hurt (180 to 300 lost a world), the middle relaxes, and Eclipse's flagship is a wall. More than the others, but the wall decides it: the decent bot won 2 of 6 runs, the casual bot 0 of 3, and most of their deaths are in Eclipse.

A whole run takes 6 to 8 minutes of game time: a world 40 to 90 s, a wave 10 to 25 s. The pace is dense. Stretches with no raider in view longer than 4 s add up to 0 to 22 s a world.

The numbers

A run at each difficulty

Run Runs Won Deaths Run time Score Salvage left
CHILL decent 3 3 0, 0, 0 422, 426, 455 s 652k 2488
CHILL casual 1 1 0 449 s 497k 2807
CHILL greedy 1 1 0 500 s 829k 6530
NORMAL decent 3 3 0, 0, 0 377, 395, 373 s 689k 2034
NORMAL casual 2 2 0, 0 378, 389 s 544k 2349
NORMAL expert 1 1 0 420 s 721k 2288
NORMAL greedy 1 0 5 (Nova Forge, Eclipse) 349 s 662k 4263
OVERLOAD decent 3 1 4, 4, 0 456, 404, 424 s 697k 2114
OVERLOAD casual 1 0 4 (Dustfall, Eclipse) 398 s 588k 2353
OVERLOAD expert 1 1 0 497 s 645k 1849
OVERLOAD greedy 1 0 3 (Dustfall) 152 s 200k 793
passive, each mode 1 0 3 in Haven 9 to 56 s 0 to 6k 0

Damage per world, NORMAL

Hull lost per wave (1 / 2 / 3), all damage taken (hull and shield), the biggest sources, and the salvage the bot brought to the depot. Means of the runs.

World decent: hull lost decent: all casual: hull lost casual: all casual: biggest sources salvage at the depot (decent)
Haven 11 / 9 / 124 144 32 / 8 / 173 213 plasma 168, flagship ram 18 524
Verdant 0 / 0 / 12 71 0 / 0 / 50 99 scatter 88, blasts 12 587
Dustfall 0 / 0 / 0 19 0 / 0 / 35 115 seekers 89, darts 24 686
Ion Reach 0 / 0 / 0 19 0 / 0 / 18 95 ion 90 764
Obsidian 0 / 0 / 0 52 0 / 0 / 0 80 rail 79 1059
Cryosphere 0 / 0 / 0 33 0 / 0 / 0 31 scatter 31 1449
Nova Forge 0 / 0 / 0 35 0 / 0 / 0 36 seekers 22, torpedoes 10 1352
Eclipse 0 / 0 / 0 120 0 / 0 / 101 252 rail 250 (run ends)

From Obsidian on the bot flies a Mule or a Bastion with a shield, so the hull column reads 0 while the shield takes the hits; the "all" columns count both.

Damage per world, OVERLOAD

World decent: hull lost decent: all decent deaths (3 runs) casual: all casual: biggest sources
Haven 22 / 36 / 177 242 2 131 plasma 126
Verdant 8 / 3 / 137 187 0 288 scatter 288
Dustfall 0 / 3 / 12 58 0 577 seekers 395, darts 125
Ion Reach 0 / 0 / 0 60 0 234 ion 226
Obsidian 0 / 0 / 51 171 0 286 rail 234
Cryosphere 0 / 0 / 6 79 0 95 scatter 76
Nova Forge 0 / 0 / 4 127 0 483 torpedoes 229, seekers 183
Eclipse wave 3: 420 to 530 a try 730 to 2200 6 1811 rail 1784

Kills and the pulse, NORMAL (decent)

World Raiders (kinds) Kills: gun / pulse / EMP / chain / blast Pulses EMPs Pulse full but unused
Haven 34 chasers, 21 shooters, 5 elites, the flagship 19 / 24 / 15 / 1 / 2 5.7 2.0 13% of the fighting
Verdant 41 shards, 21 chasers, 18 splitters, 12 shooters, 8 tanks, 5 elites 52 / 17 / 27 / 2 / 9 7.7 4.3 43%
Dustfall 23 chasers, 21 shooters, 14 tanks, 7 lancers, 5 elites 58 / 7 / 4 / 0 / 2 4.7 1.3 49%
Ion Reach 22 shooters, 21 chasers, 18 shards, 12 lancers, 9 tanks, 9 splitters 60 / 19 / 15 / 1 / 2 6.7 3.7 41%
Obsidian 31 tanks, 24 shooters, 22 chasers 50 / 10 / 24 / 0 / 1 7.3 4.7 57%
Cryosphere 40 shooters, 19 chasers, 17 tanks, 11 shards 73 / 13 / 13 / 2 / 1 7.0 4.3 60%
Nova Forge 36 tanks, 27 chasers, 22 shooters 63 / 12 / 22 / 4 / 4 9.7 5.3 41%
Eclipse 45 shooters, 25 tanks, 15 chasers, 12 lancers 79 / 15 / 10 / 4 / 1 10.3 6.0 29%

"Pulse full but unused" is the share of time with a raider within 700 m and the pulse at 100. It is high from Verdant on because raiders die before they come close enough to be worth a pulse.

Salvage in and out

Where a world's salvage comes from (NORMAL, decent, one run): rocks 120 to 525, kills 50 to 290, the flagship 120, map caches 40 to 180, the clear bonus 80 to 320. Rocks are the largest source from Ion Reach on.

What the decent bot bought, NORMAL seed 1:

Depot after Salvage Bought Left
Haven 471 Hotter plasma 1-3, Rapid resonance 1-2, Prism 1, Phase armor 1, Shield capacitor 1, EMP 0
Verdant 773 Prism 2, Phase armor 2-3, Shield capacitor 2, Hotter plasma 4-5, Rapid resonance 3, Pulse amplifier 1, Pulse reactor 1, nanites 1 3
Dustfall 617 Shield capacitor 3, drones 1-2, Pulse amplifier 2-3, Pulse reactor 2, nanites 2, Guided plasma 1 20
Ion Reach 652 the last levels of drones, reactor, nanites, guided plasma; 3 EMPs 119
Obsidian 1164 Mule Prospector (530), 3 EMPs 556
Cryosphere 1287 Bastion Gunship (1150), 2 EMPs 85
Nova Forge 1231 an EMP 1205

The whole offence (Prism, Hotter plasma, Rapid resonance: 758 salvage) is bought by the second depot. The greedy bot, which buys nothing but offence, had nothing left to buy from the third depot on and carried 900 to 4000 salvage through the rest of the run.

Guns

The decent bot keeps the Pulse cannon unless told to buy another gun. Each other gun was tried on NORMAL, seed 1, once saving up for it and once buying it at the first depot that could pay after a repair.

Gun Bought Result
Pulse cannon (start) won in 3 of 3 runs, 0 deaths, 373 to 395 s, Eclipse 120 taken
Shard shotgun 210 first depot won, 0 deaths, 435 s; Eclipse 374 taken
Ion disruptor 300 first or second depot won twice, 0 deaths, 373 and 401 s; about the cannon
Seeker launcher 390 first depot won, 0 deaths, 499 s; Ion Reach 341, Obsidian 350 and Eclipse 729 taken
Lance railgun 390 saved up from the first depot died 3 times in Verdant: the salvage went to the gun, not to modules
Lance railgun 390 second depot won, 0 deaths, 525 s; Dustfall took 155 s; Eclipse 578 taken
Flux beam 525 saved up died 3 times in Verdant, the same way
Flux beam 525 third depot won after 2 deaths in Eclipse, 435 s; the beam's drain kept the pulse low (full 2 to 13% of the time against 30 to 60%)

Prism adds bolts to the cannon and the ion gun and pellets to the shotgun, and the cannon costs nothing. No gun beat it on any count: time, damage taken or deaths.

What works

  • The pace. Squadrons arrive every 3 to 4 s, a world is over in under a minute and a half, and the bot found almost no dead time.
  • Every flagship wave is an event. The ring, the escorts at 66% and the last stand at 33% make wave 3 the busiest part of every world (14 to 24 raiders alive at the peak).
  • Movement is the skill, as it should be. On NORMAL the passive bot dies in Haven in 11 to 15 s, the casual one takes 213 there, the decent one 144, the expert 49.
  • Each world hurts in its own way. The sources follow the world's gun: scatter in Verdant, seekers in Dustfall, ion in Ion Reach, rails in Obsidian and Eclipse, torpedoes in Nova Forge.
  • The abilities pull their weight early. The pulse and the EMP make 64% of Haven's kills on NORMAL and 41% of Verdant's.

Problems, ranked

  1. The difficulty runs backwards. The worst of the run is Haven's flagship wave (NORMAL casual: 173 of its 213), where the chasers' guns deal 47% of Haven's damage and the flagship's ring 27%. From Dustfall to Nova Forge the decent bot loses 0 hull a wave on NORMAL and CHILL. Your offence grows about forty times (cannon 74 damage a second at the start, about 3000 with Prism 2, Hotter plasma 5, Rapid resonance 3 and tier 5); a chaser's hull grows four times (44 to 191) and its armour and shield only to 33% and 100, because the arcade halves them (arcade_defense). Late raiders die before they reach the screen.
  2. OVERLOAD ends in a wall of rails. On OVERLOAD the decent bot lost 0 to 51 hull a wave from Dustfall to Nova Forge, then died in Eclipse three times in two of three seeds; the third got through with 504 hull lost in the flagship wave and nine repair kits. Eclipse cost it 730 to 2200, and Eclipse holds 9 of the 12 deaths the decent and casual bots had on OVERLOAD. The killer is not the flagship: every raider there fires a rail, 63 a hit (30 × 1.75 for the mode × 1.2 for OVERLOAD), at 1250 m/s, tanks every 1.1 s and the rest every 1.4 s. Of Eclipse's damage, tanks dealt 29%, shooters 23%, lancers 19%, the flagship's aimed shot 14%, its ring 2%. A rail crosses 400 m in a third of a second, so it cannot be dodged the way the other guns can.
  3. Upgrades stop mattering after the second depot. The offence costs 758 salvage and is bought out by then; the third and fourth depots fill the rest of the useful modules. From the fifth on the only choices left are a bigger ship and more EMPs.
  4. Salvage is tight for two depots, then loose. 470 to 590 at the first two, 1000 to 1450 from Obsidian on; 1500 to 3100 is left at the end (6500 for the greedy bot). At 10 points each it is worth 15k to 30k of a 650k score, so keeping it is not a real choice either.
  5. Guns are never right. No gun beat the Pulse cannon with Prism; the railgun and the launcher made runs 30% longer, and saving up for the railgun or the beam was fatal in Verdant.
  6. Reading the fight. Raiders come in at 640 m and are fought at 300 to 430 m, which is the edge of a 1600 × 900 window; squadrons from the north pass under the score and the RAIDERS banner, and the flagship bar covers them (frames in data/playtest/). From Obsidian on most kills happen off the screen. This is layout and zoom, not numbers; noted, not changed.
  7. The EMP is cheap. 26 salvage for 160 + 12 × threat to every raider within 650 m: it clears a Haven or Verdant squadron outright (15 to 27 kills a world on NORMAL). Not changed: once the offence is bought the bot has salvage to spare anyway, and problem 1 is the bigger one.

Decisions for the author

  • Should the shop cost more, or salvage come slower? Problems 3 and 4 are one question: how many depots should still offer a hard choice? A price factor for modules in the arcade (as arcade_ship_price is for ships) or fewer artifacts from rocks would stretch the offence over four or five depots. It changes how the run feels, so it is yours.
  • What is a gun for in the arcade? Today a gun is a side grade at best. Making one right for a world (rails against Obsidian's armour, ion against Cryosphere's shields) needs raiders with more armour and shield than the arcade's half share (arcade_defense) gives them, or numbers of the gun's own.
  • What should a rail be in the arcade? It is the one raider gun you cannot dodge, and on OVERLOAD the mode makes it fire every 1.1 to 1.4 s for 63. Slower rails (dodgeable), rarer rails, or lighter rails each fix Eclipse differently; which one keeps the rail's character is yours.
  • The flagship's ring count. 18 shots a volley in every world but Dustfall, where it is 10: (wave === 5) ? 10 : (wave === 10) ? 14 : 18 in src/js/update.js keys on the campaign's old sector numbers, and Dustfall's threat is 5. A ring that grows with the world is a design choice; the ring deals 27% of Haven's damage and 2% of Eclipse's, so it is not urgent.
  • Unspent salvage at the end. 10 points each is too little to make saving a strategy. Worth more, or nothing?

The campaign start

  • A new campaign starts docked at Haven Anchorage with 90 salvage and four contracts on the board (story, lure, hunt, mining). The NEXT strip says what to do: take a contract, or open the map.
  • With "Clear the patrol lanes" taken and the guide flying (T), the bot only pressed T. In 3 minutes the guns killed 23 raiders, 1 or 2 at a time, and the ship lost 22 hull. The second stage (destroy 10) took about 100 s of waiting at its marker.
  • It is safe and slow, the opposite of the arcade. Salvage went from 90 to 123 before the contract's 360.