Game engine recreations and source ports

From Emulation General Wiki
Revision as of 14:16, 7 February 2023 by NejiHyuga900 (talk | contribs) (Single game engine: Adding Zelda3 source port of ALTTP)
Jump to navigation Jump to search

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. This aspect is debatable however, as some source code recreations did result in cease-and-desist letters and even lawsuits from companies such as in the case of re3 and reVC for the 3D-era Grand Theft Auto games, with Take-Two Interactive alleging that the source ports were made to facilitate piracy and that "the work is not licensed in any way"; some have speculated that the suit among others was to keep fan-made mods from getting in the way of their much-maligned Definitive Edition remasters.

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.

Contents

Multi game engine

Name Operating System(s) Latest Version libretro Active Recommended Supported game(s) Genre
OpenLara[N 1]             git ~ Tomb Raider 1–4 Action-adventure (3rd-person)
OpenTomb   git Tomb Raider 1–5
Tomb Raider Automated Fix   TR1

TR2

~ ~ Tomb Raider 1 & 2 + their expansions
ScummVM Multi-platform 2.8.1 Adventure games and RPGs (LucasArts, Sierra, Activision, Humongous & more. Over 250 games.) Adventure
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 FPS
EDuke32
VoidSW [N 2]
        Website EDuke32: Duke Nukem 3D, Ion Fury, NAM, World War II GI
VoidSW: Shadow Warrior
Metaforce       Dev builds
git
(WIP) Retro Games
(Metroid Prime 1–3 & Donkey Kong Country Returns)
openDarkEngine     git Thief 1-2, System Shock 2
Raze       git Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave, Nam, WW2 GI
RedNukem     git Duke Nukem 3D, Duke Nukem 64, Redneck Rampage, Redneck Rampage Rides Again, NAM, World War II GI
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
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 Platform
OpenNFS       git ~ Need for Speed I–III, Need for Speed: High Stakes, Need for Speed: Porsche Unleashed, Need for Speed: Hot Pursuit 2 Racing
EasyRPG Multi-platform 0.8 RPG Maker 2000/2003 games RPG
Falltergeist     git (WIP) Fallout 1-2
GemRB           git Infinity Engine
(Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002))
JoiPlay   1.01.701 RPG Maker XP/VX/VA/MV/MV games/Ren'Py/TyranoBuilder/HTML based games
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)
openage         git ~ Genie Engine
(Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds)
RTS
OpenRA           git Early Westwood games (Command & Conquer, C&C: Red Alert).
Soon: 2nd-gen C&C (C&C: Tiberian Sun).
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[N 4]         3.3.2 [N 5] [N 6] Wargus (v3.3.2): Warcraft II: Tides of Darkness + Beyond the Dark Portal, Aleona's Tale
War1gus (v3.3.2): Warcraft: Orcs & Humans
Stargus (v3.3.0): StarCraft (partially playable as of v2.4.1)
Games natively made on the Stratagus engine: Aleona's Tale (Wargus), Astroseries, Bos Wars, Wyrmsun
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.
ReC98 Multi-platform git (WIP) Touhou 1–5 (PC-98) Shoot 'em up
Impacto           git (WIP) MAGES. Engine (Science Adventure games) Visual Novel

Single game engine

Name Platform(s) Latest Version libretro Active Recommended Supported game(s) Genre
Open Ocarina   git The Legend of Zelda: Ocarina of Time (N64) Action-adventure
OpenJK       Build
git
~ Star Wars Jedi Knight II: Jedi Outcast, Star Wars Jedi Knight: Jedi Academy
Ship of Harkinian           8.0.4
Nightly builds
git
The Legend of Zelda: Ocarina of Time (PAL GameCube version)[N 7]
Zelda3         git The Legend of Zelda: A Link to the Past
OpenGOAL     git Jak and Daxter[N 8]
OpenRakis         git (WIP) Dune (Cryo) Adventure
The Ur-Quan Masters         0.8.0 Star Control II
Ikemen GO       git Remake of the Ikemen engine that supports Mugen resources. Fighting
xGreed   doomworld In Persuit of Greed 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 I–II, Final Doom
Crispy Heretic: Heretic
D2X-XL
DXX-Rebirth
      1.18.76
git
Descent, Descent II
dhewm3         git Doom 3 (Original)
Doom64 EX       2.5 Doom 64 (Original)
Descent Wii   1.12
git (forked)
Descent
DXX-3DS[N 9]   git Descent, Descent II
DXX-Retro[N 9]     git Descent, Descent II
DXX-Switch[N 9]   git ? Descent, Descent II
ECWolf         1.3.3 Wolfenstein 3D, Spear of Destiny, Super 3D Noah’s Ark
EDuke32 Wii   Website Duke Nukem 3D
Freespace 2 Wii   beta 3 ? Freespace 2
Hammer of Thyrion       1.5.9 Hexen II
Heretic Wii[N 10]   0.5 ? Heretic
Hexen Wii
HHexen (Wii)[N 11]
  1.0
0.5
? Hexen
HHeretic[N 10]   0.2.3 ? Heretic
HHexen[N 11]   1.6.3 ? Hexen
ioquake3       1.36 Quake III: Arena
iortcw       git ~ Return to Castle Wolfenstein
Linux Hexen[N 11]   0.6.0 Hexen
NBlood     git Blood
OpenMoHAA     [3] 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     [4] Powerslave (PC)
Powerslave EX       git Powerslave (Console)
PrBoom         git ~[N 12] Doom 1–2, Final Doom
Quake GameCube/QuakeGX[N 13]     0.0.5-2 (GX) ? Quake 1
Quake Rev PAK[N 14]   release 4 ? Quake 1–2, ThreeWave CTF mod for Quake 2, QuakeWorld
Quakespasm
vkQuake[N 15]
      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   1.0 ? Star Wars: Dark Forces, Outlaws
Tyrquake         git Quake 1
vitaQuake II         git, PS Vita Quake 2
WiiDoom
WiiDoom-Fork (music support)
  0.4.5
Fork
Doom I–II, Final Doom, Chex Quest I–II (forked version only but with some conversion issues)
Wii-DOOM
Wii-HERETIC
Wii-HEXEN
Wii-STRIFE
  r33 Wii-DOOM: Doom I–II, Final Doom
Wii-HERETIC: Heretic
Wii-HEXEN: Hexen
Wii-STRIFE: Strife: Quest for the Sigil
Wolfenstein 3D Wii   1.31 Wolfenstein 3D, Spear of Destiny
Xash3D       0.99 ~ Half-Life 1
Yamagi Quake II         8.00 Quake 2
FNaF 1 3DS -old/obsolete-
FNaF 1 3DS -remastered-[N 16]
  0.2.3
0.3.1-pre1
Five Nights at Freddy's Horror
FNaF 1 PSP[N 16]   1.3.1 Fix 1 Five Nights at Freddy's
FNaF 2 3DS[N 16]   beta 1.0 Five Nights at Freddy's 2
FNaF 3 3DS[N 16]   beta 0.1.3 Five Nights at Freddy's 3
FNaF 4 3DS[N 16]   beta 0.3 ~ Five Nights at Freddy's 4
SpaceCadetPinball Multi-Platform git 3D Pinball for Windows – Space Cadet Pinball
Abe's Amazing Adventure Wii   r3 ? Abe's Amazing Adventure Platform
Abuse Wii   0.8.684.2 ? Abuse
Cave Story Engine 2               git
archive
Wii, NDS
[5] [N 17] Cave Story
Jazz² Resurrection         git Jazz Jackrabbit 2
Jump 'n Bump   0.3.1 ? Jump 'n Bump
Maze of Galious 3DS   1.0 ? The Maze of Galious remake
MazeOfGaliousWii   0.63.3 ? The Maze of Galious remake
NXEngine
nxengine-evo
      1.0.0.6
git
Cave Story
OpenHCL         git ~ Hydra Castle Labyrinth
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)
Sonic the Hedgehog Forever   1.4.1 Sonic the Hedgehog
Sonic the Hedgehog 2 Absolute   1.1.1 Sonic the Hedgehog 2
Sonic 3 A.I.R. (Angel Island Revisited)             git Sonic the Hedgehog 3 & Knuckles
Super Mario 64 Port Multi-platform Depends on port Super Mario 64 (N64)
xrick           #021212 Rick Dangerous
Jewels   1.01 ? gljewel Puzzle
Lemmini     git Lemmings
CannonBall           git OutRun Racing
CannonBall (Wii)   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
RoadFighterWii   1.0 Road Fighter
RVGL           21.0930a-1 Re-Volt
REDriver2     git Driver 2
stuntcarremake[N 18]       Build 08 Stunt Car Racer (Amiga / AtariST)
Arx Libertatis         git Arx Fatalis RPG
Daggerfall Unity       git The Elder Scrolls II: Daggerfall
DevilutionX             git Diablo
OpenGothic     git 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
REGoth     git Gothic, Gothic II
reone     git (WIP) Star Wars: Knights of the Old Republic 1-2
Riiablo         git ? Diablo II
Undertale Mobile Mod for iOS and Android     [6] Undertale
Dune Dynasty     [7] Dune II: The Building of a Dynasty RTS
Dune II: The Maker   [8] Dune II: The Building of a Dynasty
Dune Legacy         [9] Dune II: The Building of a Dynasty
OpenDUNE         git Dune II: The Building of a Dynasty
TA3D       git ~ Total Annihilation
FreeSynd       0.7.5 Syndicate (1993) RTT
Syndicate Wars Port       0.3 Syndicate Wars
Minecraft PSP   3.3.0 Minecraft Sandbox
OpenRW         git ~ Grand Theft Auto III
PSP Minecraft   3.0.0 Minecraft
re3[N 19]       [10]
reVC
Grand Theft Auto III, Grand Theft Auto: Vice City
RE3 3DS[11]   wip ~ ~[N 20] Grand Theft Auto III
re3-nx[N 19]
reVC-nx[N 19]
  ? ? Grand Theft Auto III, Grand Theft Auto: Vice City
re3-vita[N 19]
reVC-vita[N 19]
  1.4
1.1
? Grand Theft Auto III, Grand Theft Auto: Vice City
re3-wiiu[N 19]
reVC-wiiu[N 19]
  2021-02-01
?
? Grand Theft Auto III, Grand Theft Auto: Vice City
San Andreas Unity         git ~ Grand Theft Auto: San Andreas
Wiicraft (2020)   git ? ? Minecraft v1.2.5
WoxelCraft   git ? 3D Voxel Engine (Minecraft)
OpenTyrian       git Tyrian Shoot 'em up
OpenTyrianWii   1.7 ? Tyrian
CaesarIA           0.5 (2016) Caesar III Sim - City-building
Julius
Augustus (Gameplay changes)
          1.7
3.0.1
Caesar III
CorsixTH         git Theme Hospital Sim - Construction/Management
OpenLoco       git Chris Sawyer's Locomotion
OpenRCT2             git RollerCoaster Tycoon 2 (with RCT1 and expansions from both games being importable) or RollerCoaster Tycoon Classic (as of v0.4.2)
OpenTTD       git Transport Tycoon Deluxe
OpenTTD (Wii)   1.3.2 ? Transport Tycoon Deluxe
terminal-recall       git
Nightly Builds
Terminal Velocity, Fury3 Sim - Flight Combat
civctp2         git
(ctp2 for Linux/Pandora/Pyra)
~ Call to Power II TBS
CivOne       git (WIP) Sid Meier's Civilization
DopeWars     [N 21] 1.1 ? DopeWars (Palm OS)
fheroes2           git Heroes of Might and Magic II
OpenXcom       git UFO: Enemy Unknown (X-Com: UFO Defense), X-COM: Terror From the Deep
VCMI         git Heroes of Might and Magic III
max_vita   git Max Payne TPS
DDLC-LOVE           1.2.3 (PSP, Vita)
1.1.9 (PS3, 3DS, Switch)
[N 22] Doki Doki Literature Club! Visual Novel
Doki-Doki-Literature-Club-Vita   git ~ Doki Doki Literature Club!
NitroSharp     git ~ (WIP) ChäoS;HEAd NoAH
TheXTech             git Super Mario Bros. X[N 23] Platform

Notes

  1. OpenLara was inspired by OpenTomb
  2. VoidSW is included with EDuke32
  3. ZDoom has been discontinued. However the development of its replacements, GZDoom and LZDoom, is still active.
  4. Stratagus is an open-source real-time strategy game engine. Some standalone games like Aleona's Tale (included in Wargus's installation), Astroseries, Bos Wars, and Wyrmsun were built on the Stratagus game engine. Source ports for Warcraft: Orcs & Humans (War1gus), Warcraft II: Tides of Darkness + Beyond the Dark Portal (Wargus), and StarCraft (Stargus) were also built on the Stratagus engine.
  5. Stargus is in pre-alpha but development has been halted. Stratagus, Wargus, and War1gus are being updated regularly.
  6. StarCraft is only partially playable in Stargus as of v2.4.1. Warcraft games for Wargus & War1gus work well if installed correctly.
  7. Ship of Harkinian requires either the GameCube's PAL Debug ROM (recommended), PAL Master Quest Debug ROM (for Master Quest mode's dungeons; supported as of v5.0.0), or the regular PAL GameCube ROM (not recommended) of The Legend of Zelda: Ocarina of Time to generate an oot.otr file from OTRGui (from the PC download) to play it.
  8. The project de-compiled the game into GOAL code. The project also developed a general-purpose GOAL compiler. Ports of Jak 2 & 3 may be viable because they were made in GOAL too.
  9. 9.0 9.1 9.2 DXX-Retro, also known as DXX-Rebirth-Retro, requires files from DXX-Rebirth version 0.58.1 to be able to use. DXX-Switch is a port of DXX-Retro for Nintendo Switch and DXX-3DS is a Nintendo 3DS port of DXX-Switch, but they have technical issues that make them less playable.
  10. 10.0 10.1 HHeretic is an open source game engine of Heretic for Linux. Heretic Wii is a Wii port is based on HHeretic 0.2.
  11. 11.0 11.1 11.2 HHexen, also known as Hacked Hexen, is a Hexen source port was created by Dan Olson and maintained by the Hammer of Thyrion (Hexen II). It is a more advanced and portable version of the Linux Hexen source port and effectively replaced it. Hexen Wii and HHexen (Wii) are both Wii ports of Hexen based on HHexen 1.6.1.
  12. PrBoom-plus is still active
  13. QuakeGX is a Wii port of Peter Mackay's GameCube Quake port. Both are available on the same website. A forked version of QuakeGX called Quake Wii was later merged with QuakeGX.
  14. Quake Rev PAK (or QRevPack for short) is a collection of game engines of the Quake series that merges Q1Rev (Quake 1), [1] (Quake 2), Q2CTFRev (ThreeWave Capture the Flag mod for Quake II), and QWRev (QuakeWorld) in one. All by the same developer Izhido.
  15. vkQuake is based on Quakespasm, but uses Vulkan instead of OpenGL for rendering
  16. 16.0 16.1 16.2 16.3 16.4 Five Nights at Freddy's 1 3DS -remastered- is an updated version of Five Nights at Freddy 1's 3DS by the same developer FreDev, also known as BumboDEV and BaseDEV. The developer also attempted Nintendo 3DS ports of Five Nights at Freddy's 2, 3, and 4 but development stopped after the developer lost the source code for Five Nights at Freddy's 2 and would have to reverse engineer it again.[2] Those ports were only in a state of demonstration and were not fully playable, having incomplete A.I., gameplay, and missing screens. Download links to the latest version of these 3DS ports and the PS Vita port can be found on the old Discord server.
  17. Cave Story Engine 2, or CSE2 for short, received a DMCA cease and desist notice from Nicalis, the current IP owner of Cave Story, despite the original Cave Story being a freeware developed by Daisuke "Pixel" Amaya.
  18. Based on Stunt Car Racer Remake for Windows
  19. 19.0 19.1 19.2 19.3 19.4 19.5 19.6 re3 and reVC have been taken down by Take-Two again. This also includes GaryOderNichts's Wii U ports, Graber's Switch ports, and the PS Vita ports of re3 and reVC.
  20. RE3 3DS is only playable on New Nintendo 3DS/2DS but even then, there will be occasionally graphical issues and frame drops.
  21. DopeWars PC port's download link is currently not working.
  22. DDLC-LOVE is a DDLC! port programmed in Lua. Even in its final release, there may be issues DDLC-LOVE may not have been able to fix but it's still playable. The developer recommends PS Vita users to use Doki-Doki-Literature-Club-Vita for the full DDLC! desktop experience including mod support.
  23. The Super Mario Bros. X fan game project was written in VB6 originally and being a closed source for a long time. It was founded in 2009 and supported up to 2011, later abandoned by its author. For a long time, various people hacked it and attempted to reverse-engine and make clones. After 11 years, the source code was finally open. Later, by an independent developer, it was ported from VB6 into C++ with the SDL2 library and released as "TheXTech". The TheXTech, unlike the original game engine, is cross-platform and lightweight. It's able to work on a variety of operating systems and processor architectures.

See also

Game engine recreations and source ports specifically for:

External links

Curated Lists:

Specific gaming systems

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.)