Case study

R.E.L.I.V.E.: an Oddworld Abe’s Oddysee and Abe’s Exoddus engine reimplementation

Reimplements the engine of Oddworld: Abe’s Oddysee and Abe’s Exoddus as an open-source replacement executable that runs from the user’s own game folder. The team decompiled the original executables and replaced their functions incrementally, using injected DLLs that hook reimplemented code into the patched retail executable, then rewrote the result into a standalone cross-platform engine. The project site says both games are playable in their entirety, with bug fixes and windowed, high-resolution and controller play.

Requirements & limits

  • Reviewed at the master commit of 2026-09-01 that merged the SDL3 port; the latest release is github-v1.0.9, labelled “relive stable v1.0.9” (2025-03-21), while CMake still declares project version 0.1. The project site’s FAQ says both games can be played through, over a hundred original bugs are fixed and there should be no noticeable gameplay difference from the retail version; PSX-quality music, deeper modding and an in-game level editor are listed as future work. The FAQ describes the method as decompiling the retail executable and then spending years rewriting the output into readable code.
  • Play requires the user’s own Abe’s Oddysee or Abe’s Exoddus installation; the FAQ names the Steam, GOG and early disc versions. The executable runs from the game folder that holds the .lvl files, and the Linux launcher scripts look for the default Steam folder or ask for that directory. The repository contains no game data files, though source files embed data tables used by the reimplemented code, such as fonts and video-decompression tables; the FAQ says the team will not provide game files.
  • Builds use CMake 3.10+, C++17 and SDL3 after a recursive clone of the Detours, googletest, magic_enum, jsonxx, stb, lodepng and nlohmann/json submodules; README documents Visual Studio 2022 on Windows and Ubuntu packages on Linux, and cpack produces a Debian package. MSVC builds also produce the AliveDllAE and AliveDllAO hooking DLLs, linked with Detours on 32-bit Windows. GitHub Actions builds Windows 32-bit, Windows 64-bit and Linux packages; its macOS job is commented out, although the FAQ says the games run on macOS.
  • The GitHub Actions workflow builds and packages without running tests. The tree has googletest unit and integration tests for the relive_api level-data tool, and the integration test reads .lvl files from hard-coded GOG install paths; older AppVeyor and Azure Pipelines configurations still invoke ctest. The FAQ reports automated replays that record a full play-through with a stable build and flag desyncs in development builds (the recorder saves input, RNG, ticks and sync points), but no replay results are published, and this collection ran nothing.
  • The repository has no license file and GitHub detects none; README only says contributions will be licensed under a GPL-compatible license, most likely MIT, in the future, so reuse terms are currently unstated. 3rdParty/DxOld carries three DirectX 7-era Direct3D headers, one with a Microsoft all-rights-reserved notice, and the submodules keep their own licenses. The FAQ disclaims affiliation with Oddworld Inhabitants, whose games 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.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · AliveTeam/alive_reversing · Revision 3be8967
  2. CMakeLists.txt GitHub · AliveTeam/alive_reversing · Revision 3be8967
  3. .gitmodules GitHub · AliveTeam/alive_reversing · Revision 3be8967
  4. .github/workflows/ci.yml GitHub · AliveTeam/alive_reversing · Revision 3be8967
  5. azure-pipelines.yml GitHub · AliveTeam/alive_reversing · Revision 3be8967
  6. appveyor.yml GitHub · AliveTeam/alive_reversing · Revision 3be8967
  7. Source/AliveDllAE/dllmain.cpp GitHub · AliveTeam/alive_reversing · Revision 3be8967
  8. Source/AliveLibAE/Resources.hpp GitHub · AliveTeam/alive_reversing · Revision 3be8967
  9. Source/AliveLibCommon/BaseGameAutoPlayer.cpp GitHub · AliveTeam/alive_reversing · Revision 3be8967
  10. Source/Tools/relive_api_integration_test/relive_api_integration_test.cpp GitHub · AliveTeam/alive_reversing · Revision 3be8967
  11. assets/relive-ae GitHub · AliveTeam/alive_reversing · Revision 3be8967
  12. 3rdParty/DxOld/d3dtypes.h GitHub · AliveTeam/alive_reversing · Revision 3be8967
  13. faq.md GitHub · AliveTeam/aliveteam.github.io · Revision f1ff217
  14. install.html GitHub · AliveTeam/aliveteam.github.io · Revision f1ff217
  15. https://github.com/AliveTeam/alive_reversing/releases/tag/github-v1.0.9

More in Games

All 231 entries in GamesGames case studies (189)