Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Game engine

From Wikipedia, the free encyclopedia
Game development and framework for computer science research platform
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This article needs to beupdated. Please help update this article to reflect recent events or newly available information.(February 2018)
This articlepossibly containsoriginal research. Pleaseimprove it byverifying the claims made and addinginline citations. Statements consisting only of original research should be removed.(August 2019) (Learn how and when to remove this message)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Game engine" – news ·newspapers ·books ·scholar ·JSTOR
(November 2019) (Learn how and when to remove this message)
(Learn how and when to remove this message)
Part of a series on the
Video game industry

Agame engine is asoftware framework primarily designed forvideo game development, which may include specializedsoftware libraries and packages, such aslevel editors.[1] The term "engine" is a direct analogue of "software engine", having it employed across sectors of thesoftware industry.

Furthermore,game engine may also refer to the integrated development environment as an interface behind the given framework, typically a suite of visual development tools and features for developing video games.[2][3]

Game developers can use game engines to create and publish video games across platforms, such asdesktops,mobile devices,video game consoles, and other types ofcomputers. The core functionalities commonly covered by a game engine are a2D or3Drenderer,physics engine,audio engine,scripting,animation,artificial intelligence,networking, streaming,memory management,threads,localization support,scene graph, andcinematics. Game engine developers often economizegame development through reuse or adaptation of abstractions built into game engines for production of various games,[4] or throughports of videogames from a single to other target platforms.

Purpose

[edit]
Creating aplatform game inGodot

In many cases, game engines provide a suite of visualdevelopment tools in addition to reusable software components. These tools are generally provided in anintegrated development environment to enable simplified,rapid development of games in adata-driven manner. Game-engine developers often attempt to preempt implementer needs by developingrobust software suites, which include many elements a game developer may need to build a game. Most game-engine suites provide facilities that ease development, such as graphics, sound, physics andartificial intelligence (AI) functions. These game engines are sometimes called "middleware" because, as with the business sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, rightout of the box, to develop a game application while reducing costs, complexities, and time-to-market—all critical factors in the highly competitive video game industry.[5]

Like other types of middleware, game engines usually provideplatformabstraction, allowing the same game to run on various platforms (includinggame consoles and personal computers) with few, if any, changes made to the gamesource code. Often, programmers design game engines with acomponent-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game-middleware components. Some game engines comprise a series of loosely-connected game middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated product. However achieved,extensibility remains a high priority for game engines due to the wide variety of uses for which they are applied. Despite the specificity of the name "game engine", end users often re-purpose game engines for other kinds of interactive applications withreal-time graphical requirements—such asmarketing demos,architectural visualizations,training simulations, andmodeling environments.[6]

Some game engines only providereal-time 3D rendering capabilities instead of the wide range of functionality needed by games. These engines rely upon the game developer to implement the rest of this functionality or to assemble it from other game-middleware components. These types of engines are generally referred to as a "graphics engine", "rendering engine", or "3D engine" instead of the all-encompassing term "game engine". This terminology is inconsistently used, as many full-featured 3D game engines are simply referred to as "3D engines". Examples of graphics engines include:Crystal Space,Genesis3D,Irrlicht,OGRE, RealmForge, Truevision3D, andVision Engine. Modern game- or graphics-engines generally provide ascene graph—an object-oriented representation of the 3D game-world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds.[7] Most game engines or graphics engines use aGraphics API, which eases communication with theGPU. But older games did not have hardware acceleration or GPUs and had to build their own software renderer.

As technology ages, the components of an engine may become obsolete or insufficient for the requirements of a givenproject. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that a project restart from the beginning), an engine-development team may elect to update their existing engine with newer functionality or components.

Game engines are not limited to use in the video game field, and have found uses in other scientific fields. Part of this is due to game engines being optimized for consumer-grade computing equipment rather than high-performance computing, allowing researchers to develop programs for their use on lower cost machines. Game engines also simplify many of the computing operations needed for scientific software, including graphics, networking, and interactivity, reducing the need to develop these features themselves.[8]

History

[edit]
Some game engines experience an evolution over time and develop a family tree, like for instanceid'sQuake engine which resulted in theid Tech family.

Before game engines, games were typically written as singular entities: a game for theAtari 2600, for example, had to be designed from the bottom up to make optimal use of the display hardware—this core display routine is today called thekernel by developers of games for older systems. Other platforms had more leeway, but even when the display was not a concern, memory constraints usually sabotaged attempts to create the data-heavy design that an engine needs. Even on more accommodating platforms, very little could be reused between games. The rapid advance ofarcadehardware—which was the leading edge of the market at the time—meant that most of the code would have to be thrown out afterwards anyway, as later generations of games would use completely different game designs that took advantage of extra resources. Thus, most game designs through the 1980s were designed through a hard-coded rule set with a small number of levels and graphics data. Since thegolden age of arcade video games, it became common for video game companies to develop in-house game engines for use with first-party software.

A notable example of an in-house game engine onhome consoles in the mid-1980s was the smoothside-scrolling engine developed byShigeru Miyamoto's team atNintendo for theNintendo Entertainment System (NES). The engine they had developed for the side-scrollingracing gameExcitebike (1984) was later employed for the scrollingplatformerSuper Mario Bros. (1985). This allowedMario to smoothly accelerate from a walk to a run, rather than move at a constant speed like in earlier platformers.[9]

While third-party game engines were not common until the rise of3D computer graphics in the 1990s, several 2Dgame creation systems were produced in the 1980s forindependent video game development. These includePinball Construction Set (1983),ASCII'sWar Game Construction Kit (1983),[10]Thunder Force Construction (1984),[11]Adventure Construction Set (1984),Garry Kitchen's GameMaker (1985),Wargame Construction Set (1986),Shoot-'Em-Up Construction Kit (1987),Arcade Game Construction Kit (1988), and, most popularly, ASCII'sRPG Maker engines from 1998 onward. Klik & Play (1994) is another legacy offering that is still available.[12]

The termgame engine emerged in the mid-1990s, particularly with the rise of 3D games likefirst-person shooters, which often featured a dedicatedfirst-person shooter engine. For instance, Epic Games, founded byTim Sweeney, debuted its Unreal Engine in 1998.[13]

Such was the popularity ofId Software'sDoom andQuake games: rather than building from scratch, its developers licensed the core portions of the software and designed their own graphics, characters, weapons, andlevels—they were the "game content" or "game assets." Separation of game-specific rules and data from basic concepts likecollision detection and game entity meant that teams could grow and specialize.[12]

Later games, such asid Software'sQuake III Arena andEpic Games'Unreal (1998), were designed with this approach in mind, with the engine and content developed separately. The practice of licensing such technology has proved to be a useful auxiliary revenue stream for some game developers, as a single license for a high-end commercial game engine can range from $10,000 to millions of dollars, and the number of licensees can reach several dozen companies, as seen with theUnreal Engine. At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive video game industry. While a strong rivalry existed between Epic Games and id Software around 2000, Epic Game's Unreal Engine has since become far more popular thanid Tech 4 and its successor,id Tech 5.[14]

Modern game engines are some of the most complex applications written, often featuring dozens of finely-tuned systems interacting to ensure a precisely-controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, andlevel design. As such, it is now common, for example, for a typical game development team to have several times as many artists as actual programmers.[15]

While third-party game engines are predominantly used in the development of first-person shooter games, they are also being used across other genres. For example,Gamebryo is used inThe Elder Scrolls III: Morrowind andDark Age of Camelot, whereasUnreal Engine 2 is used inLineage II. Game engines are also used for games originally developed for home consoles, withRenderWare for theGrand Theft Auto andBurnout franchises as an example.

Due to modern multi-core systems and growing demands in realism, exploitingthreads has become more important. Separate threads of execution within a game engine manage intensive operations, including rendering, asset streaming, audio playback, and physics simulation. Racing games have typically been at the forefront of threading with the physics engine running in a separate thread long before other core subsystems were moved, partly because rendering and related tasks need updating at only 30–60 Hz. For example, on PlayStation 3, physics ran inNeed For Speed at 100 Hz, versusForza Motorsport 2 at 360 Hz.

Although the term was first used in the 1990s, few earlier systems in 1980s are considered as game engines, such as Sierra'sAdventure Game Interpreter (AGI) and SCI systems, LucasArts'SCUMM system andIncentive Software'sFreescape engine (in 1986[16]). Unlike most modern game engines, these game engines were never used in any third-party products (except for the SCUMM system, which was licensed to and used byHumongous Entertainment).

As game engine technology matures and becomes more user friendly, the application of game engines has widened in scope. They are now used forserious games: visualization, training, medical, andmilitary simulation applications, with theCryEngine being one example.[17] To improve accessibility, new hardware platforms are also now targeted by game engines, includingmobile phones (e.g.Android,iPhone) andweb browsers. (e.g.WebGL,Shockwave,Flash,Trinigy's WebVision,Silverlight,Unity Web Player,O3D and pureDHTML.)[18]

Additionally, more game engines are being built uponhigher-level languages, such asJava,C# and.NET (e.g.,TorqueX, andVisual3D.NET),Python (Panda3D), orLua Script (Leadwerks). As most 3D-rich games are now mostly limited by the power of a graphics card, the potential slowdown due to translation overheads of higher-level languages becomes negligible, while productivity gains offered by these languages serve the game engine developers' benefit.[19] These recent trends are being propelled by companies such asMicrosoft to supportindie game development. Microsoft developedXNA as the primarySoftware Development Kit (SDK) for all video games released on Xbox and their related products. This includes theXbox Live Indie Games[20] channel designed specifically for smaller developers who do not have the extensive resources necessary to box games for sale on retail shelves. It is becoming easier and cheaper than ever to develop game engines for platforms that supportmanaged frameworks.[21]

Game engines as an industry

[edit]

Producers of game engines decide how they allow users to utilize their products. Just asgaming is an industry, so are the engines they are built off. The major game engines come at varying prices, whether it be in the form of subscription fees or license payments.[22]Unity andUnreal Engine are currently the two most popular choices for game developers.[23] Although the differences among the different game engines blur as they build their own tools on top of them, different game developers may be too used to a system to change, or attracted by the huge benefits of such engines regardless of pay-walls.

Game middleware

[edit]

Applied more broadly, game engines themselves can be described as middleware. In video games, however,middleware is often used to refer to subsystems of functionality within a game engine. Some game middleware does only one thing, yet does it more convincingly or more efficiently than general purpose middleware.

The four most-widely used middleware packages[24] that provide subsystems of functionality includeRAD Game Tools' Bink, FirelightFMOD,Havok, andScaleform GFx. RAD Game Tools develops Bink for basic video rendering, along with Miles audio, andGranny 3D rendering. Firelight FMOD is a low cost robust audio library and toolset. Havok provides a robust physics simulation system, along with a suite of animation and behavior applications. Scaleform provides GFx for high performanceFlash UI and high-quality video playback, and anInput Method Editor (IME) addon for in-game Asian chat support.

Other middleware is used for performance optimization—for exampleSimplygon helps to optimize and generatelevel of detail meshes, andUmbra addsocclusion culling optimizations to 3D graphics.

Some middleware contains fullsource code,[6] or is provided anAPI reference for a compiled binarylibrary. Some middleware programs can be licensed either way, usually for a higher fee for full source code.

See also

[edit]

References

[edit]
  1. ^Valencia-Garcia, Rafael; et al. (2016).Technologies and Innovation: Second International Conference, CITI 2016, Guayaquil, Ecuador, November 23-25, 2016, Proceedings. Springer.ISBN 9783319480244. Retrieved2021-07-22.
  2. ^"Common game development terms and definitions | Game design vocabulary | Unity". Unity.Archived(PDF) from the original on 2017-08-06. Retrieved2021-07-14.
  3. ^Tan, James."Introduction - Unreal Engine (Canterbury Software Summit 2013 slides)"(PDF).Unreal Engine. Retrieved2021-07-14.
  4. ^"What is a Game Engine?". GameCareerGuide.com. Retrieved2013-11-24.
  5. ^O'Neill, John (January 15, 2008)."My Turn: The Real Cost of Middleware". Gamedaily.com. Archived fromthe original on August 30, 2009. Retrieved2013-11-24.
  6. ^abReport on Use of Middleware in Games
  7. ^"Scene Graph in Unreal Editor for Fortnite | Fortnite Documentation | Epic Developer Community".Epic Games Developer. Retrieved2025-07-08.
  8. ^Lewis, Michael; Jacobson, Jeffrey (January 2002)."Game Engines in Scientific Research".Communications of the ACM.45 (1).doi:10.1145/502269.502288.
  9. ^Williams, Andrew (16 March 2017).History of Digital Games: Developments in Art, Design and Interaction.CRC Press. pp. 152–4.ISBN 978-1-317-50381-1.
  10. ^"War Game Construction Kit".Oh!FM. Archived fromthe original on 28 July 2013. Retrieved3 September 2012.Alt URL
  11. ^"Thunder Force Construction".Oh!FM. Archived fromthe original on 28 July 2013. Retrieved1 September 2012.Alt URL
  12. ^abFiadotau, Mikhail (2019). "Dezaemon, RPG Maker, NScripter: Exploring and classifying game 'produsage' in 1990s Japan".Journal of Gaming & Virtual Worlds.11 (3):215–230.doi:10.1386/jgvw.11.3.215_1.S2CID 213694676.
  13. ^Weinberger, Matt."The CEO behind 'Fortnite' says it's 'evolving beyond being a game' and explains the company's ambitious vision".Business Insider. Retrieved2022-02-17.
  14. ^Bramwell, Tom (2007-08-09)."id Tech 5 Interview • Page 1 • Interviews •". Eurogamer.net. Retrieved2013-11-24.
  15. ^"Game Development Team Composition Study - Changes over time". Retrieved2011-01-17.
  16. ^"Freescape Engine". Universal Videogame List. Retrieved2020-05-16.
  17. ^"Video Games Starting to Get Serious". Gazette.net. 2007-08-31. Archived fromthe original on 2008-12-03. Retrieved2011-01-17.
  18. ^"Gaming: Mobile and Wireless Trends for 2008". M-trends.org. Archived fromthe original on 2011-01-08. Retrieved2011-01-17.
  19. ^Zerbst, Stefan; Düvel, Oliver (2004).3D Game Engine Programming (book). Premier Press.ISBN 9781592003518. Retrieved2011-01-17.
  20. ^"xboxlivecommunitygames.org". xboxlivecommunitygames.org. Retrieved2013-11-24.
  21. ^"Microsoft to Enable User-Created XBox 360 Games". Archived fromthe original on January 2, 2013. Retrieved2017-05-05.
  22. ^"The 10 Best Video Game Engines | 2018 Edition".The Ultimate Resource for Video Game Design. 2017-03-11. Retrieved2019-05-15.
  23. ^"The Two Engines Driving the $120B Gaming Industry Forward".CB Insights Research. 2018-09-20. Retrieved2019-05-15.
  24. ^"Gamasutra Engine and Middleware Technology Survey". Gamasutra.com. 2009-05-08. Retrieved2011-01-17.

External links

[edit]


Proprietary
1980s
1990s
2000s
2010s
2020s
Free and
open-source
1970s
1990s
2000s
2010s
2020s
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Game_engine&oldid=1323593716"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp