So, I have taken it upon myself to draw up this article pointing out some of these free/cheap programs. This article will by no means be comprehensive, but I hope I can cover the bases of all the basic needs for coding and making art, sound, and music for gaming purposes. I believe that by the end of this article, everyone will see why there is really no need to beg, whine, and plead for software that you can't possibly afford, just to get your feet wet in the game development business.
Sprites, tiles, textures - unless you plan on making a career out of text-only games, you're gonna need some 2d art. And when you talk about free graphics apps - there is really only one word. That word is [url="http://www.gimp.org/"]GIMP[/url]. GIMP is free, open source, and is stable on Win32. It has a good amount of features available, and is easy to extend via plug-ins and Script-Fu. On the downside... it has a unique interface, and takes some getting used to. Pound for pound, it is nearly as powerful as Adobe PhotoShop, but is yours for the cost of the bandwidth to download it.
Another low cost option which people seem to forget about is [url="http://www.jasc.com/"]Paint Shop Pro[/url]. Now in version 7, it is available for between $70 -$90 USD. It has about all the features you'll ever need, with an easy to use interface.
Another contender for you attention is [url="http://www.tacmi.co.jp/pixia/"]Pixia[/url], which is similar to PSP, but is freeware. While I am not much of an artist myself, I have managed to get together some samples to show what these applications are capable of
The heart of game development - All the artwork in the world won't do you any good if you don't have a way to make it go. There are many, many options here, and I will only cover a few that I know to be handy and available. There are also 2 different routes to go:
[list=1][*]Plain text editor and command line compilers. Not something I can highly recommend for newbies, as it can take a while to learn all the proper command line switches, and which programs to run to get it all going properly.[*]IDE - Integrated Development Environment. This has pretty much become the defacto standard for coding in this day and age. For the most part, you set up your project, and from then on all you have to worry about is your code. Also makes creating GUI based apps easy, as most IDE's include some kind of resource (i.e. Dialog, Menu, etc) editor.[/list] Then you have the question of languages: There are probably many more out there that are also viable languages, but I will stick with the ones I am most familiar with: Java and C/C++. So here goes.
There are a lot of freeware / open source Java editors, compilers, and utilities available on the web. The one thing you will definitely need is the [url="http://java.sun.com/"]JDK[/url] (Java Developer's Kit). It is available for Win32, Linux, and a few other *nix OS's. There are ports to other systems, as well. Once you have the JDK installed, you have 2 options. One, use the text editor of your choice and the Java compiler included in the JDK, and go to town. The other option is to use on of the many IDEs available.
I, personally, am learning my way around [url="http://www.sun.com/forte/ffj/index.cgi"]Forte[/url], which is Sun's free IDE. The nice thing about Java tools is most of them are written in Java, so once you have the JDK, almost all of them will run on your system with no problems. Another good IDE for Java is [url="http://www.jcreator.com/index.html"]JCreator[/url], which is written in C++ for Win32 systems, so it isn't portable like the Java based ones, but might be a little easier to get used to working with.
When it comes to C/C++, you have more options then you can shake a stick at. I'll stick with listing the Win32 environment ones, as I am not familiar with all the options that *nix users have.
[list][*]Compilers[list][*][url="http://www.borland.com/bcppbuilder/freecompiler/"]Borland CPP 5.5[/url] - Ultra high-performance 32-bit Borland ANSI C++ native code compiler (from the site). An excellent compiler, especially for the price[*][url="http://www.cygwin.com/"]Cygwin[/url] -Win32 port of the well known (and loved by developers) GNU development tool chain.[*][url="http://www.mingw.org/"]MinGW[/url] -Minimalist GNU for Windows. Similar to Cygwin, but not as comprehensive of a set[*][url="http://www.delorie.com/djgpp/"]DJGPP[/url] - A complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. Very good for getting your feet wet with console programming[/list][*]IDEs[list][*][url="http://www.bloodshed.net/devcpp.html"]DevC++[/url] - A full-featured IDE, which is able to create Windows or console-based C/C++ programs using the Mingw compiler[*][url="http://www.objectcentral.com/"]VIDE[/url] -An IDE for both C++ and Java... Can use the GCC toolkit, the Borland compiler, and Sun's JDK. Quite the nice package[/list][/list] There are quite a few more options out there, but these ones are (IMHO) the best, especially for free. They might not have all the bells and whistles of Visual Studio, CodeWarrior, or C++ Builder but they serve their purpose quite well.
This section will probably be the longest, for two reasons. One, 3d modeling software is what most people ask for, and I have the most knowledge of this area.
3d modeling usually consist of the following stages:
[list=1][*]Creating a model[*]Skinning the model[*]Exporting the model to the format you want to use[/list] There are many, many options for this. I will outline the ones I personally use. For more options, a good link site is [url="http://povray.org/links/3D_Programs/Modelling_Programs/"]POVRay Modeling Links[/url]
[list][*]Modeling[list][*][url="http://www.crosswinds.net/%7Edraven2561/links/spatch.html"]sPatch[/url] -A bezier patch based modeler. Good for quick models of things.[*][url="http://www.anim8or.com/"]Anim8or[/url] - a 3D computer animation program that is designed to allow straightforward creation of animations.[*][url="http://www.swissquake.ch/chumbalum-soft/"]Milkshape 3D[/url] - Originally designed for making HL and Quake models, it has a SDK that allows users to write plugins for any need.[*][url="http://www.insidecg.com/downloads.php"]Amapi[/url] - An older version of their 3d modeler has been released as freeware, thanks to InsideCG Magazine.[*][url="http://www.blender.nl/"]Blender[/url] - Strange interface, but a very powerful piece of software.[/list][*]Skinning[list][*][url="http://www.geocities.com/lithunwrap/"]LithUnWrap[/url] - A tool for mapping and editing the UV coordinates of of low poly models. Unwraps a 3D model and export the mapping to a bitmap texture which can then be painted using a 2D graphics program.[/list][*]Conversion[list][*]Unfortunately, there aren't any free 3d format converters left out there, that I am aware of. The ones I can recommend as being decent are:[list][*][url="http://www.righthemisphere.com/3dexploration/"]3d Exploration[/url] - Excellent functionality. It will import, export, render, and add materials to a lot of 3d files. However, it has become rather pricey. I wouldn't include it, but there are so few options now... (hint to all you coders out there ;) )[*][url="http://www.stmuc.com/tbaier"]3d Win[/url] - A cheaper option. Doesn't have all the functionality of 3d Exploration, but only runs around 30 Euro[/list][/list][/list]
I am not much of a music man, so I have limited input for this area. The two apps I have found that are free/cheap and create music are [url="http://www.anvilstudio.com"]Anvil Studio[/url] and [url="http://www.myriad-online.com"]Melody Assistant[/url]. Both of these are MIDI based apps, and allow you to either compose with a MIDI keyboard or by point and clicking notes and selecting an instrument. Melody is the more powerful of the two, allowing exports to many different formats, and high quality sampled instruments.
Also, there is [url="http://www.jeskola.com"]Buzz[/url]. Buzz is a free soft-studio that is something like an entire synth, sequencer, effects... basically, every piece of hardware a techno guru might have, done in software. I have to say... I have yet to get the hang of it, but it looks quite good.
|3d Exploration||3d Converter||$39 Basic, $199 Enterprise Edition||Converts file formats, adds texture maps, renders pics||N/A||4|
|3d Win||3d Converter||30 Euro||Converts file formats||N/A||Not available||3|
|Amapi||3d Modeler||Freeware||Older version, but still good||Not Available||3|
|Anim8or||3d Modeler||Freeware||Great for animation||Not Available||4|
|Anvil Studio||Music Composer||Freeware||God for getting started||Not Available||3|
|Blender||3d Modeler||Freeware||Tricky to use, but extremely powerful||Not Available||Not Available||3|
|Borland CPP 5.5||C++ Compiler||Freeware||Don't forget to read the docs!||N/A||N/A||5|
|Buzz||Music Composer||Freeware||Interesting, techno-ish music software||Not Available||Not Available||4|
|Cygwin||C++ Compiler||Freeware||Win32 port of the well known GNU toolchain||N/A||N/A||5|
|DevC++||C++ IDE||Freeware||Compatible with Cygwin and MinGW||N/A||5|
|DJGPP||C++ Compiler||Freeware||DOS compiler||N/A||N/A||3|
|Forte||Java IDE||Freeware||Sun's official IDE||N/A||4|
|GIMP||2d Graphics||Freeware||Best of the bunch||5|
|JCreator||Java IDE||Freeware||Resembles Visual Studio; Win32 exe, not a Java app||N/A||5|
|JDK||Java Compiler||Freeware||You need this to do anything with Java||N/A||N/A||5|
|LithUnWrap||3d Texture Mapper||Freeware||Excellent for texturing||5|
|Melody Assistant||Music Composer||$15||A lot of good sampled sounds.. Exports to a lot of formats||My test||5|
|Milkshape 3D||3d Modeler||$20||A great modeler||5|
|MinGW||C++ Compiler||Freeware||Like Cygwin, but smaller||N/A||N/A||3|
|Paint Shop Pro||2d Graphics||$79||An excellent 2d art program||4|
|Pixia||2d Graphics||Freeware||Similar to PSP||N/A||3|
|sPatch||3d Modelling||Freeware||A simple Bezier patch modeler||Not Available||3|
|VIDE||C++/Java IDE||Freeware||Lean and mean. Integrates nicely with the Borland compiler, and the GNU tools||N/A||3|