Open Doctrines
OpenDoctrines is a grand strategy game about running a country — its industry, its armies, its research, its politics and its neighbours. Six historical scenarios on a 1641-province world map, a map editor for building your own, multiplayer that needs no port forwarding, and a mod SDK for thirteen languages.
This is an alpha. It is playable and it is not finished — there is no tutorial yet, and the section at the bottom says plainly what else is missing.
Every turn is recorded
A finished game can be replayed as a timelapse and exported as a GIF from inside the game — the animated map in the screenshots above is the 1939 scenario, with every country played by the AI.
Run a country
Provinces have population, industry, fortification, resources and an ethnic composition. Countries have a treasury, a research programme, a political compass, claims on their neighbours and opinions about each other.
Rebellions spawn from unrest and hold real territory. Wars pull in guarantee chains. Ceasefires are negotiated over provinces, money and dropped claims.
Six scenarios
- Modern Day — 185 countries. Population from World Bank totals, deposits from USGS surveys.
- The Powder Keg (1914) — five empires and a continent of alliances waiting on one funeral.
- The Last Spring (1918) — Germany has won in the east and is losing in the west.
- The Gathering Storm (1939) — Europe on the morning the Wehrmacht crossed the Polish border.
- Year Zero (1945) — the war is over and nothing has been settled.
- The Missile Crisis (1962) — two blocs, one ocean between them, and missiles in Cuba.
Build your own world
Draw land and sea, cut provinces, place countries, populations, resources and claims, then export a map anyone else can load. There is a procedural generator too, for when you want a world rather than a specific one.
Multiplayer
Players dial out over an encrypted connection, so joining needs no router configuration. Hosting is a listening socket on the host's machine, and the game can open a tunnel to it for you — so in practice there is nothing to forward either way.
The host is authoritative. State only ever flows server to client, orders are validated server-side and re-attributed to the authenticated player's country, and a client never computes a turn. A player who disconnects keeps their seat and their country: the turn resolves without them, and they get that same country back when they return.
Mods, in thirteen languages
Mods are WebAssembly, so a mod is the same file on every platform, and it runs in a sandbox with a capability grant you can see and revoke. The SDK has bindings for C, C++, Rust, Zig, Go, Java, Kotlin, JavaScript, TypeScript, AssemblyScript, Lua, Python and hand-written WAT — every one of them builds the same example, and the test suite checks they all render byte-identical output.
Before you download
macOS. The app is not signed with an Apple Developer ID, so the first launch needs right-click → Open → Open. Double-clicking gives you a refusal with no way past it. macOS remembers the choice, so every launch after the first is normal. Requires macOS 11 or later.
Windows. Unsigned, so SmartScreen shows "Windows protected your PC" on first run — More info → Run anyway. Requires 64-bit Windows 10 or later.
Linux. Requires glibc 2.35 or newer — Ubuntu 22.04, Debian 12, Fedora 36 and anything more recent. Older distributions can build from source. x86_64 only.
What is not finished
Being honest about an alpha is cheaper than disappointing people later.
- There is no tutorial. Province actions live behind the view tabs on the bottom bar, and the game does not yet tell you that. This is the single biggest thing missing.
- No dedicated server. Hosting means a running copy of the game; closing it ends the session.
- Long-form (play-by-post) turns are designed and not built.
Licence
Free to play, modify and share non-commercially, under the OpenDoctrines Non-Commercial License. The mods, maps, saves and videos you make are yours.
| Updated | 10 hours ago |
| Published | 1 day ago |
| Status | In development |
| Platforms | HTML5, Windows, macOS, Linux |
| Rating | Rated 5.0 out of 5 stars (2 total ratings) |
| Author | Pr1nted |
| Genre | Strategy |
| Made with | Krita, raylib |
| Tags | 2D, 4X, Alternate History, Historical, Indie, Multiplayer, Sandbox, Singleplayer, Turn-based Strategy |
| Average session | A few hours |
| Languages | English |
| Inputs | Keyboard, Mouse |
| Accessibility | Configurable controls |
| Multiplayer | Ad-hoc networked multiplayer |
| Links | GitHub, Discord |
| AI Disclosure | AI Assisted, Code |
Download
Click download now to get access to the following files:
Development log
- Open Doctrines fixes! v1.0.5a1 day ago
- Alpha of Open Doctrines is here!1 day ago






Comments
Log in with itch.io to leave a comment.
How to attack land based attack, i can only attack and capture territories using ships. Army navigation only gives me mortar option.
Hello! To answer your question, you need to click with Right Mouse button default, and drag it to the province you want to attack/move your troops to, it will snap to that province, you release the button, you get an arrow from your province to the province you transport to, there is a circle, you can move that circle around on arrow to chnage percentage of attacking troops

I will add a move army button in province menu in the next update! Have fun!