-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Move a map between Open Doctrines and Greater Diplomacy 5, in either direction, and get it back unchanged if you send it home again.
A dragoman was the interpreter attached to an embassy — the person through whom two powers who shared no language could still sign something.
pip install open-dragoman
dragoman convert 1914.odmap "base_maps/1914" --to gd5
dragoman convert "base_maps/GD4" gd4.odmap --to odmap
dragoman roundtrip 1914.odmap # prove nothing was lost| Installing |
pip install open-dragoman, a release binary, or from source |
| Getting Started | Convert your first map, and check the result |
| What Crosses | Which fields translate, which are computed, which ride along |
| Round Trips | What "lossless" means here, and what it does not |
| Scripts and Events | The two scripting systems, and where they meet |
| Languages | C, C++, Python, and anything else with an FFI |
| Diagnostics | Every message the converter can print, and what to do |
| Troubleshooting | When something did not work |
The two games describe overlapping but unequal worlds. Open Doctrines models a province's population, its port, its ethnic minorities and its position on a political compass. Greater Diplomacy 5 models terrain, province adjacency, unit rosters, research and factions. Neither is missing anything it wants — they are different games — but a map crossing between them would be quietly poorer each way if nothing wrote the difference down.
Dragoman writes it down. Everything the destination cannot hold goes into a sidecar beside the map, which both games ignore and neither notices. So a one-way conversion is as faithful as the target format allows, and a return trip restores what the target could not hold.
It also fills in what the destination needs and the source never stored: province adjacency and centroids, a land/sea mask, sea provinces for a game that draws none, and research levels appropriate to the map's own date.
Every map both games ship converts and comes home with nothing lost.
| Suite | Result |
|---|---|
| Greater Diplomacy 5 maps (12 base + 16 scenarios) | 28 / 28 |
| Open Doctrines maps (5 scenarios + the world map) | 6 / 6 |
| Unit tests | 5 / 5 |
Converted maps have been played in both games, not merely loaded: through
GD5's own Controller and Map state with all 23 screens, and through
OpenDoctrines --simulate for five AI turns. Most of what this library gets
right, it gets right because somebody opened the result in the game and looked
at it.
-
Treasuries. GD5 starts its nations with an empty stockpile; Open Doctrines
expects a starting endowment. A GD5 map converted to Open Doctrines will
bankrupt its world on the first turn until you set them. Reported as
od.treasury. -
Research, going to Open Doctrines. A
.odmaphas nowhere to put it. See What Crosses.