Awesome Gamedev
A curated list of good stuff related to the development of games. This list
contains only [free software][1] for code, sellers who aren't evil for
physical resources, and [free cultural works][2] for assets.
I have also provided a list of resources which are not free, and the reasons
why, in the associated Wall of Shame file.
This is released under a Creative Commons-Attribution-ShareAlike license,
version 4.0. You can find its text in the LICENSE.md
file.
This project is part of [Peers][361] - a community for growing freedom. Support
us today!
Table of Contents
Assorted Assets
This contains collections of miscellaneous assets of different kinds.
- [Openclipart][288] - A giant collection of clip art. [CC0][289].
- [OpenGameArt.org][7] - A large collection of art intended for game
development. Various licenses, including free ones.
- [Wikimedia Commons][97] - A collection of various assets of all kinds. Various
licenses, all CC or free-er.
- [Open Source Game Clones][392] - A collection of open source videogames that
are clones of old games.
Audio
Editors
- [Ardour][130] - The digital audio workstation. [GNU GPLv2][14] or later.
- [Audacity][33] - Software for recording and editing sounds. [GNU GPLv2][14] or
later.
- [Beast][133] - Music composition and modular synthesis
software. [GNU LGPLv3][38] or later.
- [Hydrogen][366] - An advanced drum machine, with a free drum kit
included. [GNU GPLv2][14] or later.
- [LMMS][142] - A digital audio workstation. [GNU GPLv2][14] or later.
- [MilkyTracker][34] - Multi-platform application for creating .mod and .xm
module files. [GNU GPLv3][23] or later.
- [Musagi][35] - A large and sophisticated music editor. [Expat][11].
- [MuseScore][422] - A music notation program capable of generating engraved scores and audio and MIDI files. [GNU GPLv2][14] or later.
- [rFXGen][391] - a tool to generate sound waves procedurally. [zlib][45]
General
- [GameSounds.xyz][413] - Royalty free music and sounds. Various licenses,
including free ones.
- [Musical Artifacts][345] - A collection of music-related everything. Various
licenses, all CC.
Music
- [CC0 Music][385] - A collection of music. [CC0][289].
- [ccMixter][304] - A site for collaborating with musicians. Various licenses,
all CC.
- [Creative Commons on Bandcamp][85] - Everything on Bandcamp under a
CC-license. Various licenses, all CC.
- [Creative Commons on SoundCloud][98] - A Creative Commons collection on
SoundCloud. Various licenses, all CC.
- [Free Music Archive][328] - An archive of free music. Various licenses, all CC.
- [Incompetech][294] - An artist providing royalty free music of all genres. [CC-BY-3.0][5].
- [Jamendo][287] - A site providing music licensed under the Creatives
Commons. Various licenses, all CC.
- [LibreFM][96] - A big collection of stations, with fully-free music. Licenses
allow downloads and reuse.
- [Musopen][31] - A site dedicated to copyright-free (and culturally free)
music. Various licenses, all copyright-free (varies by piece).
- [Open Music Archive][295] - Digitized out-of-copyright sound
recordings. Public domain in the UK.
- [Silverman Sound Studios' Music Tracks][368] - A bunch of musical
tracks. [CC-BY-4.0][136].
Sound Effects
- [Audioaugust][341] - A collection of sound effects, originally used for a
game. [CC-BY-4.0][136].
- [Freesound.org][30] - A collection of CC-licensed sound effects. Various
licenses, all CC.
- [jsfxr][290] - A tool like sfxr-sdl but in ECMAScript. [Unlicense][305].
- [Opsound][70] - A collection of assorted sounds. [CC-BY-SA-3.0][127].
- [sfxr-sdl][321] - A tool to generate sounds. [Expat][11].
- [SoundBible's Royalty-free section][32] - A collection of CC or
public-domain-licensed sounds. Various licenses, all CC or public domain.
Communities
Gamedev can be a lonely job, and it also can have a steep learning curve. These
communities are designed to assist you in terms of camaraderie, expert knowledge
and resources.
- [/r/freeculture][316] - Part of the Free Culture Reddit Community. A general
free-culture-focused community.
- [/r/FreeGaming][94] - Part of the Free Culture Reddit Community. Designed
specifically for discussion of free culture games.
- [/r/freesoftware][323] - A general free-software-focused community.
- [/r/godot][185] - A community for discussion and support in development with
the Godot game engine.
- [FreeGameDev Forums][326] - A forum community for all things free-game-development-related.
- [FreeGaming][324] - A [freepo.st][325] community dedicated to free gaming.
- [Libregamewiki][327] - The free gaming encyclopedia.
Engines
These are full-blown game engines.
General
- [AGS][57] - Implemented in C++. Scripted using its own scripting
language. Designed for adventure games. [Artistic License 2.0][58].
- [AlephOne][371] - Implemented in C++. Designed for FPS games. [GNU GPLv3][23]
or later.
- [AnKi 3D][369] - Implemented in C++. [3-clause BSD][29].
- [Arianne][372] - Implemented in Java. Includes a multiplayer game
framework. [GNU GPLv2][14] only.
- [Azul3D][112] - Implemented in Go. [3-clause BSD][29].
- [Backbone][161] - Implemented in ECMAScript. [Expat][11].
- [BananaBread][162] - Implemented in ECMAScript. A port of Sauerbrauten. [zlib][45].
- [Castle Game Engine][292] - Implemented in ObjectPascal. [GNU LGPLv2][102] or later.
- [Chili Source][262] - Implemented in C++. [Expat][11].
- [Cocos2d][75] - Implemented in Python. [3-clause BSD][29].
- [Cocos2d-android][263] - Implemented in Java. [3-clause BSD][29].
- [Cocos2d-X][306] - Implemented in C++. Has ECMAScript, Lua and C++ scripting. [Expat][11].
- [DarkPlaces][314] - Implemented in C. [GNU GPLv2][14] or later.
- [delta3d][373] - Implemented in C++. Also useful for
simulations. [GNU LGPLv2][102] or later.
- [Doomsday][134] - Implemented in C++. [GNU GPLv2][14] or later.
- [Duality][77] - Implemented in C#. [Expat][11].
- [EasyRPG][208] - Implemented in C++. Designed for JRPG-style
games. [GNU GPLv3][23] or later.
- [ENIGMA][308] - Implemented in C++. Has its own scripting language
and [GUI editor][309]. [GNU GPLv3][23] or later.
- [FIFE][55] - Implemented in C++. Has Python scripting. Designed for isometric
games. [GNU LGPLv3][38] or later.
- [Fillwave][374] - Implemented in C++. Has an easy graphics API. [FreeBSD][17].
- [Flambe][329] - Implemented in Haxe. Designed for 2D games. [Expat][11].
- [FLARE][54] - Implemented in C++. Designed for action RPGs. [GNU GPLv3][23] or
later.
- [Fluxus][137] - Implemented in C++. Designed for livecoding
worlds. [GNU GPLv2][14] or later.
- [Free Hero Mesh][432] - Implemented in C. Designed for turn-based grid-based 2D puzzle games. Public domain.
- [gamekit][293] - Implemented in C++. Scripted using C++, Lua or logic blocks. [Expat][11].
- [GamePlay][266] - Implemented in C++. [Apache2.0][20].
- [GDevelop][60] - Implemented in C++. Targeted at non-programmers. [Expat][11]
(IDE is [GNU GPLv3][23] only.)
- [GNU FreeDink][47] - Implemented in C++. [GNU GPLv3][23] or later.
- [Godot][51] - Implemented in C++. Has [its own scripting language][52]. [Expat][11].
- [Gosu][318] - Implemented in C++. has a Ruby interface. [Expat][11].
- [Helm][83] - Implemented in Haskell. [Expat][11].
- [HERITAGE][123] - Implemented in ECMAScript. Designed for text adventure
games. [GNU GPLv3][23] or later.
- [Horde3D][115] - Implemented in C++. [EPLv1][116].
- [ioquake3][202] - Implemented in C. A fork of the Quake III Arena
engine. [GNU GPLv2][14] or later.
- [Irrlicht][43] - Implemented in C++. Has a [range of bindings][44]. [zlib][45].
- [JMonkey][140] - Implemented in Java. [3-clause BSD][29].
- [JNGL][430] - Implemented in C++. Designed for 2D games. [zlib][45].
- kengine - The Koala engine is a type-safe and self-documenting implementation of an Entity-Component-System (ECS), with a focus on runtime extensibility and compile-time type safety and clarity. [MIT][403]
- [KivEnt][307] - Implemented in Python. [Expat][11].
- [LambdaHack][84] - Implemented in Haskell, Designed for roguelikes. [3-clause BSD][29].
- [litiengine][417] - Implemented in Java, Designed for 2D games. [MIT][403]
- [lycheejs][89] - Implemented in ECMAScript. Designed for construction of HTML5
or native SDL games. [Expat][11].
- [Maratis][311] - Implemented in C++. Has Lua for scripting. [GNU GPLv2][14] or
later.
- [Moai][319] - Implemented in C++. Has Lua for scripting. [CPAL][320].
- [OctaForge][379] - Implemented in C++. Has LuaJIT for scripting. Fork of
Sauerbraten. [NCSA Open Source License][380].
- [Ogre3D][41] - Implemented in C++. Has a [range of bindings][42]. [Expat][11].
- [OHRRPGCE][421] - Implemented in BASIC. Designed for 8/16-bit-like games like Final Fantasy.
Has custom plotscript language for advanced scripts. An oldschool RPG Maker alternative. [GNU GPLv2][14] or later.
- [Orx][315] - Implented in C. [zlib][45].
- [Oxygine][176] - Implemented in C++. [Expat][11].
- [Panda3D][119] - Implemented in C++. Has a Python interface. [3-clause BSD][29].
- [PlayN][317] - Implemented in Java. [Apache2.0][20].
- [Processing][313] - Implemented in Java. Has its own scripting
language. [GNU GPLv2][14] only.
- [Processing.js][314] - Implemented in ECMAScript. Has its own scripting
language. [Expat][11].
- [qfusion][206] - Implemented in C++. Designed for FPS games. [GNU GPLv2][14]
or later.
- [Ren'Py][107] - Implemented in Python. Designed for visual
novels. [Expat][11], with some parts under [GNU LGPLv3][38] only.
- [SGE][387] - Implemented in Python. Designed for 2-D games. [GNU GPLv3][23]
- [SLUDGE][56] - Implemented in C++. Has its own scripting
language. [GNU LGPLv3][38] only with the GTK Dev Kit [GNU GPLv3][23] or later.
- [Sly][344] - Implemented in Guile. Uses functional reactive
programming. [GNU GPLv3][23] or later.
- [Solarus][375] - Implemented in C++. Has a Lua API and game editor. Designed
for Action-RPGs. [GNU GPLv3][23] or later.
- [Spearmint][203] - Implemented in C. Designed for FPS games. [GNU GPLv3][23]
or later.
- [Spring][121] - Implemented in C++. Designed for RTS games. [GNU GPLv2][14] or
later.
- [Torque2D][63] - Implemented in C++. Has [its own scripting language][62]. [Expat][11].
- [Torque3D][61] - Implemented in C++. Has [its own scripting language][62]. [Expat][11].
- [Turbulenz][277] - Implemented in ECMAScript. [Expat][11].
- [Urho3D][122] - Implemented in C++. Scripted using AngelScript or Lua. [Expat][11].
- [voxeliq][246] - Implemented in C#. Designed for voxel world games. [MS-PL][247].
HTML5
Unless stated otherwise, these engines are implemented in ECMAScript.
- [Akihabara][258] - Designed for 8-bit and 16-bit games. [Expat][11].
- [Babylon.js][260] - [Apache2.0][20].
- [Cocos2d-html5][264] - [Expat][11].
- [Coffee2D][205] - Implemented in CoffeeScript. [Expat][11].
- [Crafty.js][68] - [Expat][11].
- [Cube][168] - Designed for voxel games. [WTFPLv2][169].
- [kiwi.js][269] - [Expat][11].
- [melonJS][93] - [Expat][11].
- [panda.js][273] - [Expat][11].
- [Phaser][64] - [Expat][11].
- [PlayCanvas][65] - [Expat][11].
- [PuzzleScript][362] - [Expat][11].
- [Sprig][431] - [MIT][403].
- [Superpowers][357] - [ISC][358].
Physics
- [ammo.js][259] - Implemented in ECMAScript. A port of Bullet. [3-clause BSD][29].
- [Box2D][48] - Implemented in C++. Designed to simulate rigid body physics. [zlib][45].
- [Bullet][59] - Implemented in C++. General physics engine. [zlib][45].
- [LiquidFun][396] - LiquidFun is a 2D rigid-body and fluid simulation C++ library for games based upon Box2D. [zlib][45].
- [Matter.js][91] - Implemented in ECMAScript. Physics engine for HTML5. [Expat][11].
- [ODE][117] - Open Dynamics Engine; implemented in C++.