A
game engine is a
software framework designed for the creation and development of
video games.
Developers use them to create games for
consoles, mobile devices and
personal computers. The core functionality typically provided by a game engine includes a
rendering engine (“renderer”) for
2D or
3D graphics, a
physics engine or
collision detection (and collision response),
sound,
scripting,
animation,
artificial intelligence,
networking, streaming, memory management, threading,
localization support, and a
scene graph. The process of
game development is often economized, in large part, by reusing/adapting the same game engine to create different games, or to make it easier to "
port" games to multiple platforms.