Changes

Jump to navigation Jump to search

Game engine recreations and source ports

156 bytes added, 16 January
m
no edit summary
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 re-implementing 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 '''[[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 de-compile 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 [[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.
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 re-implements 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|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|External links]] section has lists for a number of known and available projects.
On Linux downloading and using game engines is easy with [https://github.com/luxtorpeda-dev/luxtorpeda Luxtorpeda] - a Steam Play compatibility tool (like [[Proton]]) that allows you to run games from Steam using various different game engines and reimplementationsre-implementations. Alternatively some package managers/app stores, such as [https://flathub.org/ flatpak]] and [https://snapcraft.io/ snap] include source ports.
For macOS, [https://macsourceports.com Mac Source Ports] provides many of the games below but built for Apple Silicon (or as a Universal Binary where possible), with the apps signed and notarised. For the majority of the games, you will have to provide your own game data. The data for most of the games can be purchased on GOG or Steam (The game data from Windows versions usually work ok).

Navigation menu