Nowadays video games are becoming more and more popular. With the advancement of the electronic devices and the topmost sector of entertainment, the video game industry, everyone can find games for their liking. The variety of the industry is represented in the complexity and quality of the games and in the game platforms as well, however this kind of diversity can complicate the development methods. Making a video game might be the hardest and the longest of the software development processes.
It is not effective to start the whole development procedure from the beginning for each game. The main functionalities should be built together producing a system with which various games can be made: a game engine. A game engine should provide several reusable solutions for game functionalities like management of virtual worlds and the presentation of them, believable physics simulations, sound effects, handling user interactions, artificial intelligence and lots of others.
Furthermore during the development of a game engine the possibilities of different platforms should be considered. The game engine therefore should be prepared to enable the games to run on multiple platforms, which means that the goal is to implement a multiplatform game engine.
In this paper after a quick review of the history of video games and game engines, it is presented that what parts should a game engine contain, with an example implementation of an engine on Windows. Then comes the summary of development possibilities on Android and the preparation of the engine for the platform, followed by the implementation of an example game based on the engine. After this the possibilities of the most popular game engines are explained, specially focusing on Unity. Finally come the distribution possibilities of the finished engine and the game.