Game engine recreations and source ports
Sometimes a full system emulator is overkill. This is especially true when a developer only wants to get one game (or a number of games that use the same engine) working. In that case, reimplementing that game alone would save more time than implementing the platform it runs on. These kinds of projects are common when abandonware has large communities; when the original developer has disbanded and can no longer support or update it, an effort is then made to get it running natively on newer versions of-- and/or entirely different-- operating systems and platforms.
- When the developer only has a binary to work with (and not the source code), they recreate the engine rather than port it, hence the term game engine recreations (or alternatively game engine re-implementations). How the developers go about this process depends on their philosophy; they may opt to decompile the original executable and have their own program rely on the original until all of its functions have been remade, at which point the original binary is no longer needed. Alternatively, they can be remade based on a clean room design, in which the project implements the abstract features without having to disassemble the original, going by how components are expected to be used rather than how the game uses them. Some engines come about simply because they were inspired by the original game, and the programmer felt confident enough that no reverse engineering was necessary to make an engine that does the same thing.
- In rare cases, games are released as open-source by the publishers themselves, allowing developers to perform a source port of the code. This skips the step of figuring out how the game works. The most common example that's often used is id Software's release of Doom in 1997. It led to so many ports being released that the community began to joke about what devices haven't gotten it running yet.
Some projects are implemented in ways that the original developer did not intend; for example, for a platform other than which publishers marketed it for. And they're not just limited to game engines either; Webamp is a JavaScript application that reimplements Winamp in the web browser. These projects are almost always open-source which also allows new programmers to fix bugs that could have been difficult to track down during development (alternatively, the bugs may be emulated to allow old mods to continue to safely exploit them). When most of the effort is on programming, the project will usually require the original game's assets (such as files in the installation directory or ROMs) until those ever get remade. This lets the developers claim they aren't infringing the game's copyrights since the player must obtain the original to use it; if the game is still being sold, this could allow the publisher to even earn revenue from the project.
For the sake of brevity, most of these projects often refer to themselves under some variety of fan remakes. The External links section has lists for a number of known and available projects.
On Linux downloading and using game engines is easy with Luxtorpeda - a Steam Play compatibility tool (like Proton) that allows you to run games from Steam using various different game engines and reimplementations.
Multi game engine
Name | Operating System(s) | Latest Version | Libretro Core | Active | Recommended | Supported game(s) | ||
---|---|---|---|---|---|---|---|---|
Action-adventure (3rd-person) | ||||||||
OpenTomb | git | ✗ | ✓ | ✓ | Tomb Raider 1–5 | |||
OpenLara[N 1] | git | ✓ | ✓ | ~ | Tomb Raider 1–4 | |||
Adventure | ||||||||
ScummVM | Multi-platform | 2.8.1 | ✓ | ✓ | ✓ | Adventure games and RPGs (LucasArts, Sierra, Activision, Humongous & more. Over 250 games.) | ||
FPS | ||||||||
BuildGDX | Website | ✗ | ✓ | ✓ | Blood, Duke Nukem 3D, Shadow Warrior, Powerslave/Exhumed, Redneck Rampage, Redneck Rampage Rides Again, Witchaven, Witchaven II, TekWar, Legend of the Seven Paladins | |||
Raze | git | ✗ | ✓ | ✓ | Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave, Nam, WW2 GI | |||
EDuke32 VoidSW [N 2] |
Website | ✗ | ✓ | ✓ | EDuke32: Duke Nukem 3D, Ion Fury, NAM, World War II GI VoidSW: Shadow Warrior | |||
RedNukem | git | ✗ | ✓ | ✓ | Duke Nukem 3D, Duke Nukem 64, Redneck Rampage, Redneck Rampage Rides Again, NAM, World War II GI | |||
Metaforce | Dev builds git |
✗ | ✓ | ✗ (WIP) | Metroid Prime 1–3 | |||
XLEngine | git | ✗ | ✗ | ✓ | Star Wars: Dark Forces, Daggerfall Later: Outlaws, Blood, Shadow Warrior | |||
ZDoom | 2.81 | ✗ | ✗[N 3] | ✓ | Doom I–II, Final Doom, Heretic, Hexen: Beyond Heretic, Chex Quest I–III, Strife: Quest for the Sigil, Hacx: Twitch 'n Kill | |||
Platform | ||||||||
Commander Genius | 3.0.0 | ✗ | ✓ | ✓ | Commander Keen in Invasion of the Vorticons, Commander Keen in Keen Dreams, Commander Keen in Goodbye Galaxy, Commander Keen in Aliens Ate My Babysitter | |||
Racing | ||||||||
OpenNFS | git | ✗ | ✓ | ~ | Need for Speed I–III, Need for Speed: High Stakes, Need for Speed: Porsche Unleashed, Need for Speed: Hot Pursuit 2 | |||
RPG | ||||||||
EasyRPG | Multi-platform | 0.8 | ✓ | ✓ | ✓ | RPG Maker 2000/2003 games | ||
GemRB | git | ✗ | ✓ | ✓ | Infinity Engine (Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002)) | |||
Neko RPGXP Player | 2.01 | ✗ | ✓ | ~ | RPG Maker XP/VX/VA/MV games | |||
xoreos | 0.0.6 | ✗ | ✓ | ✗ (WIP) | BioWare's Aurora engine & derivatives (BioWare's 7 PC/console RPGs, Sonic Chronicles: The Dark Brotherhood, The Witcher) | |||
RTS | ||||||||
openage | git | ✗ | ✓ | ~ | Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds | |||
OpenRA | git | ✗ | ✓ | ✓ | Early Westwood games (Command & Conquer, C&C: Red Alert). Soon: 2nd-gen C&C (C&C: Tiberian Sun). | |||
Vanilla Conquer | git | ✗ | ✓ | ✓ | Early Westwood games (Command & Conquer, C&C: Red Alert, Dune 2000). Based on the official source code release by EA, with the goal of serving as a portable drop-in replacement for the original executables as well as a platform for mod developers. | |||
OpenSAGE | git | ✗ | ✓ | ✗ (WIP) | EA's Command & Conquer games (C&C: Generals, C&C: Generals - Zero Hour) Soon: The Battle for Middle-earth series (2004–2006), C&C 3 & expansion. | |||
Stratagus | 3.1.2 | ✗ | ✓[N 4] | ✓[N 5] | Wargus: Warcraft II: Tides of Darkness + Beyond the Dark Portal, Aleona's Tale War1gus: Warcraft: Orcs & Humans Stargus: StarCraft (partially playable) Stratagus: Wyrmsun | |||
Shoot 'em up | ||||||||
ReC98 | Multi-platform | git | ✗ | ✓ | ✗ (WIP) | Touhou 1–5 (PC-98) |
Single game engine
Name | Platform(s) | Latest Version | Libretro Core | Active | Recommended | Supported game(s) | ||
---|---|---|---|---|---|---|---|---|
Action-adventure | ||||||||
OpenJK | Build git |
✗ | ✓ | ~ | Star Wars Jedi Knight II: Jedi Outcast, Star Wars Jedi Knight: Jedi Academy | |||
Adventure | ||||||||
The Ur-Quan Masters | 0.8.0 | ✗ | ✓ | ✓ | Star Control II | |||
FPS | ||||||||
Aleph One | 1.4 | ✗ | ✓ | ✓ | Marathon 1-2, Marathon Infinity | |||
BStone | git | ✗ | ✓ | ✓ | Blake Stone: Aliens of Gold, Blake Stone: Planet Strike | |||
Crispy Doom Crispy Heretic |
git | ✗ | ✓ | ✓ | Crispy Doom: Doom 1-2, Final Doom Crispy Heretic: Heretic | |||
dhewm3 | git | ✓ | ✓ | ✓ | Doom 3 (Original) | |||
Doom64 EX | 2.5 | ✗ | ✗ | ✓ | Doom 64 (Original) | |||
D2X-XL DXX-Rebirth |
1.18.76 git |
✗ | ✓ | ✓ | Descent, Descent II | |||
ECWolf | 1.3.3 | ✓ | ✓ | ✓ | Wolfenstein 3D, Spear of Destiny, Super 3D Noah’s Ark | |||
Hammer of Thyrion | 1.5.9 | ✗ | ✓ | ✓ | Hexen II | |||
ioquake3 | 1.36 | ✗ | ✓ | ✓ | Quake III: Arena | |||
iortcw | git | ✗ | ~ | ✓ | Return to Castle Wolfenstein | |||
NBlood | git | ✗ | ✓ | ✓ | Blood | |||
OpenMoHAA | [1] | ✗ | ✗ | ✗ | Medal of Honour: Allied Assault | |||
OpenXRay | git | ✗ | ✓ | ✓ | S.T.A.L.K.E.R.: Clear Sky, S.T.A.L.K.E.R.: Call of Pripyat | |||
PCExhumed | [2] | ✗ | ✓ | ✓ | Powerslave (PC) | |||
Powerslave EX | git | ✗ | ✗ | ✓ | Powerslave (Console) | |||
PrBoom | git | ✓ | ~[N 6] | ✓ | Doom 1-2, Final Doom | |||
Quakespasm vkQuake[N 7] |
0.94.2 git |
✗ | ✓ | ✓ | Quake 1 | |||
RBDOOM-3-BFG | git | ✗ | ✓ | ✓ | Doom 3 (BFG Edition) | |||
Rise of the Triad for Linux | git | ✗ | ✗ | ✗ | Rise of the Triad: Dark War | |||
rottexpr | git | ✗ | ✓ | ✓ | Rise of the Triad: Dark War | |||
Shockolate | git | ✗ | ✓ | ✓ | System Shock 1 | |||
The Force Engine | 0.02.001 | ✗ | ✓ | ✗ (WIP) | Star Wars: Dark Forces, Outlaws | |||
Tyrquake | git | ✓ | ✓ | ✓ | Quake 1 | |||
vitaQuake II | git, PS Vita | ✓ | ✓ | ✓ | Quake 2 | |||
Xash3D | 0.99 | ✗ | ~ | ✓ | Half-Life 1 | |||
Yamagi Quake II | 8.00 | ✗ | ✓ | ✓ | Quake 2 | |||
Platform | ||||||||
Jazz² Resurrection | git | ✗ | ✓ | ✓ | Jazz Jackrabbit 2 | |||
NXEngine nxengine-evo |
1.0.0.6 git |
✓ | ✗ | ✓ | Cave Story | |||
OpenJazz | git | ✗ | ~ | ✓ | Jazz Jackrabbit 1 | |||
R.E.L.I.V.E. | git | ✗ | ✓ | ✓ | Oddworld: Abe's Oddysee, Oddworld: Abe's Exoddus | |||
rawgl | git | ✗ | ✓ | ✓ | Another World/Out of This World | |||
REminiscence | 0.4.9 | ✓ | ✓ | ✓ | Flashback (Another World's spiritual sequel) | |||
Rigel Engine | git | ✗ | ✓ | ✓ | Duke Nukem II | |||
RSDK | Sonic 1 & 2 Sonic CD |
✗ | ✓ | ✓ | Sonic the Hedgehog 1-2, Sonic CD | |||
SDLPoP | git | ✗ | ✓ | ✓ | Prince of Persia (1989) | |||
Super Mario 64 Port | Multi-platform | Depends on port | ✗ | ✓ | ✓ | Super Mario 64 (N64) | ||
xrick | #021212 | ✓ | ✗ | ✓ | Rick Dangerous | |||
Puzzle | ||||||||
Lemmini | git | ✗ | ✗ | ✓ | Lemmings | |||
Racing | ||||||||
CannonBall | git | ✓ | ✗ | ✓ | OutRun | |||
NFSIISE | git | ✗ | ✓ | ✓ | Need for Speed II: SE | |||
OpenC1 | 1.4 git |
✗ | ✗ | ✓ | Carmageddon | |||
OpenLGR | git | ✗ | ✗ | ✗ | Lego Racers | |||
OpenMC2 | (via Wine) | git | ✗ | ✓ | ✓ | Midnight Club II | ||
OpenSWE1R | git | ✗ | ✓ | ✗ (WIP) | Star Wars Episode 1: Racer | |||
RVGL | 21.0930a-1 | ✗ | ✓ | ✓ | Re-Volt | |||
REDriver2 | git | ✗ | ✓ | ✓ | Driver 2 | |||
stuntcarremake[N 8] | Build 08 | ✗ | ✓ | ✓ | Stunt Car Racer (Amiga / AtariST) | |||
RPG | ||||||||
Arx Libertatis | git | ✗ | ✓ | ✓ | Arx Fatalis | |||
Daggerfall Unity | Beta 0.13.2 git |
✗ | ✓ | ✓ | The Elder Scrolls II: Daggerfall | |||
DevilutionX | git | ✗ | ✓ | ✓ | Diablo | |||
REGoth | git | ✗ | ✓ | ✓ | Gothic, Gothic II | |||
OpenVIII | git | ✗ | ✓ | ✗ | Final Fantasy VIII | |||
OpenDiablo2 | git | ✗ | ✓ | ✗ | Diablo II | |||
OpenMW | 0.47.0 | ✗ | ✓ | ✓ | The Elder Scrolls III: Morrowind | |||
OpenTESArena | git | ✗ | ✓ | ✗ (WIP) | The Elder Scrolls I: Arena | |||
RTS | ||||||||
OpenDUNE | git | ✗ | ✓ | ✓ | Dune II: The Building of a Dynasty | |||
TA3D | git | ✗ | ✗ | ~ | Total Annihilation | |||
RTT | ||||||||
FreeSynd | 0.7.5 | ✗ | ✗ | ✗ | Syndicate (1993) | |||
Syndicate Wars Port | 0.3 | ✗ | ✗ | ✓ | Syndicate Wars | |||
TBS | ||||||||
civctp2 | Pyra | git (ctp2 for Linux/Pandora/Pyra]) |
✗ | ~ | ✓ | Call to Power II | ||
CivOne | git | ✗ | ✓ | ✗ (WIP) | Sid Meier's Civilization | |||
OpenXcom | git | ✗ | ✓ | ✓ | UFO: Enemy Unknown (X-Com: UFO Defense), X-COM: Terror From the Deep | |||
Sandbox | ||||||||
OpenRW | git | ✗ | ✓ | ~ | Grand Theft Auto III | |||
re3[N 9] reVC |
[3] reVC |
✗ | ✓ | ✓ | Grand Theft Auto III, Grand Theft Auto: Vice City | |||
San Andreas Unity | git | ✗ | ✓ | ~ | Grand Theft Auto: San Andreas | |||
Shoot 'em up | ||||||||
OpenTyrian | git | ✗ | ✓ | ✓ | Tyrian | |||
Sim - City-building | ||||||||
CaesarIA | 0.5 (2016) | ✗ | ✗ | ✗ | Caesar III | |||
Julius Augustus (Gameplay changes) |
1.7 3.0.1 |
✗ | ✓ | ✓ | Caesar III | |||
Sim - Construction/Management | ||||||||
CorsixTH | git | ✗ | ✓ | ✓ | Theme Hospital | |||
OpenLoco | git | ✗ | ✓ | ✓ | Chris Sawyer's Locomotion | |||
OpenRCT2 | git | ✗ | ✓ | ✓ | RollerCoaster Tycoon 2 | |||
OpenTTD | git | ✗ | ✓ | ✓ | Transport Tycoon Deluxe | |||
Sim - Flight Combat | ||||||||
terminal-recall | git Nightly Builds |
✗ | ✓ | ✓ | Terminal Volocity, Fury3 | |||
TPS | ||||||||
max_vita | git | ✗ | ✓ | ✓ | Max Payne | |||
Visual novel | ||||||||
NitroSharp | git | ✗ | ✓ | ~ (WIP) | ChäoS;HEAd NoAH |
Notes
- ↑ OpenLara was inspired by OpenTomb
- ↑ VoidSW is included with EDuke32
- ↑ ZDoom has been discontinued. However the development of its replacements, GZDoom and LZDoom, is still active.
- ↑ Stargus is in pre-alpha but development has been halted. Stratagus, Wargus, and War1gus are being updated regularly.
- ↑ StarCraft is only partially playable in Stargus in Stargus's current stage. The other games for the other engines work well if installed correctly.
- ↑ PrBoom-plus is still active
- ↑ vkQuake is based on Quakespasm, but uses Vulkan instead of OpenGL for rendering
- ↑ Based on Stunt Car Racer Remake for Windows
- ↑ re3 and reVC have been taken down by Take-Two again.
External links
- Open Source Game Clones (Likely the best and most complete list.)
- Games on GitHub by Lee Reilly (Master list in wider view. This list from leereilly contains Table of Contents and categories with highlighted links to Git repos.)
- Open Source Games on GitHub by Trilarion (Master list. As good as OSGC site above & frighteningly far larger list than leereilly's Git list. Over 1200 game entries!)
- Game engine recreation on Wikipedia (Has links to lists of: 1) commercial video games with source code; 2) source ports; and 3) game engine recreations.)
- List of games with reconstructed source code on Wikipedia
- List of open-source video games on Wikipedia (Not very complete, and the different categories are somewhat confusing.)
- LibreGameWiki (Small learning curve applies for navigating around the wiki. Tends to focus more on indigenous open-source engines.)
- Game category of the Free software directory (Wiki with fairly basic content. Tends to focus more on indigenous open-source engines.)
- Curated Lists:
- Tuncay D.'s recommendations for OS, DRM-free games (thingsiplay.game.blog. Mar 13, 2020. Not for game recreations. Some selections have similarities to old commercial games.)
- Tuncay D.'s recommendations for OS & alike games (thingsiplay.game.blog. May 19, 2020. Focused on game recreations and engines similar to other games.)
News:
- GamingOnLinux.com (For the latest news on releases and updates of game recreations and source ports that work on Linux)
- Reddit feed (Aggregation quality is a little bit spotty. You have to wade through the news posts a bit for the relevant software.)
- List of Open Source Games on Reddit (Thread by u/AMD_CEO. Wed Jul 1, 2020. Had added recommendations to links also seen above.)