XNA is a great place to start. It will teach you a lot about the process of creating something, defining what happens and when, and how to draw it. The hardest part about XNA is its very bare bones. Its not an engine, just a framework. Things like collisions, physics, etc. are not simple toggles like in engines but things you will have to implement yourself (either by yourself or through libraries you might find.)
These are some great tutorials to get you started: http://www.xnadevelopment.com/tutorials.shtml
I also highly recommend the ones on Microsoft's site especially for collisions and their screen manager class: http://create.msdn.com/en-US/education/catalog/sample/game_state_management
http://create.msdn.com/en-us/education/gamedevelopment
The "problem" with using XNA however is you're limiting yourself to 360 and Windows Vista/7 (and Windows Phone 7.) The important thing is that concepts are almost always the same no matter what framework or engine you use. In the end the language/engine/framework should never be more than it is, a means to an end. Once you understand the concepts its very easy to move between different environments.
Other than XNA I've used Unity 3D which is really nice and full featured. The free version is free which is a steal.
2D or 3D from the design or programming perspective, art assets are the worst setback. Find a friend or realize how the game looks doesnt effect how you have to program it otherwise you'll spend a bunch of time creating assets when you're not trying to be an artist.
If you're a student, MS has free visual studio and 1 year free for xna creators club https://www.dreamspark.com/default.aspx
Log in to comment