Thursday, April 2, 2009

Winding Road Ahead

Tonight I was awakened to the importance of reading a book in its entirety before posting a book review. My thrill of chapters 6-8 on the concepts of Direct3D animation and texturing in Beginning Direct3D Game Programming, 2nd Edition has quickly been eroded by the exponential complexity of chapters 9 and 10 on the High-Level Shader Language (HLSL). I am excited to learn about lighting/shading, environment mapping, bump mapping, reflection, and other techniques described in these chapters. But two frustrating evenings of incomprehensible reading have led me to conclude, as noted by a few other reviews on Amazon as well, that the book is not truly written with the beginner in mind. So I'm taking a new path.

I'm shelving the book... for now. I think it is still a good reference (up until chapter 9 anyway) and may be of use once I gain a better introduction to the concepts described in the later chapters. Until then, there are other resources, such as and the SDK Documentation itself, that will hopefully provide a more gradual learning curve. Could this be a major turning point in my journey to become a Game Developer? Surely the resources I select to learn Direct3D will affect my growth, but only time will tell...

What resources have you used for learning Direct3D? What worthwhile programming reference/guide would you recommend to someone who has never written a single line of Direct3D code?


  1. I think at this point you need to ask yourself: Do I want to specialize in graphics programming? If not, I'd question the need to learn Direct3D at all and even if so, bare in mind that Direct3D is limited to Windows and Xbox (in some form or another I assume).

    Is it not perhaps too early to choose a specialty? Whilst specialties in the gaming industry are important, from what I've gathered studios are more interested in "jack-of-all trades" when filling junior programming positions, because they can be shifted around onto multiple different tasks more easily.

    Also with middleware and engine licensing the norm these days, I'm sure many PC games get made without a lick of Direct3D knowledge on staff.

    The route I've chosen is to not worry too much about using low-level techs like Direct3D at this stage, but rather to make use of freely available graphics engines and other middleware and concentrate first and foremost on just making games.

  2. I am interested in the possibility being a graphics programmer, though I agree I need to consider other options as well. I enjoy learning Direct3D and believe the basic concepts will transfer to learning OpenGL. I know Flash games using ActionScript are popular as well.

    Everybody has to start somewhere; mine just happened to be in Direct3D and I'm not sure how to "just make games" with free engines. What game creation engines might you recommend?

    Thanks for your thoughts!

  3. Well I started out with GameMaker, a sort of "visual programming" tool and engine, just to learn the basics behind the general theory of how games work.

    Since then I've been writing my own engine code and game logic in C++. Just the basics to fulfill the needs of the game such that the line between "engine" and "game" is very blurred, whilst OGRE3D handles all the rendering.