Balance of Power
- python
- textual
- simulation
- games
Balance of Power is Chris Crawford's 1990 geopolitical simulation: you play the USA or the USSR, courting seventy-eight minor countries with aid, treaties, and destabilization, and every move risks a crisis where the only options are Back Down or Stand Firm. Win by prestige. Lose by nuclear war, which the game famously refuses to depict: "You have ignited a nuclear war. And no, there is no animated display of a mushroom cloud with parts of bodies flying through the air. We do not reward failure."
This is a source-faithful Python port with the simulation split from the presentation. The core is a headless engine (bop) that exposes the full game loop as a plain API; a Textual TUI (bop-tui) provides the human interface, with the world map, country closeups, the nine policy verbs, advisor commentary, and the crisis escalation ladder. Because the engine is headless, programs can play it the same way people do, which was half the point: it doubles as an environment for LLM opponents, and the same interface drives web play.
The port is verified against the original mechanics by a test suite that currently runs to 688 tests, covering everything from insurgency arithmetic to the exact wording of the failure screen.