HOME

TheInfoList



OR:

Game engine recreation is a type of video
game engine A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
remastering process whereby a new game engine is written from scratch as a clone of the original with the ability to load the original game's data files such as
music Music is generally defined as the art of arranging sound to create some combination of form, harmony, melody, rhythm or otherwise expressive content. Exact definitions of music vary considerably around the world, though it is an aspect ...
, textures,
scripts Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
,
shaders In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the Rendering (computer graphics), rendering of a 3D scene - a process known as ''shading''. Shaders have evolved ...
,
levels Level or levels may refer to: Engineering *Level (instrument), a device used to measure true horizontal or relative heights *Spirit level, an instrument designed to indicate whether a surface is horizontal or vertical *Canal pound or level *Regr ...
, and more. The new engine should read these data files and, in theory, load and understand them in a way that is indistinguishable from the original. The result of a proper engine clone is often the ability to play a game on modern systems that the old game could no longer run on. It also opens the possibility of community collaboration, as many engine remake projects tend to be open source. Game engine recreation can be beneficial to game publishers because the legal use of a re-creation still requires the original data files, as a player must still purchase the original game in order to legally play the re-created game (as detailed in this list of game engine recreations).


Motivation

Game engine recreations are made to allow the usage of classical games with newer
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
versions, recent hardware or even completely different operating systems than originally intended. Another motivation is the ability to fix engine bugs which is often hard or impossible with the original engines (with notable exceptions, see
community patch An unofficial patch is a patch for a piece of software, created by a third party such as a user community without the involvement of the original developer. Similar to an ordinary patch, it alleviates bugs or shortcomings. Unofficial patches do no ...
) once a software has become unsupported
abandonware Abandonware is a product, typically software, ignored by its owner and manufacturer, and for which no official support is available. Within an intellectual rights contextual background, abandonware is a software (or hardware) sub-case of the g ...
, with the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
not available.


Methods


Top down

When game engine recreations are made in a top down development methodology, in the first step the general game's functionality is programmed and the structure is defined. Then, in later steps, the resulting engine is adapted to the specific detail behaviour of the original game, often by reverse engineering, debugging and profiling the original. An example is
OpenRA ''Command & Conquer: Red Alert'' is a real-time strategy video game in the Command & Conquer, ''Command & Conquer'' franchise, produced by Westwood Studios and released by Virgin Interactive Entertainment in 1996 in video gaming, 1996. The secon ...
based on specifications contributed by the community by clean-room re-implementations without dis-assembling the original executable, which result in game engines whose behavior differs from the original. Another example is the
Total Annihilation ''Total Annihilation'' is a real-time strategy video game created by Cavedog Entertainment, a sub-division of Humongous Entertainment, and was released on September 26, 1997 by GT Interactive for Microsoft Windows and Mac OS. Two expansion packs ...
engine remake ''
Spring Engine The Spring Engine (also termed SpringRTS and formerly TA Spring), is a game engine for real-time strategy (RTS) video games. The game engine is free and open-source software, subject to the terms of the GNU General Public License v2.0 or later. ...
'', which resulted in being used for many more games. Typically, this approach results in an approximation of the original behaviour only and not a "
clock cycle In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. A clock sign ...
wise" identical behaviour. On the positive side, running code exists faster, and the finally resulting source code is less specifically tied to a specific, single game and can be reused as a general game engine for other games.


Bottom up

Unlike ''Top down'' game engine recreations, bottom up dis-assembled/decompiled versions for a specific game are often able to replicate the behaviour of the original exactly. In these cases, the game core is recreated bottom up with
reverse engineering Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
of the original dis-assembled binary executable, CPU instruction for instruction. In the development phase this has the disadvantage that for a long time no running prototype exists. Also on the negative side, the resulting code is very specifically tied to this single game, often ugly ("pseudo-
assembly code In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
"), and can hardly be reused as general game engine. Examples are ''CSBWin'' or '' OpenTTD''. Most often, the result is also not called "game engine" but "game recreation" or "game clone".
MAME MAME (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to recreate the hardware of arcade game systems in software on modern personal computers and other platforms. Its intention is to preserve ...
is an example of a video game engine emulation project which also follows this philosophy for accurate representation of the games.


Source code ports

Occasionally, as was the case with some of the engines/game cores in
ScummVM Script Creation Utility for Maniac Mansion Virtual Machine (ScummVM) is a set of game engine recreations. Originally designed to play LucasArts adventure games that use the SCUMM system, it also supports a variety of non-SCUMM games by companies ...
, the original developers have helped the projects by supplying the original
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
(those can be then called
source port A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible. Description Source ports are often cr ...
s). This is the best case, optimal for accuracy and minimizing the effort. An example is ''
Beneath a Steel Sky ''Beneath a Steel Sky'' is a 1994 cyberpunk science fiction point-and-click adventure game developed by British developer Revolution Software and published by Virgin Interactive Entertainment for MS-DOS and Amiga home computers. The game was m ...
''.


Alternatives

Emulation Emulation may refer to: *Emulation (computing), imitation of behavior of a computer or other electronic system with the help of another type of system :*Video game console emulator, software which emulates video game consoles *Gaussian process em ...
of classical systems or operating systems is an alternative to an engine recreation; for instance
DOSBox DOSBox is a free and open-source emulator which runs software for MS-DOS compatible disk operating systems—primarily video games. It was first released in 2002, when DOS technology was becoming obsolete. Its adoption for running DOS games i ...
is a notable emulator of the PC/
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
environment.
Static recompilation In computing, binary translation is a form of binary recompilation where sequences of instruction (computer science), instructions are translated from a ''source'' instruction set to the ''target'' instruction set. In some cases such as instructio ...
is another approach based on the original binary
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), instructi ...
, potentially leading to better performance than emulation; an example is the 2014
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between the ...
architecture version of ''
StarCraft ''StarCraft'' is a military science fiction media franchise created by Chris Metzen and James Phinney and owned by Blizzard Entertainment. The series, set in the beginning of the 26th century, centers on a galactic struggle for dominance am ...
'' for the
Pandora In Greek mythology, Pandora (Greek: , derived from , ''pān'', i.e. "all" and , ''dōron'', i.e. "gift", thus "the all-endowed", "all-gifted" or "all-giving") was the first human woman created by Hephaestus on the instructions of Zeus. As Hes ...
. Another alternative are
source port A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible. Description Source ports are often cr ...
s for the seldom cases that the source code is available; examples are ''
Jagged Alliance 2 ''Jagged Alliance 2'' is a tactical role-playing game for PC, released in 1999 for Microsoft Windows and later ported to Linux by Tribsoft. It is the third entry in the ''Jagged Alliance'' series. The game was followed by the expansion '' Unfinish ...
'' or ''
Homeworld ''Homeworld'' is a real-time strategy video game developed by Relic Entertainment and published by Sierra Entertainment, Sierra Studios on September 28, 1999, for Microsoft Windows. Set in space, the science fiction game follows the Kushan exil ...
'' (more examples in the
List of commercial video games with available source code This is a list of commercial video games with available source code. The source code of these commercially developed and distributed video games is available to the public or the games' communities. In several of the cases listed here, the gam ...
).


See also

* List of game engine recreations


References

{{DEFAULTSORT:Game Engine Recreation