Open-source video game
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 may or may not be under a free license. Examples include Warzone 2100 and Micropolis. 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.
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 in 1999. This was followed by the release of Quake engine in 1999, the Quake II engine in 2001, id Tech 3 in 2004 and most recently id Tech 4 in 2011 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. 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.
This led not only to source ports that allowed the playing of the non-free games based on these engines on free engines and systems, but has also to the production of standalone free games. These include Freedoom, Blasphemer, Open Quartz, LibreQuake, Nexuiz/Xonotic, Tremulous/Unvanquished, and OpenArena on id Tech. Freeware games, such as Harmony, Alien Arena, World of Padman, and Urban Terror, have also taken advantage of these free engines and sometimes have given code back to the community. Development and editing tools are also commonly released freely, such as GtkRadiant, Qoole, Doom Builder, and LibreSprite. Released engines have also been used for fangames such as Sonic Robo Blast 2, Wolfenstein: Blade of Agony, Project Osiris, ZBlood/Transfusion, SUPERQOT, and Slayer's Testament, and even commercial games such as Wrath: Aeon of Ruin, and Steel Storm, on the DarkPlaces engine, as well as titles by Blendo Games on the id Tech 2 and id Tech 4 engines. The game Ion Fury is built on the source available Build engine, and Excalibur: Morgana's Revenge on Aleph One.
id partners and related, such as Raven Software, Bungie, Volition, GarageGames, Cyan Worlds, and 3D Realms, as well as Two Tribes, Pangea Software, former developers from Capstone Software, Fields of Vision, Virtual Design, and Black Magic Software, and several of the developers who participated in the Humble Indie Bundle, have also released code and it is now accepted practice for some mainstream game developers to release legacy source code. Formerly proprietary games such as Jump 'n Bump, Dink Smallwood, Clonk, Seven Kingdoms, AstroMenace, Warzone 2100, Glitch, Maelstrom, Avara, Blades of Exile, Star Control 2, SimCity, Fish Fillets, HoverRace, Duelyst, as well Abuse and the unfinished Golgotha have even been entirely released freely, including multimedia assets and levels.
Some games are mostly free software but contain proprietary content such as the Cube sequel, Sauerbraten, Warsow / Warfork, or the former id Tech mods The Dark Mod and Smokin' Guns, but some developers desire and/or work on replacing these with free content. Mods for originally proprietary games have gone standalone following the source code being released for their parent game, such as Nexuiz for Quake, Alien Arena for Quake II, and Urban Terror for Quake III, as well as Penumbra: Necrologue for Amnesia: The Dark Descent. Derivatives of released code or recreations have even been used for commercial re-releases of vintage games such as Wolfenstein 3D Classic for iOS, Abuse Classic for iPhone, Marathon 2: Durandal for Xbox Live Arcade, Duke Nukem and Duke Nukem II for the Evercade, and The Original Strife: Veteran Edition. Source code releases were used however for unauthorized versions of Lugaru and Abuse'' that were allowed onto the App Store prior to takedown claims by the original developers.
Primarily proprietary developers have also helped free gaming by creating free libraries. Loki Software helped create and maintain the Simple DirectMedia Layer and OpenAL libraries and Linux Game Publishing created and maintained the free network layer Grapple. LGP also avoided publishing games similar to popular free titles. Many libraries/infrastructures have been created without corporate assistance however, such as Mumble voice over IP, OBS Studio for screencasting, and the Lutris game manager. Physics engines such as Box2D, Bullet, Chipmunk, Open Dynamics Engine, Newton Game Dynamics and PhysX have been made available as open source. In addition, various game creation systems are free software such as versions of Game Editor, Adventure Game Studio, OHRRPGCE, Game-Maker, the engine behind Stencyl, the original Construct, GDevelop and Godot.