Case study

OpenXcom: an open-source clone of X-COM: UFO Defense and Terror from the Deep

Reimplements MicroProse’s UFO: Enemy Unknown (X-COM: UFO Defense) and X-COM: Terror from the Deep as a C++/SDL engine that runs on the user’s original game resources. Game data such as items, craft, research and missions is expressed in YAML rulesets, which also carry its standard mods and a wider modding ecosystem. It is a clone that reuses original content, not recovered MicroProse code.

Requirements and limitations

  • The reviewed master snapshot reports version 1.0 Dev; the last tagged release is v1.0 from 2014, and a nightly workflow builds later Windows, Linux and macOS versions. It covers both games and can import saved games from the originals, while standard mods based on XcomUtil and UFOExtender add optional changes. The reviewed sources do not describe how original behaviour was determined.
  • Requires an unmodified copy of the resources from either or both original games. For UFO these include the GEODATA, GEOGRAPH, MAPS, ROUTES, SOUND, TERRAIN, UFOGRAPH and UNITS folders, and TFTD needs a similar set. The README warns against modded copies such as XcomUtil-patched data; the Windows installer can detect Steam editions.
  • Building targets C++11 with CMake 3.5+, Visual C++, Xcode or a plain Makefile, against SDL 1.2, SDL_mixer, SDL_gfx 2.0.22+, SDL_image and yaml-cpp 0.5.3+. CI compiles debug builds on Linux, 32-bit Windows and macOS.
  • CI only compiles the code, and the repository has no automated behaviour tests, so fidelity to the original games is not demonstrated by published checks. This review did not build or run the project.
  • Source headers apply GPL-3.0-or-later, and the README notes modified SDL_gfx code (LGPL) used with its author’s permission. Original game resources keep their own rights. The reviewed sources establish no REA or AI use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  2. bin/UFO/README.txt GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  3. bin/TFTD/README.txt GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  4. CMakeLists.txt GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  5. src/version.h GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  6. .github/workflows/ci.yml GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  7. .github/workflows/nightly.yml GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  8. src/main.cpp GitHub · OpenXcom/OpenXcom · Revision 4a4bae5
  9. LICENSE.txt GitHub · OpenXcom/OpenXcom · Revision 4a4bae5