To make a game, one essential part is the game engine, which is as a software system that takes care of all the usual tasks of running the game such as rendering graphics (2D or 3D), physics, sounds, animation, and so on. These are the key technologies required in an engine to be able to perform properly. Game engines have a part called the platform abstraction which allows different consoles to be able to run the same game.
With the game engine technology becoming more advanced, the uses for game engines has broadened in variety and are even covering serious situations for real-life purposes, such as training for medical and military purposes, etc. Phones such as the iPhone and other hardware also have game engines.
Game companies build their own in-house game engines that are made suitably and can be used over and over again for their own games. But since the cost of making in-house games has increased dramatically, many game companies build parts of a game engine or the full engine with all the components, and sell them to other companies, making them the “middleware providers”. With these middleware, the game company can buy decent game engines with the right features for them at a reasonable price, rather than pay a whole bunch of programmers for along time to build the engine from scratch.