This is a topic with craploads to things you may want/need to make your games. Rather they be tools or programs, or coughproncough, they're pretty good things you may want to use later. >_>;
..::Music::..Fruity Loops - This is a BASIC for music creations. Takes a while to get used to, but when you do, it becomes a powerful machine capable of making astonishing music. Unfortunatly, you'll have to pay for the full version (There IS a demo version, but with only four sounds D:), which could set you back $200+(Unless you know of ohers ways of obtaining it, like me >_>;
. Overall, a great program. The main site also has over 20 gigs of sounds for you to download, in order to enhance your music.
Anvil Studio - If your not into making all that complicated mp3 music, you could always go for the MIDI format. Its a whole lot cheaper than Fruity Loops, too. At the great price of free, Anvil Studio is a great program for making game music aswell. Of course, it won't sound as crisp as Fruity Loops, but that doesn't mean you can't make music just as beautiful. This is a great program thats easy, affordable, and reliable for a good long time.
Audacity - Audacity is a great thing. Sure, you can't make music with it, but its an essential item when you want to edit your sound bytes. This is a great tool to have around, as it allows you to toy around with the sounds you already have, to make them even better. This is good for cutting off unwanted parts of a song, or other sound bytes you may have. Plus it allows you to record using it. Pretty free too.
..::Programming::..-:=C/C++=:-Allegro - A programming language for games. I don't have experience with it, so read up on it and see what it can do
Guichan - This is said to make some SWEET GUIs. Capable of replicating other GUIs down to the last pixel. Give it a try. >_>
SDL - This is what your using if your planning on making your game open source. Its a multi-platform library, so its pretty good if you want to port your game to Linux or something. >_>
Dev C++ - If you don't have access to Linux, then this is your other alternative to programming in C++. A full C++ enviroment, it meets the standards of what a C++ enviroment should be >_>
-:=Other Languages=:-Perl - A simple scripting language capable of creating graphics, but beacause it has to compile everytime the program runs, it can become slow. A pretty good language to use for smaller things though.
GameMaker - If you haven't heard of this by now, then go fall in a well and die. But seriously, a exellent program for making complicated games easily. Not much to say about it >_>
RPG Maker XP - Yeah, it costs money, but you can aquire it other ways >_>. I don't have any experience in RPG Maker, but its said to be a very good program to make RPGs similar to Final Fantasy and such.
Visual BASIC - Its okay in the creations of games and such, and said to be pretty easy. Most people frown upon it because it teaches bad programming habits, so its recommended you learn something else first.
Python - Its sorta like Perl. Actually, its pretty identicle, aside from a few differences. Also a good language for creating small things. VERY easy to use.
..::Graphics::..The GIMP - A great alternative to Photoshop if you don't have the cash. Its a free program that'll help develope your sprites and such. I highly recommend it.
Photoshop - The big daddy of photo editing software. This thing can do EVERYTHING you'd need to do. It DOES cost a pretty penny, unless you know other ways of aquiring it >_>. I HIGHLY recommend this one.
..::Other Programs::..Winamp - Dude, your gonna be sitting at your computer for a LONG time. Listening to music helps keep you going with your "Fun" game >_>;. Free too, and one of the best players.
In order to expand this list, I'm asking people to post other programs or things they know that could help expand upon this list, mainly 3D programs and crap. >_>;