Pixelate:Issue 11/Inexpensive Software Tools for Game Development

From Allegro Wiki

Jump to: navigation, search
'Inexpensive Software Tools for Game Development
Original author: Kronoman
some mail
Website:
zip: some.zip
In loving memory of my father.

Hello, let me first introduce myself, my name is Kronoman. I'm a student of System Engineering from Argentina, and in my free time I like to make games. OK, now you know who I am, lets get to work.

When you are a newbie, you may find trying to copy some software that may be too expensive, and it's illegal to copy software(like most M$, B*rland, etc tools). And then, you get frustrated, and abandon the project because you don't have money to buy tools, and also, these commercial tools require expensive powerful hardware. So, in this article, I will try to show some useful, inexpensive and professional quality tools to develop games (and software of other types too). Lets get our hands dirty and start filling our garage of game development with tools.

Note: almost all the tools that I will mention are free, or GNU, GPL or similar.

You will want to make sure that most people can play your game once it's finished. For that, you will need compilers for different platforms, this is called portability, the ability to take your source code, recompile it and run it on different platforms. We will use C and C++ with Allegro to do our games, so I suggest you get :

  • For DOS, get DJGPP, a free port of GCC. You can get DJGPP from http://www.delorie.com/djgpp/; be sure to read all the documentation, looks hard to install at first glance, but that's not true, just use the 'Zip picker' and all almost done. Make sure to get the IDE, named Rhide, because is very good and useful.
  • If you have Linux, you propbably already have GNU GCC installed, if not, get it. Your distribution should come with it, if not, check http://gcc.gnu.org/. For Linux there is plenty of editors, IDEs and more; my favorite is Anjuta, http://anjuta.sf.net/ , but choose the one you feel the most comfortable with.
  • For Windows, one of the best free compilers is MinGW, download the complete distribution from http://www.mingw.org/ . You can get a good IDE called Dev-C++ at http://www.bloodshed.net/. A alternative to MingW32 is Cygwin, check it out at http://cygwin.com/.

Now that you have your compiler properly installed and working, we move on to the next step, the games needs graphics, and sound and more, so for speeding up the process of making graphics and other resources, you can use a pre-made, high quality library that will speed up your development. I strongly suggest that you use the Allegro library, it's very good, has support for many platforms, and you can do sound, graphics, use joystick, keyboard, mouse, and a lot more. Get it from http://alleg.sourceforge.net/. Be sure to get the latest version. Also, be sure to check http://www.allegro.cc/ for more info, tools and more. A good site is Pixelate, an online magazine with articles on game programming, you can get it at http://www.pixelate.co.za :)

Now, you want that you game have nice graphics, so you need a good graphics editing package. Most of the professionals uses Adobe Photoshop, which is very good, but cost a lot of money. For this reason, I use The GIMP, a GNU/GPL (that means free) program for making graphics that does almost everything that Photoshop can do. You can get it for Windows, Linux, etc in http://www.gimp.org/. If you are planning on using GIMP, then check out The Gimp User Group - GUG . Also, you can check ASE, Allegro Sprite Editor, on http://ase.sourceforge.net/

The latest thing is 3D graphics, so you better take a look at some of this useful links:

Modelers/Renders/Animators

http://www.blender3d.org/
http://www.anim8or.com/
http://www.wings3d.com/

Links about 3D, resources, etc.

http://www.linux3d.org/
http://www.3dlinks.com/
http://3dcafe.com/

Renders

http://www.povray.org/
http://www.ayam3d.org/
http://www.aqsis.com/

If you want to browse your graphics collection quickly under Windows, use IrfanView, download it for free from http://www.irfanview.com/.

If you plan to use video in your game, check the video editor named VirtualDub in http://www.virtualdub.org/ and the DivX encoder at http://www.divx.com/.

Now, no game is complete without sound and music, so get some nice audio editor. There is a Linux, Windows, etc editor which is very good named Audacity, get it at http://audacity.sourceforge.net/ that is GNU/GPL, and is pretty cool. You can check also a shareware one, called GoldWave, that does the job right. It is at http://www.goldwave.com/.

For music, you can use MOD files, and for this, I used to like FastTracker (version for DOS) and the ModPlug Tracker (Win) is very good, and can use many formats (IT, XM, MOD, etc). ModPlug Tracker is at http://www.modplug.com/. Check the The Fast Tracker II Resource Page, at http://www.relaypoint.net/~emillan/ft2/. OGG Vorbis and MP3 are also a good choice for real-life recorded music:
http://nekros.freeshell.org/delirium/alogg.php
http://nekros.freeshell.org/delirium/almp3.php

Also, check the cool library DUMB, is a add-on for Allegro.
Is at http://dumb.sourceforge.net/

For a total list of sound utilities, check http://www.linux-sound.org/

For packing up your game for Windows and making a setup for distributing it, you can use NSIS Setup Maker (the same that uses WinAmp), it is somewhere inside http://www.nullsoft.com/. In other way, you can distribute it as a ZIP file, using PowerArchiver and SFX Maker, check http://www.powerarchiver.com/ and http://sfxmaker.cjb.net/. If you use Windows, you will like a file organizer in the fashion of the old Norton Commander, it used to be in http://www.turbonavigator.com/ (This site is currently down, hopefully it will return soon !). It was Turbo Navigator, and is a very useful tool to manage your project files.

If you want your executable files smaller, use UPX, works with almost all systems, and is very fast and good : It is at http://upx.sourceforge.net/.

You may want to write documentation for your game, and a office-like suite would be perfect, like StarOffice, at http://www.sun.com/products/staroffice/, or OpenOffice.Org (this rocks!), at http://www.openoffice.org/. Both are very good, with spell checker, HTML, and all will satisfy all your other Office needs.

For quick editing some plain text under Windows, I use a very good notepad-replacement named Metapad, get from http://welcome.to/metapad/.

And, last, you may want to test your software in other OS without reboot, you can do that with Bochs, http://bochs.sourceforge.net/, it's a Pentium emulator (you can boot a OS inside another OS!, way cool!)

Well, with those tools you will have a nice set of tools to start developing games. You will have tools to cover most of the aspects of game development, like programming, graphics, sound, packing and documenting. I forgot to put some CASE, CAME tools, and others tools, but I think that these tools be sufficient for a newbie learning game development. If you bug me enough I will write another article with some more useful links to tools and software. Maybe, in a next time, I will try to tell how to get low-cost useful hardware to increase the quality of the game development. Remember that in www.allegro.cc there is plenty of links to other tools. Also doing a search on the net you can find cool software for your particular task, for example try Google.

Ok. That's all folks.
Bye, and Good Luck.
Kronoman. May/2003

Personal tools