Starting DirectX Adventures
This week I started playing around with Managed DirectX (MDX) and it's a really fun thing. I attempted it a couple of times a long time ago, but never quite understood it, but now I have a good feeling about it, a sense of order and structure has shown itself in DirectX code.
I'll probably blog more about my experiences with it in the future, but here are some of the great resources that made me see the light:
- Craig Andera's Direct3D Wiki
- 16 very clear chapters on what's involved about MDX. This resource gave me the basic understanding.
- Kalme's Yaboc 2.5D Tutorial
- A step by step tutorial about MDX and Visual Studio 2005. Created the bricks game by using game states, utility classes and classes for managing multiple sprites has shown me a very nice structure on how to structure your solution for these kind of games. This will most definitely be the base I'm going to start from when trying to write Pong :)
- The ZBuffer
- A huge collection of links to other's their tutorials and other resources. Most likely the first place I'll check when needing something.
- Tom Miller's Blog
- An MSDN Blog about DirectX, need more explanation? :) This Render Loop article shows some of the posts on Tom's blog, definitely gave me a better view on the importance of a good render loop.
- MDX info
- A very nice site with some good examples and ideas, and which I'll probably be using a lot when I'll learn the more advanced stuff.
These links were my starting point for gaining knowledge about DirectX, and I would recommend them to everyone wanting to play with DirectX.
Some other links I'm checking out and which will probably help me in the future:
- Using Lua with C#
- Adding scripting to your game (inspired by an MDX Info resource about scripting).
- Craig Andera's DirectSound Wiki
- The Direct3D part helped me build a nice background, when adding sound to a game I'll be using this one.
- Lidgren.Library.Network
- An UDP C# Library which I probably will be using when I have to add networking to a game. Since DirectPlay is deprecated it means using System.Net to provide networking. Which you could either write from scratch, with bugs and which someone else probably already did before you, or use a library, this one seems a very clean one.