BattleTech Simulator

Monte Carlo combat simulator to derive empirical BattleValue for BattleTech mechs and find bargains in the official BV2 system.

Links: BattleValue, Gaming, Combinatorial vs Generative Design Space (the power-creep worry, formalised — measured on HeroClix; BattleTech is the natural second specimen), YouTube Migration, D&D Monster Tournament — Exact Markov Chains (the tractable sibling — same “derive empirical BV from combat” motivation, but D&D 1v1’s state space is small enough to solve exactly as an absorbing Markov chain instead of sampling. Worth building first: it validates the BV-testing methodology against exact truth, which this sim can then inherit), HeroClix (the other exact-model sibling — the dial makes “stats are a function of remaining HP” free in a Markov chain, which is precisely the sectional-damage complexity that forces this project to sample instead; same bargain-hunting motive, opposite tractability)

Code: https://github.com/chrisaacson69/battletech-sim

Motivation

The BattleValue formula (BV = sqrt(Attack × HP)) works cleanly for simple combat systems. BattleTech breaks every assumption:

This makes analytical BV derivation a computational nightmare. The interactions between sectional damage, crits, damage transfer, and heat create a combinatorial space too complex for closed-form solution.

Approach: Monte Carlo

Instead of solving analytically, simulate:

  1. Implement BattleTech combat rules (hit locations, damage, crits, heat, movement modifiers)
  2. Run N simulated combats (10,000+) between each mech pair
  3. Record win rates, average survival HP, rounds to kill
  4. Derive empirical BV from win-rate matrices
  5. Compare empirical BV to official BV2 values
  6. Find the bargains: mechs where official BV2 undervalues actual combat effectiveness, and the traps where BV2 overvalues

The Bargain-Hunting Angle

The official BV system (now BV2) has gone through multiple iterations — each trying to correctly price every mech for balanced play. But with 500+ mech variants and the complexity above, mispricing is inevitable.

Every mispriced mech is an arbitrage opportunity:

This is structurally identical to finding mispriced assets in a market — the official BV2 is the “market price,” the Monte Carlo gives you the “true value,” and the spread is the opportunity. Same instinct as Triangular Arbitrage, different domain.

Technical Considerations

Open Questions

Tags

games, battletech, simulation, game-theory, mathematics, strategy