In the past, writing video games required nothing more than a text editor and maybe a homemade paint program. However, today things are a little more complicated. At a minimum, you need a C/C++ compiler, a 2D paint program, and a sound processing program. In addition, you might need a 3D modeler if you're going to do a 3D game, along with a music sequencing program if you're going to use any MIDI.
For Windows 9X/NT development, there's simply no better compiler than MS VC++ 6.0+. It does everything you need it to, and more. The .EXEs generated are the fastest code available. The Borland compiler will also work fine (and is a lot cheaper), but it has a much smaller feature set. In either case, you don't need the full-blown version of either one. A student version that makes Win32 .EXEs is more than enough.
2D Art Software
Here you have paint programs, drawing programs, and image processing. Paint programs primarily allow you to draw images pixel by pixel with primitives and manipulate them. As far as I'm concerned, Paint Shop Pro by Jasc is the leader of the pack for price versus performance. ProCreate Painter (formerly Fractal Design Painter) is also great, but it's more for traditional artists, not to mention that it's very expensive. My favorite is Corel Photo-Paint, but that's definitely more firepower than most newbies need.
On the other hand, drawing programs allow you to create images that are mostly constructed from curves, lines, and 2D geometrical primitives. These types of programs aren't as useful, but if you need one, Adobe Illustrator is the way to go.
The final class of 2D art programs is the image processing type. These programs are more for post-production work than for art creation. Adobe Photoshop is the favorite in most circles, but I think Corel Photo-Paint is better. Decide for yourself.
Sound Processing Software
Ninety percent of all sound effects (SFX) used in games today are digitized samples. To work with sound data of this type, you're going to need a digital sound processing program. The best program in this genre is Sound Forge Xp. It has by far the most complex sound processing capabilities I have ever seen, and yet it's the simplest to use.
Things get financially challenging when you consider 3D modelers, which can cost tens of thousands of dollars, but recently I've seen a number of low-cost modelers that have enough power to literally make a movie. The modeler that I primarily use for simple-to-medium-scale 3D models and animation is Caligari TrueSpace. It is the best 3D modeler for the price. It's a few hundred dollars and has the best interface there is.
If you want a little more firepower and absolute photorealism, 3D Studio Max is the way to go. It's around $2,500, though, so that might be something to think about. However, for the most part we're going to use these modelers just to create 3D meshes, not for rendering, so all the bells and whistles aren't really needed; thus, TrueSpace is the way to go.
Music and MIDI Sequencing Programs
There are two kinds of music in today's games: pure digital (like a CD) and MIDI (musical instrument digital interface), which is a synthesized performance based on note data. If you want to manipulate MIDI information and songs, you'll need a sequencing package. One of the best and most reasonably priced is called Cakewalk, so I suggest that you look into this program if you plan on recording and manipulating MIDI music. I'll talk about MIDI data when covering DirectMusic in Chapter 10, "Sounding Off with DirectSound and DirectMusic."
And now for the cool part… A number of the software manufacturers listed here have allowed me to put shareware or evaluation versions on the CD, so make sure to check them out!