What is a game engine?
Game engines give game developers a framework for developing a video game without creating all systems, such as the physics, graphics, and AI, from scratch. Game engines remove the need to program and integrate game-supporting systems together, saving developers' time and resources so they can focus on creating the meat of the game itself.
Game engines are an inherent part of game development, whether developers use a popular existing game engine or develop a game engine in-house. More than a helpful tool in the game development process, game engines provide the entire foundation and framework for a game’s development. Once a game engine is selected or built, game developers do the vast majority of the game’s design work within that engine. Even elements of game development created outside of the game engine, such as sound and art assets, are still imported to or referenced from within the game engine for use. For example, artists working on a game might create assets for the game using 3D modeling software. However, the completed models would then be accessible to game designers working within the development studio’s game engine of choice.
Game engines contain many different internal systems such as a physics engine, audio engine, rendering engine, AI, animation, and more. There are also plug-ins or APIs available to customize a game engine, and some engines come with pre-built asset libraries to make it even easier to create a game. Using the building blocks game engines provide, game designers program the various elements of their game until the desired final product is reached. Different game engines support different programming languages.
Types of game engines
Depending on the type of game a studio is trying to develop, one of a few different types of game engines will be utilized. Many game engines qualify as more than one of these types.
- 2D game engines: As the name suggests, 2D game engines support the development of two-dimensional games such as side-scrolling platformers. They are optimized to work best with 2D assets and level designs.
- 3D game engines: In contrast with 2D game engines, 3D game engines support the development of games with three-dimensional graphics and levels. They are optimized to work best with 3D assets and level designs, which feature in open world and action-adventure games.
- Mobile game engines: Mobile game engines support the development of mobile games specifically, which are often less graphically demanding than other games. These engines provide tools and systems that complement touch-screen inputs, two-dimensional visuals on a handheld screen, and more.
- AR game engines: An augmented reality game engine, or AR game engine, provides game developers with the framework for creating AR video game experiences. These tools allow developers to create and edit 3D game assets that virtually interact with the real world as viewed from the player’s camera.
- VR game engines: A virtual reality game engine, or VR game engine, provides game developers with the framework for creating a VR video game experience. These tools allow developers to create and edit 3D assets as part of a fully immersive 3D virtual experience for the player.
Benefits of using a game engine
Game engines are a fundamental part of game development. The games industry has seen exceedingly few examples of video games that were programmed without the use of a game engine, whether in-house or third party. Some of the reasons game engines are so vital to development include:
- Pre-built framework: Crafting a game from scratch is a monumental task, even for large game studios. Game engine software’s prebuilt framework and tool kits save developers time and let them focus on game content.
- Standardized development: Using game engine software means that developers can rely on community knowledge and team knowledge about a standard build environment. This isn’t the case with custom-built solutions.
- Workflow organization: Developers using game engine software benefit from the ability to work in one centralized hub. Without game engine software, workflows are prone to disorganization. Game development becomes faster and more efficient when developers can keep all of their tools in the same place.
- Pre-built assets: Developers, especially those on smaller teams, can save effort by using prebuilt assets instead of building those assets themselves. Pulling from the asset libraries offered by many game engines gives developers more time to work on game mechanics as opposed to asset creation.
Basic elements of a game engine
The framework provided by a game engine can vary, but a complete game engine will typically include the following elements:
- Graphics rendering system: A game engine will always include a graphics rendering system or engine that makes visual asset display and manipulation possible. These rendering systems differ from other image rendering systems in that they must be optimized to support interactive gameplay.
- Physics engine: Most game engines provide a built-in physics engine. Physics engines are software systems that allow computers to simulate physics phenomena that people experience in the real world (gravity, fluid dynamics, etc.) and apply them to 3D objects in games and other 3D renderings, which affects how those objects interact in the digital world.
- Audio engine: Many game engines provide a built-in audio engine. Audio engine software provides a framework to create and manage audio within video games. This element removes the need to create and mix sound effects from the ground up by offering a pre-built framework from which designers can interface with audio assets.
- AI systems: AI systems provide basic logic which informs how non-player characters and systems behave in-game. Game designers can edit and add to these systems to tweak enemy character aggression, curate friendly character behavior, and more.

Adam Crivello
Adam is a research analyst focused on dev software. He started at G2 in July 2019 and leverages his background in comedy writing and coding to provide engaging, informative research content while building his software expertise. In his free time he enjoys cooking, playing video games, writing and performing comedy, and avoiding sports talk.