Free as in Imagination
Free Code Game Engines
Crystal Space - LGPL license, programmed in C++
3D Open World
WorldForge - a 3D engine developed by the WorldForge project, under a combination of GNU GPL, LGPL, and other GPL-compatible licenses
Meridian 59 - a 3D MMORPG engine developed as proprietary software by a commercial operator, and released into community development under the GPL in 2012. Only runs on Windows as of March, 2016 (might work in WINE?).
3D First Person Shooter
Torque 3D - "MIT'" licence, oriented towards Windows and browser games, although it also supports GNU/Linux and MacOSX.
Lugaru - developed in the C language by Wolfire games and released in August 2009, details about this game are sketchy but the screenshots look epic! The codebase is orphaned, but some amazing games could be build if new developers were found. Wikipedia states that the code, now hosted at BitBucket, is under GPL, and the game data is proprietary. There are Debian packages but not sure which repo, so that doesn't help.
Minetest, a MineCraft-like engine forked from Irrlicht, and released under LGPL 2.1
2D and 3D
Godot - a full game IDE developed in C and C++ by an Argentine game studio and released under the Expat ("MIT") license. Used in a number of libre games including DynaDungeons (GNU GPLv3), and Tanks of Freedom (Expat)
Top Down Realtime Strategy
Spring - Developed under GPLv2, and used in a wide range of games, some with libre art from the historical (Spring: 1944), to the futuristic (Zero-K), to the abstract (Kernel Panic), some with proprietary art (Star Wars: Imperial Winter).
Top Down Turn-Based Strategy
Battle for Wesnoth - GPL
OpenBOR - intended for Street Fighter side-scrolling style games, this "BSD" licensed engine is written in C and uses OpenGL, Framebuffer, and SDL
2D Side-scrolling Platformer
Music and Dance
Stepmania - a DanceDanceRevolution style game, whose engine is developed under a non-copyleft free license
UltraStar - A SingStar-style game developed by SterGames in Kylix/ Delphi, under GNU GPL 2, with ports for GNU/Linux and OSX in C++. Unfortunately, the original developers moved to proprietary development (and appear to have gone bust around 2012), but source code is still available on SourceForge, and a number of forks and rewrites exist such as UltraStarDeluxe.
Performous - An engine for games based on singing, instrument simulation, and dance, licensed under GNU GPL 2. Began as a C++ rewrite of UltraStar, targeted at GNU/Linux.
Repositories of games which have either released their source or been developed as free code
Free Code Graphics Toolkits / Libraries
Allegro - a set of basic windowing and 2D graphics functions, programmed in C, and released under the zLib license, a non-copyleft free software license. Used in Factorio (according to user Terkala on Reddit)
Maverick - a virtual reality toolkit "designed to support 3D virtual environments, and interaction with those environments. It uses Mesa or OpenGL to perform low-level rendering, but includes a lot of stuff on top of this to render different kinds of objects, to manage environments and provide support for 3D interaction."
Visualization Toolkit - 3D graphics, and image processing
If literacy is the ability to read and write, then gaming literacy would be the ability to not only play games, but to make them. The easiest way for people to make games at the moment is to modify existing games. Many popular games have 'mod' communities built up around them, but usually this is quasi-legal, even if it's tolerated or even encouraged by the game publisher. It also relies on the gamer have access to a full-featured computer, rather than a gaming console that is designed to be play-only.
A newer way of collaboratively making games has emerged out of the free software movement. There are now hundreds of games whose source code is licensed under the GNU GPL license, which explicitly allows modification and distribution (see my brief reviews of the libre games I've played). Many of them have also licensed their art under CreativeCommons or other licenses that similarly allow distribution, sometimes modification, and sometimes even commercial sale of modified versions. In July of 2009, "Age of Empires" style game 0 AD (pronounced "zero ay-dee") switched to the GPL for its software engine and CC-BY-SA for its artwork.
In recent years a growing community is emerging around the idea of "open source games" - ie games where the software, the artwork, or ideally both, are released under a libre (free/open) license. This community is organised around a loose network community of forums and service, including:
- FreeGameDev: a networking spaces for programmers and artists
- LibreGameWiki: a curated collection of information about libre games, engines etc
- Free Gamer/ FOSSGames/ Free Game News: blogs for libre game news
- OpenGameArt: (OGA) hosting artwork under libre licenses
- LibreGraphicsWorld: articles about graphical creativity using free tools
- Linux Game DataBase:
OGA launched the Liberated Pixel Cup, in association with CreativeCommons, the Free Software Foundation, and the Mozilla Foundation. It would be great to see this evolve into an artistic equivalent of the Google Summer of Code.
One project that I think would be hugely beneficial to the free culture movement would be a 3D game, with explicitly political themes, developed using entirely free code and free code tools, and with all the art elements under a CC-attribution-share-alike license - the gaming equivalent of the Elephants Dream and SinTel short movies, made with Blender3D. This would require:
- programmers to develop the gaming engine (either by forking an existing free codebase, or designing from scratch)
- visual artists to create design the user interface, character and world visuals, and make story video segments
- musicians to compose and record the music, dialogue and sound effects (possibly incorporating existing CC-licensed music)
- writers and conceptual designers to actually come up with the story, characters and world.
Presumably, this server-side code which makes this possible will also be licensed under the GPL, which means other companies could theoretically set up an Avaneya multiplayer server in competition. However, the original developers can reasonably expect a certain amount of custom from players who appreciate the game, and want to support ongoing development. A competitor would have to offer a substantially cheaper or better service to attract enough customers to make it commercially viable.
Due to lead developer Kip Warner's obvious passion for software freedom, it seems unlikely Avaneya will suffer the same fate as UltraStar, a SingStar clone. UltraStar was originally released under the GPL, but later changed to a freeware license. According to Wikipedia, the developers claimed "this change was made to protect and secure users private data sent to the game server", which is obviously bogus, as hundreds of servers run on free code stacks (often GNU/Linux/Apache/PHP/MySQL, with a free code CMS like Drupal, Plone, or WordPress on top) without compromising user privacy. It seems more likely that the change was made to allow DRM handcuffs to be added, restricting what users can do with the copyright songs that they use the program to sing along with.
As with Avaneya, anyone planning such a project will be faced with one of the frequent questions asked about games who release their engines and art under libre licenses. As with music and movies, "who pays the piper?" The Humble Indie Bundle project has successfully raised millions of dollars for independent game developers, some of which were already using libre licenses. Crowdfunding sites like KickStarter and IndieGoGo have also been used to raise funds for libre projects. The emerging answer seems to be why not go straight to the public who would be likely to buy the product, and get them to fund development directly, rather than trying to fund development after the fact by selling products.
Another strategy for free software game developers could be to develop mutually beneficial relationships with organic growers, who can support them directly with food and other plant-derived products, rather than cash. There is currently a lot of interest in developing games which teach permaculture principles, and other aspects of sustainable design and production. A simple example is the Shockwave game Permaculture Elements. More elaborate "PermaGames", like the PermaSim project on SourceForge, could be built on top of the free game engines and toolkits listed below, meaning that work done on improving those codebases could earn goodwill and vegetables from growers who see value in games as a teaching tool, especially for the "digital natives" of the generation born since the Internet went mainstream.
The next question is what are you going to play these libre games on, Windows? PlayStation? In answer to this question, there has been a drive to generally improve the experience of playing games on a GNU/Linux operating system, whether the game code and art are free or proprietary. Progress has been reported on sites like GamingOnLinux.com, LinuxGameNews.com, and LinuxGamingNews.org (no new posts since 2014).
Building on the growing interest in GNU as a gaming platform, a number of projects have emerged to create gamer-orientated distributions. An early attempt was Gamix (last release was 2007) a Mandriva-based distro created by PagoPago Software developer Eli Tomlinson so that his games could boot on a PC without needing to be compatible with the existing operating system, the same way a LiveCD/DVD/USB allows users to boot directly into GNU/Linux without installing on the hard drive. Another offering was GameDrift, a commercial product from Dutch company Linos which supported Windows games using a licensed version of Crossover Games; a proprietary middleware built on WINE. A similar project that it still active is PlayOnLinux, an application for playing Windows games on WINE which can be installed in your existing GNU/Linux. Other gamer-orientated distro projects that have come and gone include Supergamer and the LiveGame distro, which like Gamix, was intended to allow gamers to boot directly into their games without installing them. Curiously, development on all these projects (except for Gamix) seems to have stalled around 2011.
The big news over the last year or two in GNU/Linux based gaming OS is the SteamOS, the Debian-based distro packaged by Valve to run Steam Machines, first released in November, 2015. As of March, 2016, the current version is 2.0, based on Debian 8.0 Jesse, released in April, 2015. It seems like SteamOS is basically just GNU/Linux used as a free sandwich filling between the proprietary hardware on the bottom, made by a variety of vendors, and on top, Valve's proprietary game store, Steam, for which the OS and machines are named, and a stack of often DRM-encumbered proprietary games. Optimists are hoping that SteamOS will give PC gamers a sufficiently reliable libre alternative to Windows that they will also start to hanker for libre games, and get behind the movement towards libre hardware.
With GNU/ Linux well established as a server OS, and rapidly maturing as the desktop for communications, office applications, and even multimedia work (Dyne:Bolic, Pure:Dyne, UbuntuStudio), the holy grail of free culture now is the free gaming platform. A truly free gaming platform needs to be assembled from the ground up to include:
- Kick-ass, free-as-in-speech hardware designed around the graphics and audio processors
- a free code kernel designed around the demands of 3D graphics, and surround sound
- networking designed to optimise the cluster-processing of virtual worlds, and in-game tools like Mumble for chat
- bleeding-edge free software gaming engines
- and remix-friendly artwork, narrative, and character elements, liberated by free cultural works licenses, like CreativeCommons-Attribution-ShareAlike.
Once we get the gamers onside, it's game, set, and match for the free PC. If we can succeed at most of these things, free culture is the winner on the day.
A few good attempts have been made. The Pandora gaming handheld runs a version of GNU/ Linux, and will soon be succeeded by a newer handheld console called the Dragonbox Pyra, which was announced in 2014 and may start shipping pre-orders later this year. Respect for software freedom looked to be a fairly high priority for the Pyra team, although discussions on the Trisquel forums report mixed results. Another device running GNU/Linux mentioned in that thread is the GCW Zero, which was successfully crowdfunded on KickStarter, and is a handheld console akin to the PlayStation Portable.
Also crowdfunded on KickStarter was the OUYA console which runs Android/Linux. The choice of Android was made with the idea that game development on the proliferation of Android-based devices being sold (phones, tablets, set-top boxes, home media servers on Rasberry Pi etc) would provide a much wider variety of games for the OUYA, and reduce the risk for anyone wanting to develop games specifically for the OUYA, because they would also be easily portable to other Android devices. However, sales of both consoles and games weren't high enough to cover the venture capital being poured in, and OUYA was sold to Razer in 2015. It's future is uncertain.
As mentioned in the OS section, the next big thing for libre gaming hardware are the Steam Machines. There will be range of hardware form factors, from traditional tower gaming rigs to console size boxes, all running the SteamOS distro of GNU/Linux. This creates an opportunity for libre hardware companies to create a Steam Machine with fully free hardware, and for a group of developers to create a DRM-free, free code, game explorer like Steam, which offers downloads or online play of libre games, and links to easy ways to fund libre game creation. Once these projects reached a usable state, it would be possible to create a 100% freedom-respecting game machine.
Free Code Emulation
Emulating older game platforms which are being gradually obsoleted by their owners is a hot topic at the moment, with some manufacturers throwing whatever patent, copyright, or trademark litigation they have to hand at emulator developers, while others hand out permission and even documentation as freely as ID Games handed out the source code for Doom, once they had built a new generation of titles on a newer gaming engine.
The Pandora is able to emulate a number of older game platforms, including arcade machines, and some pre-8-bit, 8 bit, 16 bit, and 32 bit consoles. A multi-platform emulation software project, Open Emu (BSD), formerly OpenNestopia is available only for MacOSX.
Games As a Service
Where are the dedicated game servers for downloads and network play on libre games? Avaneya has one planned, but they won't be the first. Peers Community are currently running servers for five games:
- Minetest: MineCraft clone
- Red Eclipse (Cube Engine (2) fork): first-person shooter
- Sauerbraten: (Cube Engine (2) fork) another first-person shooter
- Tesseract: (Cube Engine (2)/ Sauerbrauten fork) yet another first-person shooter
- Xonotic: still yet another first-person shooter
Wildfire Games maintain a multiplayer lobby for their game 0AD. Various people run FreeCiv servers, and you can also play FreeCiv in your browser as an HTML5 game. The Meridian 59 community maintain Server 105 for MMORPG gameplay, and other Meridian servers exist.
Exciting work on immersive 3D digital environments is being done by a couple of GNU projects. Firstly, there's the Maverick 3D toolkit. Then there's the VERA (Virtual Entity of Relevant Acronyms) engine which is intended to run on top of it, although there's little information available about this project, what it will do, and when code and a stable, testable version will be released. Then there's WorldForge, an active community releasing a full MMORPG engine, including a gameplay client called Ember, under the GPL. They also release a medieval-themed game called 'Deeds', to showcase the engine. Meridian 59 is another MMORPG engine licensed under GPL since 2012.