Mecha Skirmish Packet snapshot 2026-09-05

Simulator

A deterministic implementation of the rules that fights assembled mechs against each other about ten thousand games a second, and shows any single fight die by die. It is the evidence behind every number in the rulebook and the source of truth for the rules as we move toward a production engine. Design notes.

Bench tab: two teams of three mechs being assembled from parts, with weight gauges and hit tapes
Bench: assemble rosters. The colored tape under each mech is its d20 hit table.
Battle tab: per-part durability cards beside a log where every die is shown
Battle: one seeded game, scrubbed activation by activation, every die visible.
Batch tab: win rates, round histogram, weapon and build tables from 500 games
Batch: thousands of games aggregated into weapon, part and build statistics.

What it has told us so far

Terrain, line of sight and zones — 2026-09-05

Second batch, same rosters and seeds as the baseline, after the simulator gained terrain, elevation, line of sight, cover from geometry, zone scoring, and an AI that evaluates positions (modifier-aware shot value, threat, cover, high ground, zones). Crit margin is Armor + 4.

pnpm sim batch --a courier,foreman,reaver --b bastion,foreman,courier --map quarry -n 1000 --seed 1
pnpm sim batch --a courier,foreman,reaver --b bastion,foreman,courier -n 1000 --seed 1     # open field, deploy columns
=== quarry
  A  Courier, Foreman, Reaver           win  34.4%   avg kills 0.6
  B  Bastion, Foreman, Courier          win  65.6%   avg kills 1.3
  draws 0.0%   wipes 11.4%   avg rounds 6.9   first kill round 4.3
  map quarry   zone points/game A 5.7  B 5.6
  rounds  4:1  5:14  6:40  7:945

  weapon           fires shots   hit% glance  full  crit cover dmg/shot dmg/hit kills
  Rifle arm        13552 13552  51.5%  35.5% 57.1%  7.1%  0.3%      2.8     5.5   604
  Missile rack      9434 18678  51.3%  35.8% 56.8%  7.0%  0.4%      1.8     3.5   407
  Cannon arm        6317  6317  42.9%   7.0% 58.3% 32.2%  2.5%      4.0     9.3   522
  Autocannon arm    4776 14091  53.5%  50.4% 47.2%  1.8%  0.5%      1.3     2.4   240
  Pulse arm         1839  3659  48.3%  64.3% 32.5%  2.8%  0.5%      0.5     1.1    43
  Blade arm          177   177  66.1%  13.7% 63.2% 23.1%  0.0%      4.9     7.4    31

=== open field
  A  Courier, Foreman, Reaver           win  20.4%   avg kills 0.4
  B  Bastion, Foreman, Courier          win  79.6%   avg kills 1.2
  draws 0.0%   wipes 8.5%   avg rounds 7.0   first kill round 4.3

What it says

  1. Lethality collapsed once mechs stopped walking into each other. Kills per game fell from about 1.7 to 0.6–1.3 and wipes from 18% to 8–11%. The positional AI trades at long range from cover instead of closing; first kill moved from round 2.6 to round 4.3. Seven rounds now feel short for a kill-based decision and right for a zone-based one.
  2. Zones decide the map games, kills break the tie. 5.7 vs 5.6 zone points per game is near parity; the 34/66 split comes from the Bastion's cannon converting a few long shots into kills. That is the intended shape of the objective layer, at a lethality that is probably too low.
  3. Range beats everything on the open field. B wins 80% on flat ground with the same rosters that were 58% on the old charging AI. When nobody has to close, the twelve-hex cannon and ten-hex missiles decide games. The map narrows the gap to 66%: buildings and foliage break the long sightlines. This is the strongest argument yet for hand-crafted maps over open boards.
  4. Melee never happens. 177 blade attacks in 1000 games. The AI has no reason to close through fire, and no melee system (F11) rewards it. Blade and jump legs are dead weight until FEAT-009.
  5. Autocannon fell from king to middling. 63% hit and 2200 kills on the open charge became 53% and 240 kills. Its six-hex range keeps it out of most engagements now. Rifles and missiles carry the damage.
  6. Cover is doing its job quietly. Only 0.3–2.5% of hits land on cover because the AI avoids shooting into hard cover (modifier-aware valuation). The rule works by deterrence, which is what a cover rule should do.
  7. Speed. The positional AI costs a hundredfold: 80–130 games per second instead of ten thousand. Fine for thousand-game batches; a sweep tool will want sight caching (filed).

Next

Tuning targets, in order: lethality on maps (round cap, weapon ranges, or armor), the range-dominance of the Cannon and Missile rack, the melee system, and an AI aggression knob so we can tell rule problems from bot problems (TASK-001, TASK-007).


Tuning baseline — 2026-09-05

First batch against the rulebook v0 placeholder numbers. Default kits, board edges deployment, no cover, no elevation.

pnpm sim batch --a courier,foreman,reaver --b bastion,foreman,courier -n 2000 --seed 1
Batch: 2000 games, seeds 1..2000, 0.21s
  A  Courier, Foreman, Reaver           win  42.1%   avg kills 1.6
  B  Bastion, Foreman, Courier          win  57.9%   avg kills 1.8
  draws 0.0%   wipes 18.3%   avg rounds 6.9   first kill round 2.6
  rounds  4:9  5:31  6:99  7:1861

  weapon           fires shots   hit% glance  full  crit cover dmg/shot dmg/hit kills
  Autocannon arm   21889 63492  63.2%  49.3% 42.2%  8.5%  0.0%      1.5     2.4  2209
  Cannon arm       12705 12705  58.6%   5.0% 41.6% 53.3%  0.0%      5.5     9.4  2173
  Blade arm         5674  5674  90.8%  20.2% 47.7% 32.1%  0.0%      6.8     7.5  1042
  Missile rack      9706 19035  52.2%  27.1% 47.9% 25.0%  0.0%      1.9     3.7   721
  Rifle arm         8993  8993  52.2%  26.7% 49.4% 23.9%  0.0%      3.0     5.8   585
  Pulse arm         4500  8960  31.9%  56.2% 38.1%  5.7%  0.0%      0.4     1.3    74

  parts destroyed  Head 2061  R Arm 2571  L Arm 2530  Core 6818  Back 2986  Legs 3155
  stress rolls 1806: vents 595  exposed 884  meltdowns 327
  lock-ons 9217/15021

  build                  survive kills/g dealt/g taken/g
  A: Courier                2.4%     0.1     4.7    24.0
  A: Foreman               47.3%     0.5    24.6    23.8
  A: Reaver                66.8%     1.0    38.7    23.1
  B: Bastion               99.0%     1.1    34.8     9.2
  B: Courier                2.9%     0.2     9.5    26.0
  B: Foreman               40.8%     0.5    24.8    35.0

What it says

  1. Games go the distance. 93% reach round 7; only 18% are wipes. Kill points decide most games. With zones unmodelled this is expected to shift, but lethality is on the low side for a 20-minute target.
  2. The Bastion is nearly unkillable (99% survival, 9 damage taken per game). Core Armor 8 plus a Shield arm at Armor 9 turns rifles and autocannons into glances half the time. Either heavy armor comes down a point, or light weapons need Pen, or the Heavy pays more Weight.
  3. Cannon crits 53% of its hits. Pen 4 against Armor 5–6 means the d6 only needs a 4. The crit threshold of Armor + 3 is too easy for high-Pen weapons; consider Armor + 4, or a natural-6 requirement for crits.
  4. The Courier dies instantly (2–3% survival, dead by round 3). Evasion 14 is not enough to offset Hull 43 when everything in range shoots it first. Light mechs need either more Evasion, real cover use, or a reason for the AI not to focus them (zones would help).
  5. Autocannon is the kill engine (63% hit, three shots, 2209 kills). Burst weapons benefit disproportionately from a low Evasion floor: a +3 accuracy pilot hits a Heavy at 6 on a 3+.
  6. Pulse arm is a dud (32% hit, 0.4 damage per shot). Its heat-adding role never mattered because Bastion has Reactor 11.
  7. Stress is common. 1806 stress rolls in 2000 games, 327 meltdowns. The AI vents reactively; check whether players would actually run this hot before nerfing heat.

Caveats

No cover, no terrain, no zones, greedy AI that always focuses the lowest-hull target in reach. Numbers will move when those land. Use this as the "open field" reference point.

Re-baseline after the crit margin moved to Armor + 4 (same command, same seeds)

  A  Courier, Foreman, Reaver           win  40.9%   avg kills 1.6
  B  Bastion, Foreman, Courier          win  59.1%   avg kills 1.8
  draws 0.0%   wipes 17.2%   avg rounds 6.9   first kill round 2.6

  weapon           fires shots   hit% glance  full  crit cover dmg/shot dmg/hit kills
  Autocannon arm   22183 64497  62.9%  49.1% 49.0%  1.9%  0.0%      1.5     2.4  2181
  Cannon arm       12730 12730  58.6%   5.7% 57.8% 36.5%  0.0%      5.4     9.3  2073
  Blade arm         5845  5845  89.8%  19.6% 63.5% 16.8%  0.0%      6.8     7.5  1075
  Missile rack      9842 19343  52.6%  27.4% 60.6% 11.9%  0.0%      1.9     3.7   701
  Rifle arm         9261  9261  53.0%  25.1% 64.1% 10.8%  0.0%      3.1     5.8   620
  Pulse arm         4527  9016  32.1%  56.0% 41.3%  2.7%  0.0%      0.4     1.2    80

Cannon crits fell from 53% to 37% of hits, autocannon from 8.5% to 1.9%, blade from 32% to 17%. Win rates and game length did not move: crits were not what decided games on the open field, damage volume was. Finding 3 is addressed; findings 1, 2, 4 and 5 stand and wait on terrain and zones.