Skip to content

Instantly share code, notes, and snippets.

@raysan5
Last active July 27, 2024 20:27
Show Gist options
  • Save raysan5/bd8c0293d8b8da1e9e44d8ac435e9304 to your computer and use it in GitHub Desktop.
Save raysan5/bd8c0293d8b8da1e9e44d8ac435e9304 to your computer and use it in GitHub Desktop.
Open Source and Videogames - Resources

open_source_and_videogames

Open Source and Videogames - Resources

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.

Contents

  1. Free and open-source licenses
  2. Free and open-source software to make videogames
  3. Free and open-source engines to make videogames
  4. Free and open-source libraries to make videogames
  5. Free and open-source videogames?
  6. Free and open-source in consoles?
  7. References

1. Free and open-source licenses

We can assign a license to multiple types of content, in videogames there are three possible categories depending on the type of content created:

1.1 Product

Represents the final product, the one including the executables packaged of our program/game. Types of licenses:

1.2 Assets

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:

1.3 Source Code

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
    • ...

2. Free and open-source software to make videogames

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.

2.1 Art and Graphics - FOSS

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

Materialize. Developed by Bounding Box Software using Unity

2.2 Art and Graphics - Free

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

rtexviewer03

rTexViewer. Developed by raylib technologies, aka @raysan5

2.3 Audio and Video Production - FOSS

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

zRythm. Developed by Alexandros Theodotou (@alex-tee) and contributors

2.4 Code Editors and Profiling Tools - Free/FOSS

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

RenderDoc. Developerd by Baldur Karlsson, aka @baldurk.

2.5 Tile/Level Editor Tools - FOSS

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_screenshot

LDtk. Developed by Sébastien Bénard, aka @deepnight.

2.6 Misc Useful Tools - Free/FOSS

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

ImHex. Developed by Nik, aka @WerWolv

2.7 Vendor Tools for Gamedev - Free

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.

3. Free and open-source engines to make videogames

Lists of engines to make games, note the licenses of every engine and its third-party dependencies!

3.1 Free and open source engines (with Editor/Tools)

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

Godot Engine. Developed by Godot Engine contributors. Main developer: Juan Linietsky (@reduz).

3.2 Free and open-source engines (without Editor/Tools)

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

4. Free and open-source libraries to make videogames

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

4.1 Commercial engines and open-source?

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!

5. Free and open-source videogames?

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.

6. Free and open-source in consoles?

Consoles OS software is very complex and we can also find open source being used there.

7. References

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.

@b0urb4k1
Copy link

https://github.com/bombomby/optick Might be a nice addition.

@ArsThaumaturgis
Copy link

This looks like a neat list! ^_^

If I may suggest an addition, Panda3D is a free-and-open-source engine, without editor.

Link: https://www.panda3d.org/

@mirko-lazarevic
Copy link

Couple of days ago 2point21 decided to open-source the code of Little Big Adventure 1 and 2 . Might be interesting to look.

Little Big Adventure 1 source code
Little Big Adventure 2 source code

@raysan5
Copy link
Author

raysan5 commented Nov 2, 2021

@mirko-lazarevic Wow! That's really nice! I loved LBA! Thanks for sharing! :D

@mirko-lazarevic
Copy link

@raysan5 It seems they will make LBA 3 :D

@FullyBugged
Copy link

On the 3.2 Free and open-source engines (without Editor/Tools), we would definitely add ORX:
https://www.orx-project.org/
https://github.com/orx/orx

And thx for this page we will share right away ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment