OpenApoc rebuilds the X-COM Apocalypse engine and needs the original game
Opensource rebuild of the XCOM Apocalypse Engine that requires the original files to run.
At a glance
- What is it?
- OpenApoc is a C++ and SDL2 re-implementation of the X-COM: Apocalypse engine, licensed under GPL3, with mod support, XML savegame editing and a debug system. It requires the original game files to run and is still working towards a playable alpha, and the project asks players to buy the original game rather than use disc images.
- Who is it for?
- Adopt OpenApoc if you own X-COM: Apocalypse and want to mod it, fix its interface problems, or extend it with features the original never had, and you are willing to work in a codebase that has not reached a playable alpha. Skip it if you want a finished game rather than a platform, since the project's own tracking issues list a playable alpha, a beta and release 1.0 as separate future goals.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 37 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A source rebuild that still needs the game's own data
OpenApoc is an open-source re-implementation of the original X-COM: Apocalypse, and the phrase that defines the project is in the README's own summary: it requires the original files to run. That is not a workaround and it is not a loophole. The engine is rebuilt from source, but the game data, the artwork, the music and the mission content still come from a copy of the original game you own. The project is explicit about the legal position. All rights for the original game and its resources belong to their respective owners, the project says it does not encourage and does not support any form of illegal usage, it strongly advises purchasing the original game on STEAM or another platform, and it states that pirated disc images and archives are not supported and will cause issues such as crashes and map problems. So the adoption question is not whether you can extract the game, it is whether you want to work on an engine rewrite for a title you have bought.
The feature list is really a modding platform
What OpenApoc adds over the original is best described as tooling and flexibility rather than new content. The stated key features include full modding capability, described as being able to add or change almost anything, with options intended to make the game more balanced, more diverse or more immersive. Human-readable savegame editing is there too, because the save data is all XML inside a ZIP archive, so you can edit or tweak a game in progress. There is support for modern screen resolutions and display scaling at what the README calls a silky smooth 60fps, a More Options menu offering dozens of optional improvements, and a full debug system with hot keys, the details of which live in a separate README_HOTKEYS.md in the repository. A Skirmish Mode for quick fights and custom battles is present and labelled experimental, and the engine notes smooth sound playback with none of the pop, clicks or stutters of the original. The framing matters: this is a re-platforming effort whose value is in what third parties can build on top of it.
The build is a C++ CMake project with vcpkg and submodules
The build story is where this stops being a casual experiment. OpenApocalypse is built with a set of libraries chosen so the project does not have to implement them badly itself, and the README says the following libraries are fetched and built with vcpkg in a later step, ensuring the correct version. SDL2 provides the windowing and input layer. Boost is used selectively: the locale library for localisation, algorithm for string handling, program-options for settings management, date-time for formatting, and parts of UUID and CRC for hash functions and temporary filenames. Qt is needed only for the launcher and can be switched off with `BUILD_LAUNCHER`. Libunwind provides debug backtracing on Linux and is not needed on Windows, and LibVorbis decodes the Ogg Vorbis music. The repository layout shows a conventional CMake project with `CMakeLists.txt`, a `cmake/` directory, `vcpkg.json` listing the managed dependencies, a `dependencies/` directory, and separate `framework/`, `game/`, `library/`, `tools/`, `forms/`, `data/`, `install/` and `tests/` trees.
Seven libraries ship as submodules so you do not install them
The second dependency list is the one that reduces friction. These libraries are shipped as submodules in the repository and directly included in the build, so you do not need to install them to build or use OpenApoc. GLM is the math library. libsmacker decodes .smk video files. lodepng handles reading and writing PNG images. miniz is a zlib-compatible compression library. physfs reads data from .iso files or directory trees, and the README notes that a patched version of physfs is required, and is required because of the .iso files the project uses. pugixml is the XML library used to read and write the game's own data files, which is the same reason the savegames are editable as XML. fmtlib is a C++ string formatting library, proposed for the C++20 standard, and magic_enum is a header-only C++17 library providing static reflection for enums without macros or boilerplate. A `.clang-format` and `.clang-tidy` sit at the repository root along with a CODE_STYLE.md, so the codebase is lint- and format-governed, and the .gitmodules file records the submodule set.
The remaining work is tracked as three separate milestones
The project is honest about its state, and the README lists what is left as a numbered set of linked issues. The first is to have a truly playable alpha state. The second is to reach a beta state, which the issue describes as all core original game features implemented. The third is to reach OpenApoc release 1.0, described as final polishing and testing to match or exceed the original game's state. A fourth issue tracks modding functions, extra features, enhancements and quality of life updates. There is also a note that the potential to add cut and missing features from the original game is real, and that some of these are already included even at the current alpha state or with the handful of mods already available. So the accurate summary is that OpenApoc is a large, structured and still-incomplete replacement engine, and a person joining it today is joining a project whose remaining distance to the original is a matter of public issue trackers rather than a marketing claim. The release tags in the repository are dated rather than semantic, with recent ones on 2026-09-16, 2026-09-11 and 2026-09-10, and the last push was on 2026-09-16.
Building on Windows, Linux and macOS
The README gives platform-specific instructions, and the Windows path is the most concrete. You install Visual Studio from 2017 or later with the Desktop Development with C++ workload, and a Git client such as GitHub Desktop, then check out the repository. The repository also carries an `appveyor.yml` and an `appveyor-dev.yml` for continuous integration on Windows, along with a `.vs/` directory for Visual Studio solutions. A Vagrantfile sits at the top level, which is the usual convenience route for a C++ project with this many native dependencies. The Linux and macOS sections of the README are present in the table of contents, so all three platforms are intended targets, and the README describes porting the game to any platform you like as one of the key features. For the person evaluating this, the practical question is whether you have a C++ toolchain and the patience for a native dependency tree, because the vcpkg step plus the patched physfs requirement is not a weekend install.
Community, translation and the licence
The project runs on community work, and the README is specific about how to help. Discord is the channel for both contributing and questions, and the README says you can support the project by testing, translating, modding, drawing, modelling or concepting, which is an honest description of what a game engine re-implementation actually needs. Translation is organised through Transifex, with a `.tx/` directory in the repository and a Translate OpenApoc badge, so localisation contributions go through a managed platform. The project was founded by PmProg in July 2014 and has since grown a significant community, and the README includes a public endorsement from Julian Gollop, quoted from a 2017 Reddit AMA, saying he is aware of the project and supports it. The licence is GPL3, which is worth understanding for a modding platform: the engine is copyleft, and a mod distributed as a binary would generally be expected to carry that obligation forward. The last push to the repository was on 2026-09-16, and the project is not archived.
Editorial conclusion
Adopt OpenApoc if you own X-COM: Apocalypse and want to mod it, fix its interface problems, or extend it with features the original never had, and you are willing to work in a codebase that has not reached a playable alpha. Skip it if you want a finished game rather than a platform, since the project's own tracking issues list a playable alpha, a beta and release 1.0 as separate future goals. Before you start, buy the original game, because the project states plainly that pirated disc images are not supported, and check the state of the linked alpha and beta issues to see how close the current build actually is.
Frequently asked questions
Does OpenApoc need the original X-COM: Apocalypse game?
Yes. The README describes it as a re-implementation that requires the original files to run, and states that pirated disc images and archives are not supported and cause crashes and map problems. It advises purchasing the original game on STEAM or another platform.
How do I build OpenApoc on Windows?
Install Visual Studio 2017 or later with the Desktop Development with C++ workload, install a Git client such as GitHub Desktop, and check out the repository. The native dependencies are then fetched and built with vcpkg.
Which libraries ship with OpenApoc as submodules?
GLM, libsmacker, lodepng, miniz, physfs, pugixml, fmtlib and magic_enum are shipped as submodules and included directly in the build, so they do not need to be installed separately. A patched version of physfs is required for reading the .iso files.
What state is OpenApoc in?
The README lists what remains as linked issues: a truly playable alpha state, a beta state with all core original game features implemented, and release 1.0 with final polishing and testing to match or exceed the original game.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/openapoc-openapoc)Was this useful?