When it comes to programming, you need a simple ASCII text editor and a compiler. For the compiler, GCC (GNU Compiler Collection) is certainly the most popular and supports a wide variety of architectures and operating systems. Developed for the GNU Project is a suite of command line compilers (with Makefile), but there are also IDEs (1) like KDevelop (GNU / Linux) or Dev C ++ (Windows). Supported languages are C, C ++, Objective C, Fortran, Java, and Ada. The native code for the Windows port of GCC is MinGW.
CCG website: gcc.gnu.org.
The text editor can be any text editor that can save plain text (ASCII), with a preferred syntax: Emacs, VIM, etc.
2. Graphics and 3D modeling
To create textures and other 2D images for your game, the free software and cross-platform digital image design and editing you need are The Gimp. You can find it on gimp.org.
Regarding 3D modeling, with Blender it is necessary to do it! Although its interface is a bit austere at first glance, it remains a powerful 3D creation software. See blender.org.
Another free 3D modeling software Wings3D. It’s more “simplistic” and Blender doesn’t support animations, but is easy to learn. For small jobs, for example. wings3d.com.
3. Level design
For level creation, there is no real “generalist” software. For some games you can use GtkRadiant (qeradiant.com/?data=editors/gtk), or in the template in Blender and then convert them to a format specific to your game otherwise you will have to develop your own level of editing tools .
There are several free audio editing software available:
* Audacity: GNU / Linux, Mac OS X, Windows – audacity.sourceforge.net.
* Ardor: GNU / Linux, Mac OS X – ardour.org.
* Ecasound: all UNIX, Windows (via Cygwin) – wakkanet.fi/ ~ kaiv / ecasound.
Documentation is also important, especially for free software. It is therefore preferable to document the tools you have developed to convert / compile between different file formats. You can also document the code’s own set if another team wants to pick it up and modify it, or just for other programmers on your team.
The Free Software Foundation has also created a free license for everything related to documentation: the FDL (Free Documentation License). It’s also a copyleft license, so any product must keep the same license. An unofficial French adaptation is available at wikipedia.org/wiki/FDL.
6. Game engines
There are already tons of free graphics game engines and engines that you can (re) use. Among them:
* Ogre 3D, which is written in C ++ and licensed under the LGPL, a derivative of the GPL (ogre3d.org).
* Crystal Space 3D, also in C ++ and under LGPL (crystal.sourceforge.net).
* Quake II, whose source code for the game (C) is fully GPL Quake I as above (but less relevant) (idsoftware.com).
* Irrlicht, Open Source license specific to the project and written in C ++. Not the MacOS version (irrlicht.sourceforge.net/).