I'm wanting to make a simple game, something like a bullet hell where you dodge bullets or a 2D RPG
I would like to add 3D elements, maybe just a scrolling backgrounds or as effects etc

I'm not too serious, but when I do things I tend to research till I get everything the way I want it, I have alot of free time right now and always wanted to try making a game.

Can you direct me on the most appropriate program languages and stuff I need to learn to start this stuff up?

I'm thinking I need to learn C#, and DirectX, from what I've read so far but not too sure.

Also, I have a background in After Effects and such. could that be used at all as effects in the game? Like for generating particle effects in animation loop files on transparent backgrounds and rendering it to some 3d format or something. I have no idea if After Effects is used at all in the game industry.

To answer the second part of your question, After Effects is more generally used in the Visual Effects post processing role. So it has niche uses, such as editing cut scenes and such, but no real value for real time games.

If you go the route of C# go with the XNA framework, it is easy to get started. I will tell you this, you might find your self getting rather frustrated and feeling like this isn't for you and want to give up if you jump to far ahead of your skills. I.E. stick to simple games in the console, not graphical. Not until you are fairly comfortable with the language. If you have to reference how to do the basics you probably are not ready to start making graphical games as they have a lot more to know. So you would basically be learning a programming language and a framework at the same time. I hope that helps you out.

I agree with wicked357; pick a language and learn it first. Whether it be C++, C#, ActionScript or DarkBasic. It is very important to learn the foundational knowledge before jumping head-first into game programming. If you apply yourself and don't shirk on the basics of your chosen language you'll feel a lot less frustrated.

Start with a simple number based guessing game. There will be few variables to handle and you'll get the feel of the language. Then perhaps move on to a number combination guessing game. Stair-step your progress. Work your way up.

A word of advice - if you're like me and learn a lot from reading tutorials & sites like GameDev.net then NEVER EVER copy and paste. But if you're going to copy - AT THE VERY LEAST type it out. Line-by-line and character-by-character.

I would do C# with XNA, or Python with Pygame. I like the Python route personally if you're just getting started. It's really really easy to learn and it is also cross-platform.

If you're new to game development, or even programming in general, then you really need to focus on learning the fundamentals of programming as well as the fundamentals of basic 2D game development. Learning the basics of C# is going to be easier than trying to learn C++ for more people, but Python is going to be easier to both as it's the language closest to English.

I've been working with XNA and C# the past week, as I said I have alot of free time I've mostly been at it all day everyday. At first I started with XNA without getting into C# much, I mostly understood what was happening following some of the popular 2D game tutorials out there and XNAs framework isn't too complicated. I then decided to get into the basics and followed a really long (took me more then a day) C# beginner tutorial around game design, which I built my own calculator and dos rpg lol honestly, it helped me understand most of the functions and how OOP is which I'm actually familiar as one of my programs uses object oriented approach to handling things. But I find XNA alot easier to understand how games work, maybe because I can display the graphics. I still don't fully understand when to use some of the functions vs others in C#, heck I still dont fully understand alot about the basics of it.

Anyway, I figured out how most of the effects and stuff happen in 2D games (particle system) <-- I am very familiar with these already, having extensive use in particular but that has a gui and building one out of scratch is alot harder. And alpha blending for creating glow effects. I figured out I could easily render out animation sequences from my programs into png images, align them into sprite sheets or use them as they are for animation, so it seems after effects can be pretty useful for creating short animations. I still don't understand how 3D games work, I wanted to start with a free 3D program and read some tutorials but this programming language has ended up taking up most of the my time this week lol

Anyway, I'm having doubts ( yeah I know... stick with it but hear me out here. ) about how things are going to work in C#. I can see how everything will most likely work together, but I can also see how hard it is to build all of it I'm almost half way thinking of trying out Python/Pygame as I think that is the only easier language I could go to ATM. I like C# and the editor in VS2010, does python have anything like that?

I'm mostly use to guis, coding the most I have used as I think I said before is AVS script, and basic html so building everything literally from code seems way too big of a task, I'm amazed by what actually goes into game development after studying and reading up on stuff. I have alot more respect for anyone who builds a simple game now I'll tell you that. I can see me most of the time searching the internet on how to do simple things if I try to make a game in C# and XNA atm (I've already read most tutorials, which are good starting points, and I don't really plan on making anything too complex like an actual RPG system or something.

one other thing right now is that I'm worried about XNA, it seems MS isn't really supporting it anymore? Not that I really care... I don't plan to make anything bigger then a DX9 game, but I don't really like how things get dropped by developers and such... I was thinking if I decide to continue using C# maybe using Unity instead would be a good idea, and I would be able to develop for multiple platforms other then Windows. How does that handle none 3D games though? as it seems to be 3D oriented.

I'll probably just go and try them out right now just to see how they work, would like your guys opinions though

Oh, I almost forgot I'm not sure what type of game I want to create still, but I do want to make a game similar to danmaku,curtain fire, bullet hell, shmup, type games which would mostly be a 2D game, where you're flying and shooting a massive amount of bullets, monsters would not be random but scripted and fire scripted bullets (100s of bullets) that you dodge. I would like to of course have alot of cool effects going on, and at one point there may be more then 1000 objects on the screen at once, or more. I don't know how these scripting languages handle this, but I know C# can handle it with proper managements. Here's a quick example of the type of game I just described.
(sorry for no direct link, it seems it defaults to media which won't show the time, I sellected a time so you guys can see the massive amount of bullets)
youtube.com/watch?v=NQUQpPar5Cg&feature=player_detailpage#t=1164s

I understand that is probably going to require quite a bit of math...

There's already a scripting language based on that type of game, but I found it too limiting and I of course want to try to make other types of games as well.

A word of advice - if you're like me and learn a lot from reading tutorials & sites like GameDev.net then NEVER EVER copy and paste. But if you're going to copy - AT THE VERY LEAST type it out. Line-by-line and character-by-character.

This is very good advice. Building this kind of "muscle memory" is crucial to gaining programming skill.