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.