Star on GitHubStar1.1k stars

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.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: 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.
  • Prerequisites: 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.
  • Scope: 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.
  • Testing evidence: CI only compiles the code, and the repository has no automated behaviour tests.
  • License: 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.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

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

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab