engines
SYS 270 - Games Studies
definition
- Game Engine
- a software framework design for the creation and development of video games
history of game engines
Prior to 1980s, games were built generally from the ground up.
Mostly due to limitations of hardware or platform
- Consoles (ex: Atari and Nintendo) had very limited storage and memory
- Arcade machines were generally single-purpose computers (hardwired games)
- As resources increased, it was often easier to start from scratch than update
history of game engines
Game engines had to manage:
- memory
- graphics
- audio
- AI
- controllers
|
- loading and saving to disk
- working with hardware (CPU, GPU, etc.)
- physics simulation
- ...
|
This overhead of management often restricted what a company was able to produce, but it also spurred on innovative technology and creative hacks
Each game had a very different look and feel
history of game engines
Staring mid-1980s, 2D game creation systems started popping up.
These creation systems removed much of the development overhead and allowed for relatively rapid creation of 2D games
history of game engines
Game engines took off in the mid-1990s, largely due to the rise of 3D games
On 1992 May 5, id Software released Wolfenstein 3D through Apogee's Shareware idea
Wolf3D was a huge commercial success, companies took notice and wanted to cash in
id Software started licensing the use of their code
history of game engines
1993 Dec 10, id Software released Doom
For the next 3 years, nearly every 3D game that came out were referred to as a "Doom clone"
Doom included a multiplayer mode, coined term "deatmatch"
history of game engines
In 1996 Dec 21, Quake was released
This time, the 3D gaming industry shifted
id Software slowly became a game engine / tech company
id tech
modern game engines
Generally speaking, game engines have become an operating system for the game
Engines abstract away much of the interfacing with hardware or actual OS
- ideally allows for game devs to focus on content rather than technology
- allows for cross-platform development (PC, Mobile, XBox, etc.)
modern game engines
Game engines typically break down into components
- main game program
- rendering engine
- audio engine
- physics engine
- artificial intelligence
modern game engines: main game program
- can be scripted: C#, Python, Java
- movement toward node-based programming
- visual
- slightly less technical (more intuitive to non-programmers)
- but just as powerful
next gen game engines
history: id software
commander keen
history: id software
wolf3d
history: id software
doom
history: id software
quake
history: id software
doom 3