Game engine recreations and source ports

From Emulation General Wiki
Revision as of 11:42, 3 April 2022 by Rdx (talk | contribs) (Multi game engine: it's git abb. of GitHub. Not a gif)
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.

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 Windows Linux macOS git Tomb Raider 1–5
OpenLara[N 1] Windows Linux macOS Android Linux ARM Nintendo 3DS git ~ Tomb Raider 1–4
Adventure
ScummVM Multi-platform 2.8.0 Adventure games and RPGs (LucasArts, Sierra, Activision, Humongous & more. Over 250 games.)
Beat 'em Ups
OpenBOR Multi-platform git ~ Various beat 'em ups
FPS
BuildGDX Windows Linux macOS Website Blood, Duke Nukem 3D, Shadow Warrior, Powerslave/Exhumed, Redneck Rampage, Redneck Rampage Rides Again, Witchaven, Witchaven II, TekWar, Legend of the Seven Paladins
openDarkEngine Windows Linux git Thief 1-2, System Shock 2
Raze Windows Linux macOS git Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave, Nam, WW2 GI
EDuke32
VoidSW [N 2]
Windows Linux macOS FreeBSD Website EDuke32: Duke Nukem 3D, Ion Fury, NAM, World War II GI
VoidSW: Shadow Warrior
RedNukem Windows Linux git Duke Nukem 3D, Duke Nukem 64, Redneck Rampage, Redneck Rampage Rides Again, NAM, World War II GI
Metaforce Windows Linux macOS Dev builds
git
(WIP) Metroid Prime 1–3
XLEngine Windows Linux git Star Wars: Dark Forces, Daggerfall
Later: Outlaws, Blood, Shadow Warrior
ZDoom Windows Linux macOS 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 Windows Linux macOS Switch 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 Windows Linux macOS 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
Falltergeist Windows Linux git (WIP) Fallout 1-2
GemRB Windows Linux macOS FreeBSD Android git Infinity Engine
(Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002))
JoiPlay Android 1.01.701 RPG Maker XP/VX/VA/MV/MV games/Ren'Py/TyranoBuilder/HTML based games
Neko RPGXP Player Android 2.01 ~ RPG Maker XP/VX/VA/MV games
xoreos Windows Linux macOS 0.0.6 (WIP) BioWare's Aurora engine & derivatives
(BioWare's 7 PC/console RPGs, Sonic Chronicles: The Dark Brotherhood, The Witcher)
RTS
openage Windows Linux macOS FreeBSD git ~ Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds
OpenRA Windows Linux macOS FreeBSD Vita git Early Westwood games (Command & Conquer, C&C: Red Alert).
Soon: 2nd-gen C&C (C&C: Tiberian Sun).
Vanilla Conquer Windows Linux macOS FreeBSD 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 Windows Linux macOS 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] Windows Linux macOS Android 3.2.0 [N 5] [N 6] Wargus (v3.2.0): Warcraft II: Tides of Darkness + Beyond the Dark Portal, Aleona's Tale
War1gus (v3.2.0): Warcraft: Orcs & Humans
Stargus (v2.4.1): StarCraft (partially playable)
Games natively made on the Stratagus engine: Aleona's Tale (Wargus), Astroseries, Bos Wars, 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 Windows Linux macOS Build
git
~ Star Wars Jedi Knight II: Jedi Outcast, Star Wars Jedi Knight: Jedi Academy
Adventure
The Ur-Quan Masters Windows Linux macOS FreeBSD 0.8.0 Star Control II
FPS
Aleph One Windows Linux macOS 1.4 Marathon 1–2, Marathon Infinity
BStone Windows Linux macOS git Blake Stone: Aliens of Gold, Blake Stone: Planet Strike
Crispy Doom
Crispy Heretic
Windows Linux git Crispy Doom: Doom 1–2, Final Doom
Crispy Heretic: Heretic
D2X-XL
DXX-Rebirth
Windows Linux macOS 1.18.76
git
Descent, Descent II
dhewm3 Windows Linux macOS FreeBSD git Doom 3 (Original)
Doom64 EX Windows Linux macOS 2.5 Doom 64 (Original)
Descent Wii Wii 1.12
git (forked)
Descent
DXX-3DS[N 7] Nintendo 3DS git Descent, Descent II
DXX-Retro[N 7] Windows macOS git Descent, Descent II
DXX-Switch[N 7] Switch git ? Descent, Descent II
ECWolf Windows Linux macOS Android 1.3.3 Wolfenstein 3D, Spear of Destiny, Super 3D Noah’s Ark
EDuke32 Wii Wii Website Duke Nukem 3D
Freespace 2 Wii Wii beta 3 ? Freespace 2
Hammer of Thyrion Windows Linux macOS 1.5.9 Hexen II
Heretic Wii[N 8] Wii 0.5 ? Heretic
Hexen Wii
HHexen (Wii)[N 9]
Wii 1.0
0.5
? Hexen
HHeretic[N 8] Linux 0.2.3 ? Heretic
HHexen[N 9] Linux 1.6.3 ? Hexen
ioquake3 Windows Linux macOS 1.36 Quake III: Arena
iortcw Windows Linux macOS git ~ Return to Castle Wolfenstein
Linux Hexen[N 9] Linux 0.6.0 Hexen
NBlood Windows Linux git Blood
OpenMoHAA Windows Linux [1] Medal of Honour: Allied Assault
OpenXRay Windows Linux git S.T.A.L.K.E.R.: Clear Sky, S.T.A.L.K.E.R.: Call of Pripyat
PCExhumed Windows Linux [2] Powerslave (PC)
Powerslave EX Windows Linux macOS git Powerslave (Console)
PrBoom Windows Linux macOS FreeBSD git ~[N 10] Doom 1–2, Final Doom
Quakespasm
vkQuake[N 11]
Windows Linux macOS 0.94.2
git
Quake 1
RBDOOM-3-BFG Windows Linux git Doom 3 (BFG Edition)
Rise of the Triad for Linux Windows 7 Linux Dreamcast git Rise of the Triad: Dark War
rottexpr Windows Linux git Rise of the Triad: Dark War
Shockolate Windows Linux macOS FreeBSD git System Shock 1
The Force Engine Windows 0.02.001 (WIP) Star Wars: Dark Forces, Outlaws
Tyrquake Windows Linux macOS FreeBSD git Quake 1
vitaQuake II Windows Linux macOS Vita git, PS Vita Quake 2
Xash3D Windows Linux Android 0.99 ~ Half-Life 1
Yamagi Quake II Windows Linux macOS FreeBSD 8.00 Quake 2
Platform
Abe's Amazing Adventure Wii Wii r3 ? Abe's Amazing Adventure
Abuse Wii Wii 0.8.684.2 ? Abuse
Jazz² Resurrection Windows Linux macOS Android git Jazz Jackrabbit 2
Jump 'n Bump Wii 0.3.1 ? http://icculus.org/jumpnbump/
MazeOfGaliousWii Wii 0.63.3 ? The Maze of Galious remake
NXEngine
nxengine-evo
Windows Linux macOS 1.0.0.6
git
Cave Story
OpenHCL PSP Wii Nintendo 3DS Vita git ~ Hydra Castle Labyrinth
OpenJazz Windows Linux macOS Pandora GP32 DreamcastWii git ~ Jazz Jackrabbit 1
R.E.L.I.V.E. Windows Linux git Oddworld: Abe's Oddysee, Oddworld: Abe's Exoddus
rawgl Windows Linux macOS git Another World/Out of This World
REminiscence Windows Android 0.4.9 Flashback (Another World's spiritual sequel)
Rigel Engine Windows Linux macOS Linux ARM git Duke Nukem II
RSDK Windows Linux macOS Android Vita Switch Sonic 1 & 2
Sonic CD
Sonic the Hedgehog 1–2, Sonic CD
SDLPoP Windows Linux macOS git Prince of Persia (1989)
Sonic 3 A.I.R. (Angel Island Revisited) Windows Linux macOS Android Vita Switch git Sonic 3 & Knuckles
Super Mario 64 Port Multi-platform Depends on port Super Mario 64 (N64)
xrick Windows Linux GameCube BeOS GP32 #021212 Rick Dangerous
Puzzle
Jewels Wii 1.01 ? gljewel
Lemmini Windows macOS git Lemmings
Racing
CannonBall Windows Linux macOS Pandora Linux ARM git OutRun
CannonBall (Wii) Wii git OutRun
NFSIISE Windows Linux macOS Android git Need for Speed II: SE
OpenC1 Windows Linux macOS 1.4
git
Carmageddon
OpenLGR Windows Linux macOS git Lego Racers
OpenMC2 Linux macOS (via Wine) git Midnight Club II
OpenSWE1R Windows Linux macOS git (WIP) Star Wars Episode 1: Racer
RVGL Windows Linux Android Linux ARM Pandora 21.0930a-1 Re-Volt
REDriver2 Windows Linux git Driver 2
stuntcarremake[N 12] Windows 7 Linux Pandora Build 08 Stunt Car Racer (Amiga / AtariST)
RPG
Arx Libertatis Windows Linux macOS FreeBSD git Arx Fatalis
Daggerfall Unity Windows Linux macOS Beta 0.13.2
git
The Elder Scrolls II: Daggerfall
DevilutionX Windows Linux macOS FreeBSD Haiku Switch git Diablo
OpenGothic Windows Linux git Gothic II
OpenVIII Windows Linux git Final Fantasy VIII
OpenDiablo2 Windows Linux macOS git Diablo II
OpenMW Windows Linux macOS 0.47.0 The Elder Scrolls III: Morrowind
OpenTESArena Windows Linux macOS git (WIP) The Elder Scrolls I: Arena
REGoth Windows Linux git Gothic, Gothic II
reone Windows Linux git (WIP) Star Wars: Knights of the Old Republic 1-2
RTS
OpenDUNE Windows Linux macOS FreeBSD git Dune II: The Building of a Dynasty
TA3D Windows Linux macOS git ~ Total Annihilation
RTT
FreeSynd Windows Linux macOS 0.7.5 Syndicate (1993)
Syndicate Wars Port Windows Linux macOS 0.3 Syndicate Wars
TBS
civctp2 Windows Linux Pandora Pyra git
(ctp2 for Linux/Pandora/Pyra])
~ Call to Power II
CivOne Windows Linux macOS git (WIP) Sid Meier's Civilization
DopeWars Windows Wii [N 13] 1.1 ? DopeWars (Palm OS)
fheroes2 Windows Linux macOS Switch Vita git Heroes of Might and Magic II
OpenXcom Windows Linux macOS git UFO: Enemy Unknown (X-Com: UFO Defense), X-COM: Terror From the Deep
VCMI Windows Linux macOS Android git Heroes of Might and Magic III
Sandbox
OpenRW Windows Linux macOS FreeBSD git ~ Grand Theft Auto III
re3[N 14] Windows Linux macOS [3]
reVC
Grand Theft Auto III, Grand Theft Auto: Vice City
RE3 3DS[4] Nintendo 3DS wip ~ ~[N 15] Grand Theft Auto III
re3-nx[N 14]
reVC-nx[N 14]
Switch ? ? Grand Theft Auto III, Grand Theft Auto: Vice City
re3-vita[N 14]
reVC-vita[N 14]
Vita 1.4
1.1
? Grand Theft Auto III, Grand Theft Auto: Vice City
re3-wiiu[N 14]
reVC-wiiu[N 14]
Wii U 2021-02-01
?
? Grand Theft Auto III, Grand Theft Auto: Vice City
San Andreas Unity Windows Linux macOS Android git ~ Grand Theft Auto: San Andreas
Shoot 'em up
OpenTyrian Windows Linux Android git Tyrian
OpenTyrianWii Wii 1.7 ? Tyrian
Sim - City-building
CaesarIA Windows Linux macOS Android Haiku 0.5 (2016) Caesar III
Julius
Augustus (Gameplay changes)
Windows Linux macOS Vita Switch 1.7
3.0.1
Caesar III
Sim - Construction/Management
CorsixTH Windows Linux macOS FreeBSD git Theme Hospital
OpenLoco Windows Linux macOS git Chris Sawyer's Locomotion
OpenRCT2 Windows Linux macOS FreeBSD OpenBSD Android git RollerCoaster Tycoon 2 (required); optional: + RCT2 expansions, RCT1, RCT1 expansions
OpenTTD Windows Linux macOS git Transport Tycoon Deluxe
OpenTTD (Wii) Wii 1.3.2 ? Transport Tycoon Deluxe
Sim - Flight Combat
terminal-recall Windows Linux macOS git
Nightly Builds
Terminal Volocity, Fury3
TPS
max_vita Vita git Max Payne
Visual novel
NitroSharp Windows Linux git ~ (WIP) ChäoS;HEAd NoAH

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 in Stargus's current stage. Warcraft games for Wargus & War1gus work well if installed correctly.
  7. 7.0 7.1 7.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.
  8. 8.0 8.1 HHeretic is an open source game engine of Heretic for Linux. Heretic Wii is a Wii port is based on HHeretic 0.2.
  9. 9.0 9.1 9.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.
  10. PrBoom-plus is still active
  11. vkQuake is based on Quakespasm, but uses Vulkan instead of OpenGL for rendering
  12. Based on Stunt Car Racer Remake for Windows
  13. DopeWars PC port's download link is currently not working.
  14. 14.0 14.1 14.2 14.3 14.4 14.5 14.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.
  15. RE3 3DS is only playable on New Nintendo 3DS/2DS but even then, there will be occasionally graphical issues and frame drops.

External links

Curated Lists:

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