This git include a list of programs, tools, engines and libraries free and open source intended to make videogames.
NOTE: This gist is a support material for the talk "Open Source and Videogames" given by me, Ramon Santamaria, on October 26th 2021 in Canòdrom, Barcelona. All the materials listed here were explained in detail in a +2 hours talk.
- Free and open-source licenses
- Free and open-source software to make videogames
- Free and open-source engines to make videogames
- Free and open-source libraries to make videogames
- Free and open-source videogames?
- Free and open-source in consoles?
- References
We can assign a license to multiple types of content, in videogames there are three possible categories depending on the type of content created:
Represents the final product, the one including the executables packaged of our program/game. Types of licenses:
- Private (EULA)
- Crippleware
- Shareware
- Adware
- Donationware
- Postcardware
- Beerware
- Abandonware
- Freeware
- ...
Represents the assets created for our product, it could be images, icons, fonts, audio, text files... any kind of content created other than code. Types of licenses:
- Private
- Creative Commons
- CC-BY-NC-ND
- CC-BY-SA 4.0
- CC-BY 4.0
- CC-0 1.0
- ...
Those are the code sources for our project, all the material that will be compiled to generate the final binaries of the product/game. Types of licenses:
- Private
- Open Source
- GPL / LGPL
- Apache / Eclipse
- MIT / BSD / zlib
- Unlicense
- ...
Here it is a curated collection of software useful to make games, it includes the links to product web as well as the links to sources and license.
Product | Source Code | OSS License |
---|---|---|
Blender | Own Git | GNU GPL |
GIMP | tarball | GNU GPL |
Krita | KDE | GPU GPL v3 |
Inkscape | GitLab | GPU GPL |
Aseprite | GitHub | NO OSS! |
ImageMagick (CLI) | GitHub | Custom OSS |
GraphicsMagick (CLI) | Mercurial | Custom OSS |
Effekseer | GitHub | MIT |
Materialize | GitHub | GPL-3.0 |
Material Maker | GitHub | MIT |
Materialize. Developed by Bounding Box Software using Unity
Product | Free License |
---|---|
Paint.NET | Custom Free |
Photopea | not specified |
MagikaVoxel | not specified |
DragonBones | ??? |
ShoeBox | free |
PVRTexTools | Free EULA |
rTexViewer | free/donation |
rTexPacker | free/donation |
rTexViewer. Developed by raylib technologies, aka @raysan5
Product | Source Code | OSS License |
---|---|---|
Audacity | GitHub | GNU GLP v2 |
AudioMass | GitHub | not specified |
ZRythm | GitHub | GNU AGPL |
LMMS | GitHub | GPL-2.0 |
rFXGen | GitHub | Zlib |
Shotcut | GitHub | GPL-3.0 |
OpenShot | GitHub | GPL v3 |
OBS | GitHub | GPL-2.0 |
VLC | GitHub | GPL-2.0 |
FFmpeg | GitHub | multi |
ScreenToGif | GitHub | MS-PL |
zRythm. Developed by Alexandros Theodotou (@alex-tee) and contributors
Product | Source Code? | OSS License? |
---|---|---|
Atom | GitHub | MIT |
Notepad++ | GitHub | GNU GPL v3 |
Visual Studio Code | GitHub | MIT |
Neovim | GitHub | Apache v2 |
Lite XL | GitHub | MIT |
RenderDoc | GitHub | MIT |
SHADERed | GitHub | MIT |
Visual Studio Community | no | EULA |
ShaderToy | no | terms |
RenderDoc. Developerd by Baldur Karlsson, aka @baldurk.
Product | Source Code | OSS License |
---|---|---|
Tiled | GitHub | misc |
LDtk | GitHub | MIT |
OGMO Editor | GitHub | MIT |
MFCG | GitHub | GPL-3.0 |
GB Studio | GitHub | MIT |
Pixel Vision 8 | GitHub | MS-PL |
LDtk. Developed by Sébastien Bénard, aka @deepnight.
Product | Source Code? | OSS License? |
---|---|---|
7-zip | SourceForge | multi |
Agent Ransack | no | Lite/Pro |
Everything | no | multi |
XVI32 | no | Freeware |
ImHex | GitHub | GPL v2 |
Inno Setup | GitHub | Custom OSS |
scc (CLI) | GitHub | MIT |
ImHex. Developed by Nik, aka @WerWolv
All hardware vendors provide free tools to work with their hardware, the following vendors provide specific tools for videogames development. Sometimes those tools only work with the vendor hardware while other times tools are generic enough to work with any hardware. Most of those free tools a subject to an EULA license, required to be accepted at software installation. Some vendors also require free registering to download their tools.
Lists of engines to make games, note the licenses of every engine and its third-party dependencies!
Engine/Lib | Coding Language | Source Code | OSS License | Third-party? |
---|---|---|---|---|
Godot Engine | GDScript, C#, C/C++ | GitHub | MIT | details |
Stride | C# | GitHub | MIT | details |
O3DE | C++ | GitHub | Apache v2/MIT | no details |
Defold (King) | Lua | GitHub | Defold | details |
WebGLStudio | JS | GitHub | MIT | none? |
Lumix Engine | C++ | GitHub | MIT | details |
Godot Engine. Developed by Godot Engine contributors. Main developer: Juan Linietsky (@reduz).
Engine/Lib | Coding Language | Source Code | OSS License | Third-party? |
---|---|---|---|---|
MonoGame | C# | GitHub | MS-PL | details |
Filament (Google) | C++ | GitHub | Apache 2.0 | details |
Magnum | C++ | GitHub | MIT | details |
Wicked Engine | C++ | GitHub | MIT | details |
Solar2D (Corona) | Lua | GitHub | MIT | details |
Three.js | JS | GitHub | MIT | none? |
Phaser | JS | GitHub | MIT | none? |
openFrameworks | C++ | GitHub | MIT/misc | details |
Ebiten | Go | GitHub | Apache v2 | packages? |
libGDX | Java | GitHub | Apache v2 | extensions? |
LÖVE | Lua | GitHub | Zlib | details |
pygame | Python | GitHub | GNU LGPL v2.1 | details |
raylib | C | GitHub | Zlib | details |
Some popular libraries used by several engines, note that most libraries are usually low-level and coded in C/C++.
Library | Language | Source Code | OSS License |
---|---|---|---|
SDL2 | C | GitHub | Zlib |
libpng | C | GitHub | Zlib |
libxml2 | C | GitLab | MIT |
curl | C | GitHub | curl |
Lua | C | GitHub | MIT |
FreeType | C | GitLab | FreeType |
Dear ImGui | C/C++ | GitHub | MIT |
sqlite | C | Fossil | Public Domain |
Basis Universal | C/C++ | GitHub | Apache v2 |
libtheora | C | GitHub | BSD 3-clause |
ANGLE (Google) | C/C++ | Git | BSD 3-clause |
Mono | C | GitHub | multi |
Popular commercial engines like Unity/Unreal also use many open source libraries internally, the licenses for those libraries can be found here:
- Unity third-party libraries - Unity/Editor/Data/Resources/legal.txt
- Unreal third-party libraries - UnrealEngine/Engine/Source/ThirdParty/Licenses
WARNING: It's not always easy as an user to manage licenses correctly for the final product!
Is there any open-source commercial videogame? Actually there are some... many big companies have GitHub accounts where they open source some of their contents.
- Prince of Persia (Apple II)
- id Software
- Valve
- Electronic Arts
- Ubisoft
- Blizzard
- Crytek
- Epic Games
- Unity Technologies
- Microsoft
- Sony Computer Entertainment
Consoles OS software is very complex and we can also find open source being used there.
Some additional references for open-source contents:
This document is licensed as CC BY-SA 4.0, which is one of the licenses in the Creative Commons family.
@raysan5 It seems they will make LBA 3 :D