What Happened
Bohemia Interactive open-sourced the engine and game source code for Arma: Cold War Assault (formerly Operation Flashpoint: Cold War Crisis) on GitHub. The repository, codenamed Poseidon, represents the foundation of the Real Virtuality engine that later powered the Arma series and Enfusion. The code is modernized to C++20, uses CMake and Clang for builds, and targets Windows x64 and Linux x64.
License Breakdown
The source code is licensed under GPL-3.0-or-later with additional terms under Section 7. This means you can use, study, modify, and redistribute the code as long as it stays GPL and you comply with those terms. However, the trademarks "ARMA", "Operation Flashpoint", and associated logos are not granted. Any fork must be renamed and cannot present itself as an official Bohemia Interactive product. Game data (models, textures, sounds, missions, voices) is not included; it ships separately under the Arma Public License Share Alike (APL-SA). A free demo is available on Steam to provide the necessary assets.
Quick Start
To build the engine on Windows x64:
cmake --preset win-x64-clang-rwdi
cmake --build build/win-x64-clang-rwdi
For Linux x64, use the matching linux-x64-clang-rwdi preset.
Repository Layout
Apps/— executable targetsEngine/— engine libraries and Rust Trident toolingMaster server tools/— Rust service and CLI cratesTests/— test source trees (CI compiles them only)cmake/— presets, toolchains, vcpkg triplets, overlay portsdocker/— container support for service and runtime environmentspackages/— ignored local game data staging arearesources/— application icon resourcesthirdparty/— vendored third-party headers and sources (excluded from GPL, under their own licenses)
Technical Details
- C++20 modernization: The codebase has been updated from its original 2001-era C++ to modern C++20 standards, making it more accessible and maintainable for current developers.
- CMake + Clang build system: Uses CMake presets for configuration, Clang as the compiler, and vcpkg for dependency management.
- Cross-platform: Targets Windows x64 and Linux x64, with Docker support for service and runtime environments.
- Rust components: The engine includes Rust-based tooling (Trident) and master server tools, showing a hybrid C++/Rust architecture.
Why This Matters
This is a rare case of a major game studio open-sourcing a legacy engine that spawned a successful franchise. Developers can now study the evolution of a game engine from the early 2000s, learn how Bohemia handled terrain rendering, vehicle physics, and multiplayer networking. The codebase also serves as a reference for porting older engines to modern toolchains.
Limitations
- Locked repository: Pull requests are not accepted, and the repository will not be continuously updated. Issues are only for bugs in official Steam builds.
- No game assets: You need to obtain game data separately via the free demo or retail version.
- Trademark restrictions: Forks must be renamed and cannot use "Arma" or "Operation Flashpoint" branding.
What You Can Do Now
- Clone the repository:
git clone https://github.com/BohemiaInteractive/CWR - Build the engine using the provided CMake presets.
- Download the free demo from Steam to get the necessary game data.
- Fork the code, modify it, and create your own game or tool—just remember to rename it and comply with the GPL.
Conclusion
The release of the Cold War Assault engine source code is a gift to the modding and game development community. It offers a hands-on history lesson in game engine architecture and a foundation for new projects. Whether you're interested in game engine internals, legacy code modernization, or simply want to build on a classic, this repository is worth exploring.