KANEVA GAME ENGINE SOFTWARE
Most often, 3D engines or the rendering systems in game engines are built upon a graphics application programming interface (API) such as Direct3D or OpenGL which provides a software abstraction of the graphics processing unit (GPU) or video card. Modern game or graphics engines generally provide a scene graph, which is 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. These types of engines are generally referred to as a "graphics engine," "rendering engine," or "3D engine" instead of the more encompassing term "game engine." This terminology is inconsistently used as many full-featured 3D game engines are referred to simply as "3D engines." A few examples of graphics engines are: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, and Vision Engine. These engines rely upon the game developer to implement the rest of this functionality or assemble it from other game middleware components. Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality needed by games. Despite the specificity of the name, game engines are often used for other kinds of interactive applications with real-time graphical needs such as marketing demos, architectural visualizations, training simulations, and modeling environments. However extensibility is achieved, it remains a high priority in games engines due to the wide variety of uses for which they are applied.
KANEVA GAME ENGINE SERIES
Some game engines such as RenderWare are even designed as 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 solution. Often, game engines are designed with a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game middleware components such as Havok for physics, Miles Sound System for sound, or Bink for Video. Like other middleware solutions, game engines usually provide platform abstraction, allowing the same game to be run on various platforms including game consoles and personal computers with few, if any, changes made to the game source code. Gamebryo and RenderWare are such widely used middleware programs. 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, right out 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. Most game engine suites provide facilities that ease development, such as graphics, sound, physics and AI functions.
Game engine developers attempt to "pre-invent the wheel" by developing robust software suites which include many elements a game developer may need to build a game. These tools are generally provided in an integrated development environment to enable simplified, rapid development of games in a data-driven manner. Game engines provide a suite of visual development tools in addition to reusable software components.