A fan game is a video game that is created by fans of a certain topic or IP. They are usually based on one, or in some cases several, video game entries or franchises. Many fan games attempt to clone or remake the original game's design, gameplay, and characters, but it is equally common for fans to develop a unique game using another as a template. Though the quality of fan games has always varied, recent advances in computer technology and in available tools, e.g. through open source software, have made creating high-quality games easier. Fan games can be seen as user-generated content, as part of the retrogaming phenomena, and as expression of the remix culture.
Fan games are either developed as standalone games with their own engines, or as modifications to existing games that piggyback on the other's engines. Each approach has different advantages, as standalone games are generally accessible to larger audiences but may often be more difficult or time-consuming to develop.
Fan games are often developed using pre-existing tools and game engines. The Unity engine and Adobe Flash allow fans to develop standalone games, as with other programs such as GameMaker, Construct, RPG Maker, or any of the Clickteam products (such as The Games Factory and Multimedia Fusion 2).
Fan game developers often select and use free and open source game engines (such as OGRE, Crystal Space, DarkPlaces, and Spring) to help fans create games without the cost of licensing a commercial alternative. These engines may be altered and redesigned within the terms of their open source license and often cost significantly less than commercial options, but do not always allow developers to easily create high-end visual effects without additional effort.
It is also possible for fans to develop original game engines from scratch using a programming language such as C++, although doing so takes much more time and technical ability than modifying an existing game; an example is the Spring Engine which started as fan-made Total Annihilation game.