awesome-gamedev/README.md

202 lines
9.1 KiB
Markdown
Raw Normal View History

2015-04-14 02:05:48 +03:00
# 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.
This is released under the GNU Free Documentation License - its text is provided in the LICENSE file.
Audio
=====
## Editors ##
* [Audacity][33] - Free software for recording and editing sounds. [GNU GPLv2][14].
* [MilkyTracker][34] - Multi-platform application for creating .mod and .xm module files. [GNU GPLv3][23]
* [Musagi][35] - A large and sophisticated music editor. [Expat][11].
## Music ##
* [Musopen][31] - A site dedicated to copyright-free (and culturally free) music. Various licenses, all copyright-free (varies by piece).
## Sound Effects ##
* [Freesound.org][30] - A collection of CC-licensed sound effects. Various licenses, all CC.
* [SoundBible's Royalty-free section][32] - A collection of CC or public-domain-licensed sounds. Various licenses, all CC or public domain.
Engines
=======
These are full-blown game engines.
## General ##
* [AGS][57] - Implemented in C++. Designed for adventure games. [Artistic License 2.0][58].
* [Fife][55] - Implemented in C++. Has Python scripting. Designed for isometric games. [GNU LGPLv3][38].
* [Flare][54] - Implemented in C++. Designed for action RPGs. [GNU GPLv3][23].
* [GDevelop][60] - Implemented in C++. Targeted at non-programmers. [Expat][11] (IDE is [GNU GPLv3][23]).
* [GNU FreeDink][47] - Implemented in C++. [GNU GPLv3][23].
* [Godot][51] - Implemented in C++. Has [its own scripting language][52]. [Expat][11].
* [Grit][50] - Implemented in C++. Has Lua scripting. [Expat][11].
* [Irrlicht][43] - Implemented in C++. Has a [range of bindings][44]. [zlib][45].
* [Ogre3D][41] - Implemented in C++. Has a [range of bindings][42]. [Expat][11].
* [Sludge][56] - Implemented in C++. Has its own scripting language. [GNU LGPLv3][38].
* [Torque2D][63] - Implemented in C++. Has its own scripting language. [Expat][11].
* [Torque3D][61] - Implemented in C++. Has [its own scripting language][62]. [Expat][11].
## HTML5 ##
* [Crafty.js][68] - Implemented in ECMAScript. [Expat][11] and [GNU GPLv3][23].
* [Phaser][64] - Implemented in ECMAScript. [Expat][11].
* [PlayCanvas][65] - Implemented in ECMAScript. [Expat][11].
## Physics ##
* [Box2D][48] - Implemented in C++. Designed to simulate rigid body physics. [zlib][45].
* [Bullet][59] - Implemented in C++. General physics engine. [zlib][45].
2015-04-14 02:05:48 +03:00
Graphics
========
## Assorted ##
This is a section for everything else that doesn't fit in some other graphics category.
* [CanTree][10] - Free online tree generator. Generates PNG files. [Expat][11].
* [Yobi3D][13] - A search engine for 3D models that aims to display license information when possible. Various licenses, including free ones.
## Collections ##
This category contains any 'grab-bags' of different kinds of art assets.
* [Free stuff by 7Soul1][3] - A collection of various game-related assets. Available in PNG. Public domain.
* [openclipart][6] - A collection of various clip art. Available in PNG. Public domain.
* [OpenGameArt.org][7] - A large collection of art intended for game development. Various licenses, including free ones.
* [Vecteezy][12] - A collection of vector art. Various Creative Commons licenses.
## Icons ##
* [Game-icons.net][4] - A constantly-growing collection of black-and-white icons. Available in SVG or PNG. [CC-BY-3.0][5].
## Sprites ##
* [SpriteLib][8] - A big collection of sprites. Available in PNG. [CPL 1.0][9].
Graphics Tools
==============
## Bitmap Compression ##
* [pngquant][16] - A command-line utility for lossy compression of PNG images. Has various front-ends available. [FreeBSD][17].
* [Trimage][18]- A cross-platform tool for losslessly optimizing PNG and JPG files. [Expat][11].
## Editors ##
* [AwesomeBump][41] - A program that generates normal, height, specular or ambient occlusion, roughness or metallic textures. Requires a graphics card with support for OpenGL4 or greater. [GNU LGPLv3][38].
2015-04-14 02:05:48 +03:00
* [Blender][25] - A 3D modelling and rendering editor. [GNU GPLv2][14].
* [GIMP][22] - The GNU Image Manipulation Program. Designed for photo retouching, image composition and similar tasks. [GNU GPLv3][23].
* [Inkscape][24] - A vector image editing program. [GNU GPLv2][14].
* [Krita][25] - A digital painting and illustration program. [GNU GPLv2][14].
* [MakeHuman][26] - A tool for making 3D characters. [GNU AGPLv3][27].
* [NeoTextureEdit][37] - An easy-to-use, graph-based, procedural texture editor. [GNU LGPLv3][38].
* [NormalMapOnline][40] - An online normal-mapping tool. [Expat][11].
2015-04-14 02:05:48 +03:00
* [Overlap2D][19] - An engine-agnostic game level and UI editor. [Apache2.0][20].
* [TextureGeneratorOnline][39] - An online tool for texture generation. [Expat][11].
2015-04-14 02:05:48 +03:00
* [Tiled][21] - Easy-to-use and flexible tile map editor. [GNU GPLv2][14] and [FreeBSD][17].
## Spritesheet Tools ##
* [Aseprite][13] - Animated sprite editor and pixel art tool. [GNU GPLv2][14].
* [Piskel][15] - Online pixel art and animated sprite creator. 'Do whatever you want' license.
## Voxel Editors ##
* [Sproxel][28] - A 3D interface for quickly editing and creating voxel-based 3D models. [3-clause BSD][29].
Programming Frameworks
======================
These are programming libraries or low-level code-based tools which are designed to support game programming, but do not provide as much structure or support as an engine would.
* [Allegro 5][36] - A cross-platform library for low-level tasks, like creating windows, accepting user input and so forth. Implemented in C and C++. [3-clause BSD][29].
* [enchant.js][65] - A framework for developing simple HTML5 + ECMAScript games. Implemented in ECMAScript. [Expat][11].
* [SDL][46] - Another cross-platform library for low-level tasks, like creating windows, accepting user input, and so forth. Implemented in C. [zlib][45].
* [Three.js][69] - A library that makes WebGL easy to use. Implemented in ECMAScript. [Expat][11].
* [voxel.js][67] - A multi-component framework for bulding voxel games for modern browsers. Implemented in ECMAScript. [3-clause BSD][29].
Utilities
=========
This is a catch-all category for things that don't fit anywhere else.
* [ScummVM][53] - A program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. [GNU GPLv2][14].
2015-04-14 02:05:48 +03:00
[1]: https://www.fsf.org/about/what-is-free-software
[2]: http://freedomdefined.org/Definition
[3]: http://7soul1.deviantart.com/gallery/44815788/Free-Stuff
[4]: http://game-icons.net/
[5]: https://creativecommons.org/licenses/by/3.0/
[6]: https://openclipart.org/
[7]: http://opengameart.org/
[8]: http://www.widgetworx.com/spritelib/
[9]: https://directory.fsf.org/wiki/License:CPLv1.0
[10]: http://arnaud.ile.nc/cantree/generator.php
[11]: https://directory.fsf.org/wiki/License:Expat
[12]: http://www.vecteezy.com/
[13]: http://www.aseprite.org/
[14]: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
[15]: http://www.piskelapp.com/
[16]: http://pngquant.org/
[17]: https://directory.fsf.org/wiki?title=License:FreeBSD
[18]: https://github.com/Kilian/Trimage
[19]: http://overlap2d.com/
[20]: https://directory.fsf.org/wiki/License:Apache2.0
[21]: http://www.mapeditor.org/
[22]: http://www.gimp.org/
[23]: https://www.gnu.org/licenses/gpl.html
[24]: https://inkscape.org/en/
[25]: https://www.blender.org/
[26]: http://www.makehuman.org/
[27]: https://www.gnu.org/licenses/agpl.html
[28]: http://sproxel.blogspot.com.br/p/about-sproxel.html
[29]: https://directory.fsf.org/wiki/License:BSD_3Clause
[30]: http://www.freesound.org/
[31]: https://musopen.org/
[32]: http://soundbible.com/royalty-free-sounds-1.html
[33]: http://audacity.sourceforge.net/
[34]: http://milkytracker.org/?about
[35]: http://www.drpetter.se/project_musagi.html
[36]: http://alleg.sourceforge.net/readme.html
[37]: http://neotextureedit.sourceforge.net/
[38]: https://www.gnu.org/licenses/lgpl.html
[39]: https://cpetry.github.io/TextureGenerator-Online/
[40]: https://cpetry.github.io/NormalMap-Online/
[41]: http://www.ogre3d.org/
[42]: https://en.wikipedia.org/wiki/OGRE#OGRE_ports_and_wrappers
[43]: http://irrlicht.sourceforge.net/
[44]: https://en.wikipedia.org/wiki/Irrlicht_Engine
[45]: https://directory.fsf.org/wiki/License:Zlib
[46]: https://www.libsdl.org/
[47]: https://www.gnu.org/software/freedink/
[48]: http://box2d.org/about/
[49]: http://www.scummvm.org/
[50]: http://www.gritengine.com/
[51]: http://www.godotengine.org/
[52]: https://en.wikipedia.org/wiki/Godot_%28game_engine%29#Scripting
[53]: http://scummvm.org/
[54]: https://github.com/clintbellanger/flare-engine/
[55]: http://fifengine.net/
[56]: https://opensludge.github.io/
[57]: https://github.com/adventuregamestudio/ags
[58]: https://directory.fsf.org/wiki/License:ArtisticLicense2.0
[59]: http://bulletphysics.org/wordpress/
[60]: http://www.compilgames.net/
[61]: https://www.garagegames.com/products/torque-3d
[62]: https://www.garagegames.com/products/torque-3d/overview/programming
[63]: https://www.garagegames.com/products/torque-2d
[64]: http://phaser.io/
[65]: https://playcanvas.com/
[66]: http://enchantjs.com/
[67]: http://voxeljs.com/
[68]: http://craftyjs.com/
[69]: http://threejs.org/