There are plenty roles in Gamedev. business, each role splits at least into a dozen, if you want to work at some company as a game developer here are some roles you can pick:
GUI Artists, concept artists, general 2d artists, 3d artists, 3d sculpters, 3d animators,
Game designers: http://en.wikipedia.org/wiki/Game_design
game designers, writers, sound designers, testers, UX (User Experience) designers
Game programmers: http://en.wikipedia.org/wiki/Game_programmer
Artificial intelligence programmer, Sound programmer, Gameplay programmer, Scripter, UI programmer, Input programmer, Network programmer, Game tools programmer, Porting programmer, Technology programmer, Generalist, Lead game programmer
Those are just a few general roles, that split into smaller bits, such as the combat programmer who is a specialised gameplay programmer.
Directors, art director, main director, lead game designer etc.
They are the guys who have to know how everything works, to maintain a stable workflow between the game design teams.
Look at careers section at EA, it is the best reference when it comes to game development jobs.
If you want to go "solo/indie" you will have to know a bit of everything; kind off like the game director who needs to know the role of every team member. Here are a few tips.
If you would like to create 3D games you have to know about 3d modelling: You must know how to use 3d creation tools, what formats are there etc. For start I'd recommend Blender, due to the fact that it is light (120mb~~) and opensource. Or simply get the Autodesk 3d Studio Max or MAya. Those weight a bit more (3.2gb~) but have all the functions a 3d artist needs, they are supported by most game engines when it comes to 3d asset pipeline. You can download a free student version from www.students.autodesk.com . When it comes to learning I'd advice you to use the cg tutorials that are avaiable over the internet, for Blender Blendercookie.org , For anything else Digitaltutors.com - I used to learn on that website, they have thousands of hours of video tutorials on 3ds MAx/Maya/Zbrush/PhotoShop. I don't think that there is a better website, the only con I found about it is the fact that it costs $45 a month.
//Keep in mind that if you would like to use Autodesk student software for commercial purposes you are not allowed to do that, and you will have to get a copy for about $4000 to be "legit".
As for the indie game engine, depending on the enviroment you will be working with you got many options. XNA, Unity, Blender Game Engine, Unreal Engine, HeroEngine.
- Perfect FPS game engine
You can use it Commercialy, you keep any money you earn below ~$52,000. After that you are supposed to split 25% of the revenue. Fair if you consider the ammount of work they have done in the engine creation process, tens of AAA game titles used the Unreal Engine, Mass Effect 3, Bioschock Infinite, Unreal Tournaments (...) and more.
This engine gives you a complete Game Development kit with terrain editors, built in AI and so on.
It utilises its own script language called the UnrealScript, which is a C++ based language
http://Heroengine.com - Perfect solution for the MMO Development. "Minecraft world editor"
It is the perfect engine when it comes to MMO Develpment. You do not have to handle the server architecture; everything is done in the Herocloud. In order to work with it, you have to buy a work station for at least ($100/year) or 25 CCU workstation for ($400/life time).
If the game starts and you start making money, they will charge yo 30% of the revenue with no additional costs and they will handle the servers. If you pay $75,000 for the source code license you will only have to pay 7% of the revenue + you will gain the ability to host your game yourself in your own cloud.
It uses HeroScript, based on C++, for the 3d graphic pipeline you must use Autodesk 3DSMax/Maya as nothing else is supported.
The HeroEngine gives you many built in features, such as the facegen, speedtree (used in Avatar movie)
For a start I'd tinker around the Audacity, which is basic sound editor. Free GNU
If you can afford one, get an Adobe Photoshop as it is fairly the best 2d edition tool 2d graphic edition.
You can also use the Gimp, which is an opensource program that has probably everything you might need to make your game.
I posted the overall stuff you might need to know to find yourself around the game creation process. There are more engines as the Tourque 2d, more software to use like the Allegorythmic Substance creator for smart textures, or the 2d Illustrator. But I hardly believe that anyone would be able to master everything at once, so check out what suits you most and then go deeper into the rabbits hole. Whether it is the gamedesign, story/code writing or art design - You have to choose