An open-source video game, or simply an open-source game, is a video game whose source code is open-source. They are often freely distributable and sometimes cross-platform compatible.
Definition and differentiation Not all open-source games are free software; some open-source games contain proprietary non-free content. Open-source games that are free software and contain exclusively free content conform to DFSG, free culture, and open content and are sometimes called free games. Many Linux distributions require for inclusion that the game content is freely redistributable, freeware or commercial restriction clauses are prohibited.
Background
In general, open-source games are developed by relatively small groups of people in their free time, with profit not being the main focus. Many open-source games are volunteer-run projects, and as such, developers of free games are often hobbyists and enthusiasts. The consequence of this is that open-source games often take longer to mature, are less common and often lack the production value of commercial titles. In the 1990s a challenge to build high-quality content for games was the missing availability or the excessive price for tools like 3D modeller or toolsets for level design.
In recent years, this changed and availability of open-source tools like Blender, game engines and libraries drove open source and independent video gaming. FLOSS game engines, like the Godot game engine, as well as libraries, like SDL, are increasingly common in game development, even proprietary ones. Given that game art is not considered software, there is debate about the philosophical or ethical obstacles in selling a game where its art is proprietary but the entire source code is free software.
Some of the open-source game projects are based on formerly proprietary games, whose source code was released as open-source software, while the game content (such as graphics, audio and levels) may or may not be under a free license. Examples include Warzone 2100 (a real-time strategy game) and Micropolis (a city-building simulator based on the SimCity source code). Advantage of such continuation projects is that these games are already "complete" as graphic and audio content is available, and therefore the open-source authors can focus on porting, fixing bugs or modding the games.
In a 2004 article, Adam Geitgey questioned the compatibility of the open-source culture with respect to the game development process. He suggested that perceived open-source development advantages do not work for games because users move on to new games relatively quickly and so do not give back to the project. Geitgey further noted that music and art development is not built up from the work of others in the same way that coding would be. He argued that high quality art content is required, which is typically produced commercially by paid artists. While Linux operates on the open-source philosophy, this may not benefit game development.
As of September 2015, the Steam gaming service has 1,500 games available on Linux, compared to 2,323 games for Mac and 6,500 Windows games.
History
Beginnings and early games
Just as in most other forms of software, free software was an unconscious occurrence during the creation of early computer games, particularly for earlier Unix games. These are mostly arcade conversions, parlour games, and text adventures using libraries like curses. A notable example of this is the "BSD Games", a collection of interactive fiction and other text-mode titles. Game fan communities such as the modding community do include some aspects of free software, such as sharing mods across community sites, sometimes with free to use media made for the modification.
With the rise of proprietary software in the mid to late 1980s, games became more and more proprietary. However, this also led to the first deliberately free games such as GNU Backgammon, GNU Chess, GNU Go, and GNU Shogi of the GNU Project established in 1983, part of whose goal is to create a complete free software system, games included. More advanced free gaming projects emerged, such as Moria and its descendant Angband, Hack and its derivatives NetHack and Slash'EM, in addition to Xtrek successor Netrek, variants of robots, and adventure game Dunnet, which has been included with GNU Emacs since 1994 among others. Still developed and played today, front-ends for frameworks such as X11, SDL, GTK and Qt, plus fuller featured variants such as Vulture's Eye have kept the games accessible. Roguelikes have continued to be produced, including Cataclysm: Dark Days Ahead, Tales of Maj'Eyal, HyperRogue, DRL, Egoboo, Shattered Pixel Dungeon, as well as Linley's Dungeon Crawl and its offspring Dungeon Crawl Stone Soup. The source code to the original Rogue was released under the BSD license in 1986.
As PC gaming began to emerge in the late 1980s, free gaming also advanced. More complicated games utilizing the X Window System for graphics started to appear, most beginning with the signature letter X. These included Xconq and XPilot. XBill is notable as one of the earliest free gaming titles to feature an activist theme of halting proprietary software adoption. XEvil followed the development cycle of many early pieces of free software, having originally been developed as a university project on the Project Athena network, although it was freeware for a while. The game was also one of the first free titles to feature controversial subject matter such as graphic violence and drug use. XTux was also an early deathmatch game for Linux, featuring various free software mascots, a theme that would continue to be revisited. Rocks'n'Diamonds is another earlier free software game, and one of the first for Linux. Other games targeted or also supported the SVGAlib library allowing them to run without a windowing system, such as LinCity and Maelstrom. The General Graphics Interface was also utilized, with games like Heroes and Thrust.
The Freeciv project was started in 1995 and gave rise to another new style of free game development. Similar to the cooperative nature of the Linux kernel development, Freeciv was extended by many volunteers, rather than only one or two authors. It had started out as a small university student project but then branched out into its current form and is still being developed today. Freeciv also proved to be one of the earliest very popular free software games, and was among the first to be included with Linux distributions, a system commonly known now as a source of peer review or selection of quality for free gaming projects. Magazines, news sources and websites have also started noting free games, often in listings. Freeciv and other archetypes have led to the development of many other clones of popular proprietary games. Lincity was also started in 1995, despite there having been a Unix version of its namesake officially released by DUX Software in 1990.
Beyond directly tying to the operating system, various free game development frameworks emerged starting with Allegro in 1990, SDL in 1998, ClanLib in 1999, OpenAL in 2000, SFML in 2007, as well as SDL 2 and Raylib in 2013. The GNU Image Manipulation Program, MyPaint, Krita, Inkscape, Synfig, Pencil2D, Audacity, Rosegarden, OpenShot, Kdenlive, Pitivi, Blender, MakeHuman, and other applications have provided an entire open source toolchain for creative projects. Various free software emulators and compatibility layers have also been produced, such as MAME and MESS, Mednafen, higan, Executor, Darling, lxrun, Cygwin, Dosbox, ScummVM, Anbox, Wine and Proton, allowing games to run in new environments (broadly targeted by the RetroArch front-end).
3D games and source releases
Proprietary games such as Doom and Descent brought in the age of three-dimensional games in the early to mid 1990s, and free games started to make the switch themselves. Tuxedo T. Penguin: A Quest for Herring by Steve Baker, a game featuring the Linux mascot Tux, was an early example of a three-dimensional free software game. He and his son Oliver would later create other popular 3D free games and clones such as TuxKart and contribute to those by other developers such as Tux Racer. BZFlag pre-dates all of these, inspired by Battlezone and started in 1992 and released in 1993. FlightGear and YSFlight are additional examples of original 3D games, first started in 1997 and 1999 respectively, especially noting that they are not first-person shooters but flight simulators; Danger from the Deep meanwhile simulates submarines.
The OpenGL specification provided a foundation for hardware acceleration since 1992, primarily through the free Mesa implementation since 1995, and later complimented by Vulkan since 2016. The Direct3D API has also been made available on free operating systems via compatibility layers such as WineD3D and DXKV. The Glide API was also made open source following the dissolution of 3dfx in 2002.
The Genesis3D engine project, Crystal Space and Cube also spawned other 3D free software engines and games, later joined by the likes of Delta3D and Dim3. Engines even exist for high-level programming languages such as Python and Pascal. Several engines exist with rendering in low-level C or C++ with higher level scripting, such as Panda3D for Python, Basic4GL, and Cafu for Lua, or offering a variety of language binding options such as Cocos3D, Horde3D, OGRE and the Irrlicht Engine. The games Yo Frankie! and Sintel The Game were developed by the Blender Foundation to showcase the abilities of the Blender modelling tool and the erstwhile Blender Game Engine, which has since been forked as UPBGE. Since May 2023, the GDevelop tool allows low to no code 3D game creation.
id Software, an early entrant into commercial Linux gaming, would also prove to be an early supporter of free gaming when John Carmack released the source code for Wolfenstein 3D in 1995 and Doom in 1997, first under a custom license and then later the GNU General Public License (GPL) in 1999. This was followed by the release of Quake engine in 1999, the Quake II engine in 2001 (known as id Tech 2), id Tech 3 in 2004 and most recently id Tech 4 in 2011 (including the updated version from the Doom 3: BFG Edition in 2012) before Carmack left id in 2013.
id Tech 4 was released as free software, even amongst patent concerns from Creative Labs over Carmack's reverse, while the original Doom source release shipped without music due to complications with the Cygnus Studios developed DMX library (which lead to the Linux version being selected for release). Carmack has continued to advise developers to be careful when depending on middleware, noting how it can limit the possibilities of later releasing source code. Tim Sweeney has implied this issue has hindered potential releases of older Unreal Engine source code. The Godot, Nebula Device, Plasma, Torque, Bork3D, Stride, PlayCanvas, Dagor Engine, and Defold engines were also initially commercial and proprietary, while the Open 3D Engine is derived from released code from Amazon Lumberyard originally based on CryEngine.