bayes for days
sds docs FORMATIONS.md
8.0 kB

Formations, and the tactic each one opens on #

A force does not choose its opening tactic. It is handed one by what it was built as, and what it was built as is a Formation - MegaMek's own composition requirements over weight class, movement, armour, damage at a range and the roles present. Nothing on this page is invented here: the requirements are read out of megamek.client.ratgenerator.FormationType by bridge/sds/SdsFormations.java, committed as crates/sds-core/tests/corpus/formations.txt, and checked against the catalogue on every commit.

What is not MegaMek's is the last column. Which tactic a composition asks for is a reading of it, and it is the one thing here worth arguing with. The cohesion rule is the tabletop rules': a formation holds while 3 or more of its units are neither destroyed nor routed, and below that it is disabled and the force falls back to engage. FormationType is a generation filter that never touches a running game, so nothing in MegaMek applies that rule for us and the bot keeps it itself - what MegaMek settles is the predicate under it, which is a unit the game has removed from play.

The order #

A lance of four heavies is a Battle Lance and a Heavy Battle Lance and a Support Lance all at once, so which one it is comes down to which is asked first. The order is a constant, and rare means pins down more of the force: the units column is every requirement's own minimum at a lance of four added up, with four for a criterion every unit must pass. Ties fall to a narrower weight bracket, then a grouping constraint, then fewer unit types admitted, then an ideal role, then a faction, then the name.

A force that qualifies as nothing at all opens on engage, and so does a force this bot cannot read - anything that is not four ground Meks.

# formation family units asks for opens on
1 Assault Assault 11 Medium to Colossal; every unit: Armor 135+; 3 of 25 damage at range 7; 3 of Heavy+; 1 of Juggernaut or 2 of Sniper - or every unit Juggernaut engage
2 Fast Assault Assault 11 Medium to Colossal; every unit: Walk 5+ or Jump 1+; 3 of Damage 25+ at range 7; 3 of Heavy+; 1 of Juggernaut or 2 of Sniper engage
3 Heavy Striker/Cavalry Striker/Cavalry 10 Medium to Colossal; every unit: Walk/Cruise 4+; 3 of Heavy+; 2 of Striker, Skirmisher; 1 of Weapon with damage 5+ at range 18 flank
4 Rifle Battle 9 Medium to Colossal; every unit: Walk/Cruise 4+; 3 of Medium, Heavy; 2 of AC weapon never - faction not modelled
5 Heavy Recon Recon 9 every unit: Walk/Cruise 4+; 2 of Walk/Cruise 5+; 2 of Scout; 1 of Heavy+ flank
6 Light Striker/Cavalry Striker/Cavalry 8 UltraLight to Medium; every unit: Walk/Cruise 5+; 2 of Weapon with damage 5+ at range 18; 2 of Striker, Skirmisher flank
7 Probe Pursuit 7 UltraLight to Heavy; every unit: Damage 10+ at range 9; 3 of Walk/Cruise 6+ flank
8 Anvil Assault 6 Medium to Colossal; every unit: Armor 105+; 2 of AC, SRM, or LRM never - faction not modelled
9 Striker/Cavalry Striker/Cavalry 6 UltraLight to Heavy; every unit: Walk/Cruise 5+ or Jump 4+; 2 of Striker, Skirmisher - or every unit Striker flank
10 Direct Fire Fire 6 every unit: Damage 10 at range 18; 2 of Heavy+ engage
11 Recon Recon 6 every unit: Walk/Cruise 5+; 2 of Scout, Striker - or every unit Scout flank
12 Berserker/Close Battle 5 2 of Heavy+; 3 of Brawler, Sniper, Skirmisher - or every unit Brawler advance
13 Battle Battle 5 2 of Heavy+; 3 of Brawler, Sniper, Skirmisher - or every unit Brawler engage
14 Anti-Air Fire 5 3 of Sniper, Missile Boat; 2 of Standard AC, LBX, Artillery weapon, Anti-Air targeting quirk never - no behaviour prices it
15 Security Security 5 1 of Scout, Striker; 1 of Sniper, Missile Boat; 3 of Not assault entrench
16 Horde Striker/Cavalry 4 UltraLight to Light; every unit: Damage <= 10 at range 9 harass
17 Light Recon Recon 4 UltraLight to Light; every unit: Walk/Cruise 6+, Scout harass
18 Pursuit Pursuit 4 UltraLight to Medium; 3 of Walk/Cruise 6+; 1 of Weapon with damage 5+ at range 15 - or every unit Striker flank
19 Sweep Pursuit 4 UltraLight to Medium; every unit: Walk/Cruise 5+, Damage 10+ at range 6 flank
20 Light Battle Battle 4 UltraLight to Heavy; 3 of Light; 1 of Scout harass
21 Hammer Striker/Cavalry 4 every unit: Walk/Cruise 5+ - or every unit Striker never - faction not modelled
22 Urban Urban 4 2 of Jump 1+ or Infantry/BA; 2 of Walk/Cruise <= 4 - or every unit Ambusher entrench
23 Command Command 3 2 of Sniper, Missile Boat, Skirmisher, Juggernaught; 1 of Brawler, Striker, Scout engage
24 Fire Fire 3 3 of Sniper, Missile Boat - or every unit MissileBoat engage
25 Fire Support Fire 3 3 of Indirect fire weapon engage (wants bombard)
26 Light Fire Fire 2 UltraLight to Medium; 2 of Sniper, Missile Boat engage
27 Heavy Battle Battle 2 Medium to Colossal; 2 of Heavy+ engage
28 Medium Battle Battle 2 UltraLight to Heavy; 2 of Medium engage
29 Hunter Assault 2 2 of Juggernaut or Ambusher - or every unit Ambusher entrench
30 Artillery Fire Fire 2 2 of Artillery engage (wants bombard)
31 Ranger Striker/Cavalry 0 UltraLight to Heavy - or every unit Skirmisher flank
32 Order * Command 0 Same model never - faction not modelled
33 Support Support 0 nothing at all engage

What is never offered #

These stay in the catalogue with their criteria intact and are never handed to a force. They carry no opening at all, so nothing can turn one into a tactic or fit a weight to it.

Faction not modelled. MegaMek declares these as one house's. Nothing here knows which house a force belongs to - classification takes designs, and no field on the wire carries a faction - so a gated formation that was offered would match every house's force, which is not a narrower description but a wrong one. These come back by evaluating the gate once a force arrives with a faction.

No behaviour prices it. Naming a force by a specialism the scorer cannot play describes it by something it will not then do.

formation why
Rifle faction not modelled (FS)
Anvil faction not modelled (FWL)
Anti-Air no behaviour prices it
Hammer faction not modelled (FWL)
Order faction not modelled (DC)

What this bot declines to decide #

Marked * above. Where the wire cannot answer a requirement the formation is refused rather than guessed at, and a force that would have been one of these is classified as whatever comes next in the order, for a reason that is MegaMek's rather than ours.

One narrowing is not a decline and is worth knowing about. The Anti-Air Lance takes a unit either for its guns or for the force generator's ANTI_AIRCRAFT mission role, which lives in data/forcegenerator and is not a fact about a machine on the board. The gun half is read and the role half is not; because the two are an or, that can only refuse a force MegaMek would have accepted, never accept one it would have refused.

formation what is missing
Order MegaMek's own qualifies() divides by zero here - UPSTREAM.md note 11

What nobody opens on #

6 of the 12 tactics are nobody's opening: break, control, regroup, reposition, screen, withdraw. That reads as right rather than as a gap. A formation says what a force was built for, and none of those is something a force is built for - they are things a force becomes.