Say that you've just started college. You're excited about the prospect of learning all about computer programming, and you have an extreme wanting desire to learn about game development. What's the best course of action to take as of today?
If you do a quick search on the Internet for game development tutorials you'll find a slaughter of choices. These choices are all ranging from DirectX, XNA, Open GL, to simple Game Makers. If you're just starting out in this huge world of development, what's the best way to start? Where do you want to end up?
There are three main choices to choose from. XNA, definitely good for someone just starting game development. DirectX, very good if you want to work in the gaming industry. Open GL, good choice for working in the gaming industry and for cross platform solutions.
XNA is the perfect choice to start learning game development. It's in an easy to use framework that has an even easier to use and learn language. It also has the increasingly useful ability to work on the XBox 360. This means you can easily push your work out to friends and family that have that console while still allowing the game to be used on Windows with very few code changes. Unfortunately, that same ability is also a downfall. The XNA framework is technologically stuck. It can't add any new features that DirectX or Open GL can because it's restricted to the hardware that the 360 has.
DirectX overcomes the downfalls of being stuck in hardware restrictions. It does however have a downfall in the fact that there is a steep learning curve because of its requirement of using C++. DirectX requires that you have a solid knowledge of C++, pointers, and memory management. DirectX and C++ are the most commonly used technologies in a game development studio though. So if you're looking to jump into the gaming industry as a game development coder, then DirectX is one of your best choices.
Open GL has an amazing advantage of being cross platform. It will work on Linux, Windows and Mac. It uses C++ just like DirectX however it's not used as much as DirectX in the gaming industry. Both frameworks are a great choice though for learning anything about 3D game development.
If you're just starting out in game development, start learning C# and XNA. Otherwise jump to DirectX or Open GL.
Open GL Tutorials