Game Engine: Difference between revisions

Everything About Fiction You Never Wanted to Know.
Content added Content deleted
No edit summary
(Added source 2, Godot)
 
(3 intermediate revisions by 2 users not shown)
Line 51: Line 51:
** Unreal Engine 4: ''[[Fortnite]]'', ''Unreal Tournament 4'', ''[[Kingdom Hearts|Kingdom Hearts III]]'', ''[[Sifu]]'', ''[[Star Wars|Star Wars Jedi: Fallen Order]]''
** Unreal Engine 4: ''[[Fortnite]]'', ''Unreal Tournament 4'', ''[[Kingdom Hearts|Kingdom Hearts III]]'', ''[[Sifu]]'', ''[[Star Wars|Star Wars Jedi: Fallen Order]]''
** Unreal Engine 5: ''[[The Matrix|The Matrix Awakens]]'', ''Ark II''
** Unreal Engine 5: ''[[The Matrix|The Matrix Awakens]]'', ''Ark II''
* Source Engine by [[Valve]]:
* Source Engine by [[Valve]]: ''[[Half-Life 2]]'', ''[[Counter-Strike]]: Source'', ''[[Left 4 Dead]]'', ''[[Portal (series)|Portal]]'', ''[[Portal 2]]'', ''[[Team Fortress 2]]'', ''[[Dota 2]]'', ''[[Vampire: The Masquerade Bloodlines]]'', ''[[Postal|Postal 3]]''
** Games made with the original Source engine (Not to be confused with GoldSrc include: ''[[Half-Life 2]]'', ''[[Counter-Strike]]: Source'', ''[[Left 4 Dead]]'', ''[[Portal (series)|Portal]]'', ''[[Portal 2]]'', ''[[Team Fortress 2]]'', ''[[Dota 2]]'', ''[[Vampire: The Masquerade Bloodlines]]'', ''[[Postal|Postal 3]]''
** Games made with Source 2 include ''[[Half-Life: Alyx]]'' and newer versions of ''DOTA 2''.
* Godot, the open source engine powering ''[[Cassette Beasts]]'' and ''[[Cruelty Squad]]''.
* The Torque Game Engine family by [http://www.garagegames.com/ Garage Games]: ''[[Penny Arcade Adventures]]'', ''[[Tribes]] 2''
* The Torque Game Engine family by [http://www.garagegames.com/ Garage Games]: ''[[Penny Arcade Adventures]]'', ''[[Tribes]] 2''
* The Lithtech engine by Monolith/Touchdown: ''[[Shogo: Mobile Armor Division]]'', ''[[No One Lives Forever]]'', ''[[Tron 2.0]]'', ''[[F.E.A.R.]]'', ''[[Condemned]]'', ''[[Alien vs. Predator]] 2''.
* The Lithtech engine by Monolith/Touchdown: ''[[Shogo: Mobile Armor Division]]'', ''[[No One Lives Forever]]'', ''[[Tron 2.0]]'', ''[[F.E.A.R.]]'', ''[[Condemned]]'', ''[[Alien vs. Predator]] 2''.
Line 64: Line 67:
** If you know what you're doing, you can even make 3D games with it. Those are much less common, though, and with good reason; They are much harder to do than any 2D game.
** If you know what you're doing, you can even make 3D games with it. Those are much less common, though, and with good reason; They are much harder to do than any 2D game.
* [[wikipedia:Build engine|Build engine]] (was written by Ken Silverman), which used in ''[[Duke Nukem 3D]]'', ''[[Shadow Warrior]]'', ''[[Blood]]'' and a couple of lesser obscure games.
* [[wikipedia:Build engine|Build engine]] (was written by Ken Silverman), which used in ''[[Duke Nukem 3D]]'', ''[[Shadow Warrior]]'', ''[[Blood]]'' and a couple of lesser obscure games.
* [[BioWare]] made a habit of making a new engine for each Next Big Thing they bring out (except ''[[Mass Effect]]'' and ''[[Star Wars: The Old Republic]]''). The earlier*** ones have been licensed to other companies:
* [[BioWare]] made a habit of making a new engine for each Next Big Thing they bring out (except ''[[Mass Effect]]'' and ''[[Star Wars: The Old Republic]]''). The earlier ones have been licensed to other companies:
** Infinity Engine (1998-2002): Originally made for ''[[Baldur's Gate]]'' (and sequel), but licensed to Black Isle Studios for ''[[Planescape: Torment]]'' and ''[[Icewind Dale]]'' (and sequel)
** Infinity Engine (1998-2002): Originally made for ''[[Baldur's Gate]]'' (and sequel), but licensed to Black Isle Studios for ''[[Planescape: Torment]]'' and ''[[Icewind Dale]]'' (and sequel)
** Aurora Engine (2002-2007): ''[[Neverwinter Nights]]'', ''[[The Witcher]]'' by CD Projekt
** Aurora Engine (2002-2007): ''[[Neverwinter Nights]]'', ''[[The Witcher]]'' by CD Projekt
Line 86: Line 89:
* The Dark Engine created by the now defunct Looking Glass Studios and used in the first two ''[[Thief]]'' games and ''[[System Shock]] II''.
* The Dark Engine created by the now defunct Looking Glass Studios and used in the first two ''[[Thief]]'' games and ''[[System Shock]] II''.
* Hedgehog Engine by [[Sega]] (named for ''[[Sonic the Hedgehog]]'', the only series to use this engine so far): An engine built to render objects very quickly. Used in the HD versions of ''[[Sonic Unleashed]]'' and ''[[Sonic Generations]]''.
* Hedgehog Engine by [[Sega]] (named for ''[[Sonic the Hedgehog]]'', the only series to use this engine so far): An engine built to render objects very quickly. Used in the HD versions of ''[[Sonic Unleashed]]'' and ''[[Sonic Generations]]''.
* Frosbite by DICE: [[Battlefield (series)|Battlefield]] series (from ''Battlefield 1943'' onwards), ''[[Need for Speed]]: The Run'', the ''[[Medal of Honor]]'' reboot's multiplayer. Originally developed with first-person shooters in mind, but has now been the go-to engine by EA's studios, even in sports games such as the ''FIFA'' series.
* Frosbite by DICE: [[Battlefield (series)|Battlefield]] series (from ''Battlefield 1943'' onwards), ''[[Need for Speed]]'' since ''The Run'', the ''[[Medal of Honor]]'' reboot's multiplayer. Originally developed with first-person shooters in mind, but has now been the go-to engine by EA's studios, even in sports games such as the ''FIFA'' series, though it has reportedly been the bane of both developers and players alike due to it being difficult to develop for.
* UbiArt Framework by [[Ubisoft]]: ''[[Rayman Origins]]'', ''Valiant Hearts: The Great War''
* UbiArt Framework by [[Ubisoft]]: ''[[Rayman Origins]]'', ''Valiant Hearts: The Great War''
* Asura by [[Rebellion Developments]]: ''[[Sniper Elite]]'', ''[[Call of Duty]]: World at War - Final Fronts''
* Asura by [[Rebellion Developments]]: ''[[Sniper Elite]]'', ''[[Call of Duty]]: World at War - Final Fronts''
Line 93: Line 96:
== Things That Are Commonly Called Engines But Aren't ==
== Things That Are Commonly Called Engines But Aren't ==
* [http://www.havok.com/ The Havok "Engine"]. This is not an engine; [[Wreaking Havok|it is a physics library.]]
* [http://www.havok.com/ The Havok "Engine"]. This is not an engine; [[Wreaking Havok|it is a physics library.]]
* RenderWare, developed by Criterion Games and bought out by [[Electronic Arts]] (notable for making [[PlayStation 2]] development a lot easier). This is not in the most technical sense an engine, because it does not provide a means for using it without modifying the source code. It is a codebase, a large code library that serves as a useful starting point for making games (specifically the renderer hence the name), but it has no ''inherent'' extensibility built into it besides writing code. Games made using this codebase include ''[[Burnout]]'' (Criterion's flagship series), ''[[Grand Theft Auto]]'' (''[[Grand Theft Auto III|III]]'', ''[[Grand Theft Auto Vice City|Vice City]]'', and ''[[Grand Theft Auto: San Andreas|San Andreas]]''; the ''Stories'' games run off what is unofficially known as the [https://gtamods.com/wiki/Leeds_Engine Leeds Engine] which is very loosely based on RenderWare), ''[[Sonic Heroes]]'' and ''[[SpongeBob SquarePants (video game)|SpongeBob SquarePants]]: Battle for Bikini Bottom''.
* RenderWare, developed by Criterion Games and bought out by [[Electronic Arts]] (notable for making [[PlayStation 2]] development a lot easier). This is not in the most technical sense an engine, because it does not provide a means for using it without modifying the source code. It is a codebase, a large code library that serves as a useful starting point for making games (specifically the renderer hence the name), but it has no ''inherent'' extensibility built into it besides writing code. Games made using this codebase include ''[[Burnout]]'' (Criterion's flagship series), ''[[Grand Theft Auto]]'' (''[[Grand Theft Auto III|III]]'', ''[[Grand Theft Auto Vice City|Vice City]]'', and ''[[Grand Theft Auto: San Andreas|San Andreas]]''; the ''Stories'' games run off what is unofficially known as the Leeds Engine which is very loosely based on RenderWare), ''[[Sonic Heroes]]'' and ''[[SpongeBob SquarePants (video game)|SpongeBob SquarePants]]: Battle for Bikini Bottom''.
** Visceral Engine: Developed by Visceral Games (formerly known as EA Redwood Shores) initially for ''[[The Godfather]]'' and its sequel. The original incarnation of the engine was directly based off RenderWare, but subsequent versions such as those used in ''Dead Space'' were heavily modified and are no longer directly derived from it.
** Leeds Engine: Unofficial name for the [https://gtamods.com/wiki/Leeds_Engine RenderWare-based engine] used by Rockstar Leeds for the ''Grand Theft Auto Stories'' games on the PSP and PS2. Presumably developed as a stopgap solution in response to EA's acquisition of Criterion before they came up with RAGE for ''Grand Theft Auto IV''.


{{reflist}}
{{reflist}}

Latest revision as of 23:36, 11 March 2024


  • Main
  • Wikipedia
  • All Subpages
  • Create New
    /wiki/Game Enginework

    In order to understand what a Game Engine is, it is necessary to take a moment and understand what games are made of. It ain't sugar and spice.

    Games are composed of two things: code and data. Code is what makes a game function, and data is what makes it fun. Take Super Mario Bros. as an example. The game code defines the rules of the game. That Mario can jump, run, how fast he runs, that there are monsters, some monsters can be stomped on, etc. The game's data defines what Mario looks like, how he animates, and most importantly the arrangement of terrain and monsters that form levels.

    ROM hacking Super Mario Bros. can lead to many Mario-like games. You can replace Mario's sprite, what fireballs look like, and give it a total makeover. But unless you change the code itself, the game will have certain Mario-isms:

    The game will always be to some degree Super Mario Bros.

    A game engine is game code that is designed to be data-driven. Unlike the above example, a proper game engine would allow the behavior of in-world entities to be defined in almost every way through data. Virtually all games have some data component, but only relatively recently has this component become flexible enough that two games built from the same engine can be very different from one another. That is, data defines both the function and the fun, while the code is just there to make the data do its job.

    One of the first cases of a true game engine was Quake. It was a first-person shooter, but the game engine was much more flexible. It did not even make the assumption that the game was first-person; a user of the engine could pull the camera away to a third-person perspective. And the main character would be rendered there in third person with all of the controls intact and functional. With some work, Quake could have run a game like Super Mario 64, all without directly changing the code of the engine.

    Please note that this is a simplification of a complex topic. Many game engines don't quite fit this definition, as the method of customizing an engine often involves writing code in addition to data. Half-Life 2's game engine, the Source engine, is modified by loading DLLs, which are compiled C/C++ code. Even Quake mods, written in so-called QuakeC, were compiled directly into virtual machine assembly code. Scripting throws a wrench into this as well, as scripts are code that is loaded like data. In that case, a game engine is basically just a library or module that handles 80% of the grunt-work in making a game: collision detection, that things can move, rendering things, etc. It is then up to the user to add the 20% that makes the game unique, whether through data and code or purely data.

    Also making this more complex are people who sell licenses to engines that involve handing over source code, which is pretty much any commercially available engine. No game developer worth his salt is going to build his game based on your assurance that your engine is bug-free. This allows developers using the engine to actually change the engine code itself, not just layering new code on top of the engine. And developers frequently avail themselves of this opportunity. So a game that claims that they are using the X engine probably made some changes to X.

    The general rule of thumb is this: You know it's an engine if you don't have to actually change the engine's core code to make a game that is substantially different game from other games made with this engine.

    As a bonus, games that are significantly "enginified" are also very easily modded, and games using the same engine are easy to port if other games using the same engine have already been ported.

    Engines can be internal, restricted to a particular development company, or external, which can be licensed for use by others. In-house "engines" are really just common codebases that multiple development teams in a company share. It is impossible to know whether these truly fit the definition of "game engine" because the different teams modify the source code for their own needs. Unless an engine is external, it is difficult to know what you can do with it without modifying the source code.

    This may sound like a Game Maker, but there is a difference. A Game Maker is limited to a specific style within a genre. This limitation is what allows them to be easier to use. Game Engines cover a wide range of possible game types. Super Mario World level editing is effectively a Mario-style Game Maker. You can never make anything other than that kind of game. The line between the two, of course, is somewhat fuzzy. And when you touch that fuzzy, it can get dizzying.


    External Game Engines

    Internally Developed Game Engines

    Things That Are Commonly Called Engines But Aren't

    • The Havok "Engine". This is not an engine; it is a physics library.
    • RenderWare, developed by Criterion Games and bought out by Electronic Arts (notable for making PlayStation 2 development a lot easier). This is not in the most technical sense an engine, because it does not provide a means for using it without modifying the source code. It is a codebase, a large code library that serves as a useful starting point for making games (specifically the renderer hence the name), but it has no inherent extensibility built into it besides writing code. Games made using this codebase include Burnout (Criterion's flagship series), Grand Theft Auto (III, Vice City, and San Andreas; the Stories games run off what is unofficially known as the Leeds Engine which is very loosely based on RenderWare), Sonic Heroes and SpongeBob SquarePants: Battle for Bikini Bottom.
      • Visceral Engine: Developed by Visceral Games (formerly known as EA Redwood Shores) initially for The Godfather and its sequel. The original incarnation of the engine was directly based off RenderWare, but subsequent versions such as those used in Dead Space were heavily modified and are no longer directly derived from it.
      • Leeds Engine: Unofficial name for the RenderWare-based engine used by Rockstar Leeds for the Grand Theft Auto Stories games on the PSP and PS2. Presumably developed as a stopgap solution in response to EA's acquisition of Criterion before they came up with RAGE for Grand Theft Auto IV.