The term arose in the mid-1990s, especially in connection with 3D games such as first-person shooters. Such was the popularity of id Software's Doom and Quake games that rather than work from scratch, other developers licensed the core portions of the software and designed their own graphics, characters, weapons and levels—the "game content" or "game assets."
Later games, such as Quake 3 and Epic's 1998 Unreal were designed with this approach in mind, with the engine and content developed separately. The licensing of such technology has proved to be a useful auxiliary revenue stream for some game developers. At the very least, reusable engines make developing game sequels much easier and faster, a valuable advantage in the competitive computer game industry.
The continued refinement of game engines has allowed a strong separation between rendering, scripting, artwork, and level design. It is now common (as of 2003), for example, for a typical game development team to be composed of artists and programmers in an 80/20 ratio.
A practical definition of a game engine is whatever most game developers would prefer not to write (as opposed to the things that make their game seminal, such as levels, artwork, textures, animation, sound tracks, etc.). The extreme realization of this idea has been for some game developers to take existing games and simply modify their art resources.
Game engine development is a popular project amongst computer science students, hobbyists, and game developers alike. It can require strong interdisciplanry understanding of geometry, color theory, and computing. Being largely visual, however, these developers consider it fun and rewarding. Crystal Space, for example, is a popular open source multiplatform game engine.
See also: game programmer, game designer, video game developer, video game publisher, level designer