Difference between revisions of "Game Engine Recreations and Source Ports"

From Emulation General Wiki
Jump to navigation Jump to search
(Single game engine: fixed table)
(Single game engine)
 
(33 intermediate revisions by 18 users not shown)
Line 1: Line 1:
'''[[wikipedia:Game engine recreation|Game engine recreations]]''' (sometimes called '''game engine re-implementations''') are game engines designed to recreate the workings of another. They often reimplement games in ways that the original developer did not intend; for example, for a platform other than which publishers marketed it for. Recreations aren't just limited to game engines either; as an example, [https://webamp.org/ Webamp] is a JavaScript application that reimplements Winamp.
+
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.
  
These recreations 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. Recreations are almost always open-source which also allows new programmers to fix bugs that could have been difficult to track down during the game's development (alternatively the bugs may be emulated to allow mods to continue to use them). With the [[source code]] unavailable, programmers 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 program uses them.
+
* 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 '''[[wikipedia:Game engine recreation|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.
 +
* 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 [[wikipedia:List of Doom source ports|so many ports being released]] that the community began to joke about what devices haven't gotten it running yet.
  
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 are remade. When a game engine recreation is unofficially made from the original game's publicly available source code, it's called a source port. For a complete list of game engine recreations, see [https://osgameclones.com/ Open Source Game Clones].
+
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; [https://webamp.org/ 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 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 a complete list of these projects, see [https://osgameclones.com/ Open Source Game Clones].
  
 
==Multi game engine==
 
==Multi game engine==
Line 13: Line 16:
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|Active
 
! scope="col"|Active
! scope="col"|[[Recommended emulators|Recommended]]
+
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|Supported game(s)
 
! scope="col"|Supported game(s)
 
|-
 
|-
Line 26: Line 29:
 
|[[ScummVM]]
 
|[[ScummVM]]
 
|Multi-platform
 
|Multi-platform
|[https://www.scummvm.org/downloads/ 2.0.0]
+
|[https://www.scummvm.org/downloads/ {{ScummVMVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|Adventure games (LucasArts, Sierra, Activision, Humongous & more)
 
|Adventure games (LucasArts, Sierra, Activision, Humongous & more)
Line 33: Line 36:
 
|-
 
|-
 
|XLEngine
 
|XLEngine
|Windows, Linux
+
|{{Icon|Windows|Linux}}
 
|[https://github.com/Mindwerks/XLEngine/releases 0.1.0]
 
|[https://github.com/Mindwerks/XLEngine/releases 0.1.0]
 +
|{{✗}} ||{{✗}} ||{{✓}}
 +
|Star Wars: Dark Forces, Daggerfall. <br/>''Later:'' Outlaws, Blood, Shadow Warrior.
 +
|-
 +
|[http://m210.duke4.net/ BuildGDX]
 +
|{{Icon|Windows|Linux|macOS}}
 +
|[http://m210.duke4.net/ Website]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
|Star Wars: Dark Forces, Daggerfall. <br/>''Later:'' Outlaws, Blood, Shadow Warrior.
+
|Blood, Duke Nukem 3D, Shadow Warrior, Powerslave/Exhumed, Redneck Rampage, Redneck Rampage Rides Again, Witchaven, Witchaven II, TekWar, Legend of the Seven Paladins
 +
|-
 +
|[https://github.com/AxioDL/urde URDE]
 +
|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/AxioDL/urde/releases Git]
 +
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 +
|Metroid Prime 1-3
 
|-
 
|-
 
!colspan="9"|RPG
 
!colspan="9"|RPG
Line 42: Line 57:
 
|[[EasyRPG]]
 
|[[EasyRPG]]
 
|Multi-platform
 
|Multi-platform
|[https://easyrpg.org/player/downloads/ 0.5.3]
+
|[https://easyrpg.org/player/downloads/ 0.6.0]
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|RPG Maker 2000/2003 games
 
|RPG Maker 2000/2003 games
 +
|-
 +
|[[Neko RPGXP Player]]
 +
|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=net.kernys.rgss&hl 2.01]
 +
|{{✗}} ||{{✓}} ||{{~}}
 +
|RPG Maker XP/VX/VA/MV games
 
|-
 
|-
 
|[https://xoreos.org/ xoreos]
 
|[https://xoreos.org/ xoreos]
|Windows, Linux, macOS
+
|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/xoreos/xoreos 0.0.5]
 
|[https://github.com/xoreos/xoreos 0.0.5]
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|BioWare's Aurora engine & derivatives <br/>(BioWare's 7 PC/console RPGs, Sonic Chronicles: The Dark Brotherhood, The Witcher)
 
|BioWare's Aurora engine & derivatives <br/>(BioWare's 7 PC/console RPGs, Sonic Chronicles: The Dark Brotherhood, The Witcher)
 +
|-
 +
|[http://www.gemrb.org/ GemRB]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Android}}
 +
|[https://github.com/gemrb/gemrb/releases 0.8.5]
 +
|{{✗}} ||{{✓}} ||{{✓}}
 +
|Infinity Engine <br/>(Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002))
 
|-
 
|-
 
!colspan="9"|RTS
 
!colspan="9"|RTS
 
|-
 
|-
 
|[http://www.openra.net/ OpenRA]
 
|[http://www.openra.net/ OpenRA]
|Windows, Linux, macOS, BSD
+
|{{Icon|Windows|Linux|macOS|BSD}}
 
|[https://github.com/OpenRA/OpenRA/releases Git]
 
|[https://github.com/OpenRA/OpenRA/releases Git]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Early Westwood games (Command & Conquer, C&C: Red Alert, Dune 2000). <br/>''Soon:'' 2nd-gen C&C (C&C: Tiberian Sun).
 
|Early Westwood games (Command & Conquer, C&C: Red Alert, Dune 2000). <br/>''Soon:'' 2nd-gen C&C (C&C: Tiberian Sun).
 +
|-
 +
|[https://openage.sft.mx/ openage]
 +
|align=left|{{Icon|Windows|Linux|macOS|BSD}}
 +
|[https://github.com/SFTtech/openage/releases 0.3.0]
 +
|{{✗}} ||{{✓}} ||{{~}}
 +
|Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds
 +
|-
 +
|[http://timjones.io/blog/tags/opensage/ OpenSAGE]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/OpenSAGE/OpenSAGE/releases 0.3.0]
 +
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 +
|EA's Command & Conquer games <br/>(C&C: Generals, C&C: Generals - Zero Hour) <br/>''Soon:'' The Battle for Middle-earth series (2004-2006), C&C 3 & expansion.
 +
|-
 +
!colspan="9"|Shoot 'em up
 +
|-
 +
|ReC98
 +
|Multi-platform
 +
|[https://github.com/nmlgc/ReC98 Git]
 +
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 +
|Touhou 1 - 5
 +
|-
 +
!colspan="9"|Action-adventure
 +
|-
 +
|[https://opentomb.github.io/ OpenTomb]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/opentomb/OpenTomb/releases Git]
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|Tomb Raider 1-5
 
|}
 
|}
  
Line 65: Line 120:
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|Active
 
! scope="col"|Active
! scope="col"|[[Recommended emulators|Recommended]]
+
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|Supported game(s)
 
! scope="col"|Supported game(s)
|-
 
|[https://opentomb.github.io/ OpenTomb]
 
|<span title="With Libretro">Multi-platform<sup>&Dagger;</sup></span>
 
|[https://github.com/opentomb/OpenTomb/releases Git]
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|Tomb Raider 1-5
 
 
|-
 
|-
 
|[https://openrw.org/ OpenRW]
 
|[https://openrw.org/ OpenRW]
|Linux, Windows, macOS, OpenBSD
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/rwengine/openrw Git]
 
|[https://github.com/rwengine/openrw Git]
 
|{{✗}} ||{{✓}} ||{{~}}
 
|{{✗}} ||{{✓}} ||{{~}}
 
|Grand Theft Auto III
 
|Grand Theft Auto III
 +
|-
 +
|[https://gta-asm.github.io/ San Andreas Unity]
 +
|align=left|{{Icon|Windows|Linux|macOS|Android}}
 +
|[https://github.com/GTA-ASM/SanAndreasUnity#download 3.2]
 +
|{{✗}} ||{{✓}} ||{{~}}
 +
|Grand Theft Auto: San Andreas
 +
|-
 +
|[https://github.com/diasurgical/devilutionX DevilutionX]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Haiku|Switch}}
 +
|[https://github.com/diasurgical/devilutionX/releases 1.0.0]
 +
|{{✗}} ||{{✓}} ||{{na|text=TBD}}
 +
|Diablo
 
|-
 
|-
 
!colspan="9"|FPS
 
!colspan="9"|FPS
 
|-
 
|-
 
|[http://www.descent2.de/ D2X-XL] <br/>[https://www.dxx-rebirth.com/ DXX-Rebirth]
 
|[http://www.descent2.de/ D2X-XL] <br/>[https://www.dxx-rebirth.com/ DXX-Rebirth]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://sourceforge.net/projects/d2x-xl/ 1.18.74] <br/>[https://github.com/dxx-rebirth/dxx-rebirth/releases 0.60 Beta 2]
 
|[https://sourceforge.net/projects/d2x-xl/ 1.18.74] <br/>[https://github.com/dxx-rebirth/dxx-rebirth/releases 0.60 Beta 2]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Descent, Descent II
 
|Descent, Descent II
 +
|-
 +
|[http://maniacsvault.net/ecwolf/ ECWolf]
 +
|align=left|{{Icon|Windows|Linux|macOS|Android}}
 +
|[http://maniacsvault.net/ecwolf/download.php 1.3.3]
 +
|{{✓}} ||{{✓}} ||{{✓}}
 +
|Wolfenstein 3D, Spear of Destiny, Super 3D Noah’s Ark
 +
|-
 +
|[https://docs.libretro.com/library/prboom/ PrBoom]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/libretro/libretro-prboom Git]
 +
|{{✓}} ||? ||{{✓}}
 +
|Doom 1-2, Final Doom
 
|-
 
|-
 
|Shockolate
 
|Shockolate
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/Interrupt/systemshock/releases 0.6.0]
+
|[https://github.com/Interrupt/systemshock/releases 0.7.7]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
|System Shock: Enhanced Edition
+
|System Shock 1
 
|-
 
|-
|[https://github.com/AxioDL/urde URDE]
+
|[https://disenchant.net/tyrquake/ Tyrquake]
|Windows, macOS
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/AxioDL/urde/releases Git]
+
|[https://disenchant.net/git/tyrquake.git Git]
|{{}} ||{{✓}} ||{{}} <small>(WIP)</small>
+
|{{✓}} ||{{✓}} ||{{✓}}
|Metroid Prime 1-3
+
|Quake 1
 +
|-
 +
|vitaQuake II
 +
|align=left|{{Icon|Windows|Linux|macOS|Vita}}
 +
|[https://github.com/Rinnegatamante/vitaQuakeII Git], [http://vitadb.rinnegatamante.it/#/info/278 PS Vita]
 +
|{{}} ||{{✓}} ||{{}}
 +
|Quake 2
 
|-
 
|-
 
!colspan="9"|Platform
 
!colspan="9"|Platform
 
|-
 
|-
 
|NXEngine <br/>nxengine-evo
 
|NXEngine <br/>nxengine-evo
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://nxengine.sourceforge.net 1.0.0.6] <br/>[https://github.com/nxengine/nxengine-evo/releases 2.6.3]
+
|[http://nxengine.sourceforge.net 1.0.0.6] <br/>[https://github.com/nxengine/nxengine-evo/releases 2.6.4]
 
|{{✓}} ||{{✗}} ||{{✓}}
 
|{{✓}} ||{{✗}} ||{{✓}}
 
|Cave Story
 
|Cave Story
 
|-
 
|-
 
|rawgl
 
|rawgl
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/cyxx/rawgl/releases 0.2.1]
 
|[https://github.com/cyxx/rawgl/releases 0.2.1]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
Line 119: Line 198:
 
|-
 
|-
 
|REminiscence
 
|REminiscence
|<span title="With Libretro">Multi-platform<sup>&Dagger;</sup></span>
+
|align=left|{{Icon|Windows|Android}}
|[http://cyxdown.free.fr/reminiscence/ 0.4.4]
+
|[http://cyxdown.free.fr/reminiscence/ 0.4.5]
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|{{✓}} ||{{✓}} ||{{✓}}
 
|Flashback (Another World's spiritual sequel)
 
|Flashback (Another World's spiritual sequel)
 +
|-
 +
|Super Mario 64 PC Port
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://share.dmca.gripe/X8plCoMeXl8vrrnM.7z Unofficial leak](Not updated)<!--has the source code and both leaked versions (Windows only)--><br>[https://sm64pc.info/sm64pcbuilder2/ Source Builder]
 +
|{{✗}} ||{{✓}} ||{{✓}}
 +
|Super Mario 64
 
|-
 
|-
 
|[http://www.bigorno.net/xrick/ xrick]
 
|[http://www.bigorno.net/xrick/ xrick]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|GameCube|BeOS|Amiga|GP32}}
 
|[http://www.bigorno.net/xrick/download.html #021212]
 
|[http://www.bigorno.net/xrick/download.html #021212]
 
|{{✓}} ||{{✗}} ||{{✓}}
 
|{{✓}} ||{{✗}} ||{{✓}}
Line 133: Line 218:
 
|-
 
|-
 
|[https://github.com/djyt/cannonball CannonBall]
 
|[https://github.com/djyt/cannonball CannonBall]
|<span title="With Libretro">Multi-platform<sup>&Dagger;</sup></span>
+
|align=left|{{Icon|Windows|Linux|macOS|Pandora|LinuxARM}}
 
|[https://github.com/djyt/cannonball/wiki 0.3]
 
|[https://github.com/djyt/cannonball/wiki 0.3]
 
|{{✓}} ||{{✗}} ||{{✓}}
 
|{{✓}} ||{{✗}} ||{{✓}}
Line 139: Line 224:
 
|-
 
|-
 
|NFSIISE
 
|NFSIISE
|Windows, Linux, macOS, <br/>ARM devices (Android)
+
|align=left|{{Icon|Windows|Linux|macOS|Android}}
|[https://github.com/zaps166/NFSIISE/releases 1.2.4]
+
|[https://github.com/zaps166/NFSIISE/releases Git]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Need for Speed II: SE
 
|Need for Speed II: SE
 
|-
 
|-
 
|OpenMC2
 
|OpenMC2
|Linux, macOS (Both on Wine)
+
|align=left|{{Icon|Linux|macOS}} (via [[Wine]])
 
|[https://github.com/LRFLEW/OpenMC2/releases 0.0.2]
 
|[https://github.com/LRFLEW/OpenMC2/releases 0.0.2]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
Line 151: Line 236:
 
|-
 
|-
 
|[https://yethiel.gitlab.io/RVDocs/ RVGL]
 
|[https://yethiel.gitlab.io/RVDocs/ RVGL]
|Windows, Linux, mobile
+
|align=left|{{Icon|Windows|Linux|Android|LinuxARM|Pandora}}
|[https://rvgl.re-volt.io 18.0731a]
+
|[https://rvgl.re-volt.io 19.0430a]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Re-Volt
 
|Re-Volt
 
|-
 
|-
|[https://pyra-handheld.com/boards/threads/stunt-car-remake.79671/ stuntcarremake]
+
|[https://pyra-handheld.com/boards/threads/stunt-car-remake.79671/ stuntcarremake]<ref group=N>Based on Stunt Car Racer Remake for Windows</ref>
|Linux, OpenPandora. <br/>Windows (Old).
+
|align=left|{{Icon|Windows7|Linux|Pandora}}
 
|[https://repo.openpandora.org/?page=detail&app=stuntcarremake_ptitseb Build 07]
 
|[https://repo.openpandora.org/?page=detail&app=stuntcarremake_ptitseb Build 07]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
|Stunt Car Racer Remake (Windows remake of Stunt Car Racer on Amiga/AtariST)
+
|Stunt Car Racer (Amiga / AtariST)
 
|-
 
|-
 
|OpenLGR
 
|OpenLGR
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/james-knippes/openlgr Git]
 
|[https://github.com/james-knippes/openlgr Git]
 
|{{✗}} ||{{✗}} ||{{✗}}
 
|{{✗}} ||{{✗}} ||{{✗}}
Line 169: Line 254:
 
|-
 
|-
 
|[https://openswe1r.github.io/ OpenSWE1R]
 
|[https://openswe1r.github.io/ OpenSWE1R]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/OpenSWE1R/openswe1r Git]
 
|[https://github.com/OpenSWE1R/openswe1r Git]
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
Line 177: Line 262:
 
|-
 
|-
 
|[http://arx-libertatis.org/ Arx Libertatis]
 
|[http://arx-libertatis.org/ Arx Libertatis]
|Windows, Linux, macOS, FreeBSD
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/arx/ArxLibertatis/releases 1.1.2-r1]
 
|[https://github.com/arx/ArxLibertatis/releases 1.1.2-r1]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
Line 183: Line 268:
 
|-
 
|-
 
|[https://github.com/Interkarma/daggerfall-unity Daggerfall Unity]
 
|[https://github.com/Interkarma/daggerfall-unity Daggerfall Unity]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://www.dfworkshop.net/projects/daggerfall-unity/live-builds/ PreAlpha 0.5]
+
|[https://www.dfworkshop.net/projects/daggerfall-unity/live-builds/ PreAlpha 0.7]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|The Elder Scrolls II: Daggerfall
 
|The Elder Scrolls II: Daggerfall
 
|-
 
|-
|[http://www.gemrb.org/ GemRB]
+
|[https://makipl.github.io/OpenVIII/ OpenVIII]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux}} <!-- planned: {{Icon|Android|iOS}} -->
|[https://github.com/gemrb/gemrb/releases 0.8.5]
+
|[https://github.com/MaKiPL/OpenVIII Git]
|{{✗}} ||{{✓}} ||{{}}
+
|{{✗}} ||{{✓}} ||{{}}
|Infinity Engine <br/>(Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002))
+
|Final Fantasy VIII
 
|-
 
|-
 
|[https://github.com/OpenSWE1R/openswe1r OpenMW]
 
|[https://github.com/OpenSWE1R/openswe1r OpenMW]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://openmw.org/downloads/ 0.44]
+
|[https://openmw.org/downloads/ 0.45.0]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|The Elder Scrolls III: Morrowind
 
|The Elder Scrolls III: Morrowind
 
|-
 
|-
 
|[https://github.com/afritz1/OpenTESArena OpenTESArena]
 
|[https://github.com/afritz1/OpenTESArena OpenTESArena]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/afritz1/OpenTESArena/releases 0.8.0]
+
|[https://github.com/afritz1/OpenTESArena/releases 0.9.0]
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|The Elder Scrolls I: Arena
 
|The Elder Scrolls I: Arena
 
|-
 
|-
 
!colspan="9"|RTS
 
!colspan="9"|RTS
|-
 
|[https://openage.sft.mx/ openage]
 
|Windows, Linux, macOS, BSD
 
|[https://github.com/SFTtech/openage/releases 0.3.0]
 
|{{✗}} ||{{✓}} ||{{~}}
 
|Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds
 
 
|-
 
|-
 
|[http://www.ta3d.org/home-en.php TA3D]
 
|[http://www.ta3d.org/home-en.php TA3D]
|Windows Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/zuzuf/TA3D/releases 0.6.0]
 
|[https://github.com/zuzuf/TA3D/releases 0.6.0]
 
|{{✗}} ||{{✗}} ||{{~}}
 
|{{✗}} ||{{✗}} ||{{~}}
 
|Total Annihilation
 
|Total Annihilation
|-
 
|[http://timjones.io/blog/tags/opensage/ OpenSAGE]
 
|Windows Linux, macOS
 
|[https://github.com/OpenSAGE/OpenSAGE/releases 0.2.0]
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|EA's Command & Conquer games <br/>(C&C: Generals, C&C: Generals - Zero Hour) <br/>''Soon:'' The Battle for Middle-earth series (2004-2006), C&C 3 & expansion.
 
 
|-
 
|-
 
!colspan="9"|RTT
 
!colspan="9"|RTT
 
|-
 
|-
 
|Syndicate Wars Port  
 
|Syndicate Wars Port  
|Windows Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[http://swars.vexillium.org/ 0.3]
 
|[http://swars.vexillium.org/ 0.3]
 
|{{✗}} ||{{✗}} ||{{✓}}
 
|{{✗}} ||{{✗}} ||{{✓}}
Line 235: Line 308:
 
|-
 
|-
 
|[http://freesynd.sourceforge.net/ FreeSynd]
 
|[http://freesynd.sourceforge.net/ FreeSynd]
|Windows Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://sourceforge.net/projects/freesynd/ 0.7.5]
 
|[https://sourceforge.net/projects/freesynd/ 0.7.5]
 
|{{✗}} ||{{✗}} ||{{✗}}
 
|{{✗}} ||{{✗}} ||{{✗}}
Line 243: Line 316:
 
|-
 
|-
 
|[https://ctp2.darkdust.net/ civctp2]
 
|[https://ctp2.darkdust.net/ civctp2]
|Windows, Linux, Pandora, Pyra
+
|align=left|{{Icon|Windows|Linux|Pandora}} Pyra
 
|[https://github.com/civctp2/civctp2/releases 2010-04-01] <br/>([https://github.com/ptitSeb/ctp2 ctp2] for Linux/Pandora/Pyra])
 
|[https://github.com/civctp2/civctp2/releases 2010-04-01] <br/>([https://github.com/ptitSeb/ctp2 ctp2] for Linux/Pandora/Pyra])
 
|{{✗}} ||{{~}} ||{{✓}}
 
|{{✗}} ||{{~}} ||{{✓}}
Line 249: Line 322:
 
|-
 
|-
 
|[https://openxcom.org/ OpenXcom]
 
|[https://openxcom.org/ OpenXcom]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://openxcom.org/git-builds/ Git]
 
|[https://openxcom.org/git-builds/ Git]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
Line 255: Line 328:
 
|-
 
|-
 
|[https://www.civone.org/ CivOne]
 
|[https://www.civone.org/ CivOne]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/SWY1985/CivOne 0.1.0pre-alpha]
+
|[https://github.com/SWY1985/CivOne Git]
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|{{✗}} ||{{✓}} ||{{✗}} <small>(WIP)</small>
 
|Sid Meier's Civilization
 
|Sid Meier's Civilization
Line 263: Line 336:
 
|-
 
|-
 
|[http://corsixth.com/ CorsixTH]
 
|[http://corsixth.com/ CorsixTH]
|Windows, Linux, macOS, BSD
+
|align=left|{{Icon|Windows|Linux|macOS|BSD}}
|[https://github.com/CorsixTH/CorsixTH/releases 0.62]
+
|[https://github.com/CorsixTH/CorsixTH/releases 0.63 Beta 1]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Theme Hospital
 
|Theme Hospital
 
|-
 
|-
 
|[https://www.reddit.com/r/locomotion/ OpenLoco]
 
|[https://www.reddit.com/r/locomotion/ OpenLoco]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/OpenRCT2/OpenLoco/releases 18.02]
+
|[https://github.com/OpenRCT2/OpenLoco/releases 19.03]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Chris Sawyer's Locomotion
 
|Chris Sawyer's Locomotion
 
|-
 
|-
 
|[https://openrct2.org/ OpenRCT2]
 
|[https://openrct2.org/ OpenRCT2]
|Windows, Linux, macOS
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/OpenRCT2/OpenRCT2/releases 0.2.1]
+
|[https://github.com/OpenRCT2/OpenRCT2/releases 0.2.3]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|RollerCoaster Tycoon 2
 
|RollerCoaster Tycoon 2
 
|-
 
|-
 
|[https://www.openttd.org/en/ OpenTTD]
 
|[https://www.openttd.org/en/ OpenTTD]
|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/OpenTTD/OpenTTD/releases 1.8.0]
+
|[https://github.com/OpenTTD/OpenTTD/releases 1.9.1]
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|{{✗}} ||{{✓}} ||{{✓}}
 
|Transport Tycoon Deluxe
 
|Transport Tycoon Deluxe
 
|}
 
|}
 +
 +
==Notes==
 +
<references group=N />
  
 
[[Category:Game engine recreations]]
 
[[Category:Game engine recreations]]
 +
[[Category:Not really emulators]]

Latest revision as of 22:46, 26 June 2020

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.
  • 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 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 a complete list of these projects, see Open Source Game Clones.

Multi game engine[edit]

Name Operating System(s) Latest Version Libretro Core Active Recommended Supported game(s)
Adventure
ResidualVM Multi-platform 0.3.1 3D adventure games (Grim Fandango, Escape from Monkey Island & Myst III: Exile)
ScummVM Multi-platform 2.1.2 Adventure games (LucasArts, Sierra, Activision, Humongous & more)
FPS
XLEngine Windows Linux 0.1.0 Star Wars: Dark Forces, Daggerfall.
Later: Outlaws, Blood, Shadow Warrior.
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
URDE Windows Linux macOS Git (WIP) Metroid Prime 1-3
RPG
EasyRPG Multi-platform 0.6.0 RPG Maker 2000/2003 games
Neko RPGXP Player Android 2.01 ~ RPG Maker XP/VX/VA/MV games
xoreos Windows Linux macOS 0.0.5 (WIP) BioWare's Aurora engine & derivatives
(BioWare's 7 PC/console RPGs, Sonic Chronicles: The Dark Brotherhood, The Witcher)
GemRB Windows Linux macOS FreeBSD Android 0.8.5 Infinity Engine
(Baldur's Gate series (1998–2001), Planescape: Torment, Icewind Dale series (2000–2002))
RTS
OpenRA Windows Linux macOS FreeBSD Git Early Westwood games (Command & Conquer, C&C: Red Alert, Dune 2000).
Soon: 2nd-gen C&C (C&C: Tiberian Sun).
openage Windows Linux macOS FreeBSD 0.3.0 ~ Age of Empires, AoE II (HD), Star Wars: Galactic Battlegrounds
OpenSAGE Windows Linux macOS 0.3.0 (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.
Shoot 'em up
ReC98 Multi-platform Git (WIP) Touhou 1 - 5
Action-adventure
OpenTomb Windows Linux macOS Git Tomb Raider 1-5

Single game engine[edit]

Name Platform(s) Latest Version Libretro Core Active Recommended Supported game(s)
OpenRW Windows Linux macOS FreeBSD Git ~ Grand Theft Auto III
San Andreas Unity Windows Linux macOS Android 3.2 ~ Grand Theft Auto: San Andreas
DevilutionX Windows Linux macOS FreeBSD Haiku Switch 1.0.0 TBD Diablo
FPS
D2X-XL
DXX-Rebirth
Windows Linux macOS 1.18.74
0.60 Beta 2
Descent, Descent II
ECWolf Windows Linux macOS Android 1.3.3 Wolfenstein 3D, Spear of Destiny, Super 3D Noah’s Ark
PrBoom Windows Linux macOS FreeBSD Git ? Doom 1-2, Final Doom
Shockolate Windows Linux macOS FreeBSD 0.7.7 System Shock 1
Tyrquake Windows Linux macOS FreeBSD Git Quake 1
vitaQuake II Windows Linux macOS Vita Git, PS Vita Quake 2
Platform
NXEngine
nxengine-evo
Windows Linux macOS 1.0.0.6
2.6.4
Cave Story
rawgl Windows Linux macOS 0.2.1 Another World/Out of This World
REminiscence Windows Android 0.4.5 Flashback (Another World's spiritual sequel)
Super Mario 64 PC Port Windows Linux Unofficial leak(Not updated)
Source Builder
Super Mario 64
xrick Windows Linux GameCube BeOS GP32 #021212 Rick Dangerous
Racing
CannonBall Windows Linux macOS Pandora Linux ARM 0.3 OutRun
NFSIISE Windows Linux macOS Android Git Need for Speed II: SE
OpenMC2 Linux macOS (via Wine) 0.0.2 Midnight Club II
RVGL Windows Linux Android Linux ARM Pandora 19.0430a Re-Volt
stuntcarremake[N 1] Windows 7 Linux Pandora Build 07 Stunt Car Racer (Amiga / AtariST)
OpenLGR Windows Linux macOS Git Lego Racers
OpenSWE1R Windows Linux macOS Git (WIP) Star Wars Episode 1: Racer
RPG
Arx Libertatis Windows Linux macOS FreeBSD 1.1.2-r1 Arx Fatalis
Daggerfall Unity Windows Linux macOS PreAlpha 0.7 The Elder Scrolls II: Daggerfall
OpenVIII Windows Linux Git Final Fantasy VIII
OpenMW Windows Linux macOS 0.45.0 The Elder Scrolls III: Morrowind
OpenTESArena Windows Linux macOS 0.9.0 (WIP) The Elder Scrolls I: Arena
RTS
TA3D Windows Linux macOS 0.6.0 ~ Total Annihilation
RTT
Syndicate Wars Port Windows Linux macOS 0.3 Syndicate Wars
FreeSynd Windows Linux macOS 0.7.5 Syndicate (1993)
TBS
civctp2 Windows Linux Pandora Pyra 2010-04-01
(ctp2 for Linux/Pandora/Pyra])
~ Call to Power II
OpenXcom Windows Linux macOS Git UFO: Enemy Unknown (X-Com: UFO Defense), X-COM: Terror From the Deep
CivOne Windows Linux macOS Git (WIP) Sid Meier's Civilization
Sim - Construction/Management
CorsixTH Windows Linux macOS FreeBSD 0.63 Beta 1 Theme Hospital
OpenLoco Windows Linux macOS 19.03 Chris Sawyer's Locomotion
OpenRCT2 Windows Linux macOS 0.2.3 RollerCoaster Tycoon 2
OpenTTD Windows Linux macOS 1.9.1 Transport Tycoon Deluxe

Notes[edit]

  1. Based on Stunt Car Racer Remake for Windows