Books, Books, and more Books..

For me personally, it's great to see a number of books coming out using Managed DirectX (even if I am the one writing some of them).  Like Dave already mentioned in his blog he has a book on .NET gaming coming out around the same time as this years GDC (Game Developers Conference).  It has a lot of useful information regarding using C# in gaming situations, which isn't something my first book covered (outside of the simplistic 'Dodger' game).  It takes you from basic 2D 'sprite' based games on through a simple implementation of the Space Wars game in 3D. 

In all honesty, i hope the book does well, even if he went with a different publisher than I did.. =)  Aside from the fact that i think the ManagedDX technology is 'top notch', i believe his book leads directly to the start of my second book, which also covers 'beginning' game programming, but it's strictly 3D game programing, and is probably more of an 'intermediate' book.  I don't have any firm dates on the release of that one right now (editing, etc), but it looks like early summer..

So, what do i recommend if you're a C# developer looking to become the next big game developer, but you've never written a line of game code in your life?  Well, first, pick up my KickStart MDX book, then pick up Dave's book on beginning game programming.  Once you've mastered the skills in those, move on to my second book which has a wide breadth of coverage for fully 3D games (including a puzzle game, a tank wars game, and a kart racers game).  If you're still instatiable for more knowledge after that, well then you'll have to wait until late this year when my last book (for now) comes out. =)

It's an exciting time to be a game developer.  Especially if you're ready to start writing managed code..

Comments (13)

  1. Stone says:


    first I have to say sorry of my bad english – it’s only "school-english" I’m able to talk and write… 🙁

    "It’s an exciting time to be a game developer. Especially if you’re ready to start writing managed code.."

    Yes! It’s really an exciting time. It’s a feeling of tasting "new and fresh air" and I’m happy I’m able to taste ist 🙂

    I read the articles of Craig Andera and found in his blog a link to your book. Really good work! I haven’t finished reading it yet, but all I can say at this time is "Great!" and "Wonderful!". You really did a good job and I can’t await to read your next book.

    But there’s one thing I’m missing at the moment: If you plan to code a game, sometimes you come to the point that you need an editor for designing the world.

    For example, if you plan a "roller-coaster"-game you can design the cars(?) in a mesheditor like 3ds. But if you want to design the road, sometimes it’s better to write an own editor for it as using mesh-editors.

    I’m missing the "howto" of implementing DirectX in a GUI of a "Standard"-Windows-Application.

    Often I’m thinking of using DirectX rather than using GDI – because in my job we are planning to code a new trading and analysis software for stock-quotes. And a fast drawing of charts is really necessary… 🙂

    Sorry again for my bad english – I hope, you understand the meaning of these lines 😉

    Thank’s a lot and keep up the good work you’re doing.


  2. Anonymous says:

    What <b>IS</b> your second book?

  3. Geminior says:


    I just bought the book and stumbled across some code in the beginning that made me fear I had made a bad choice.

    Now of course I won’t judge a book of which I have read 15 pages, so i’ll just point the issue out to you.

    On page 13 you say that in order to have the form redraw itself on resize one should put an Invalidate() call in the OnPaint method.

    Uhm that clearly causes infinite recursion, not exactly the best idea.

    What you should do is set ResizeRedraw to true either through:

    this.SetStyle(ControlStyles.ResizeRedraw, true);


    this.ResizeRedraw = true;

    Best Regards

    Thomas Scheelhardt

  4. Mikel Rice says:

    I submitted a list of other errors in your book Managed DirectX9 KickStart to Sams but never heard back.

    The book has the texel coordinates shown incorrectly, which really caused me a ton of frustration, especially since I have never programmed anything 3D in my life.

    The book (page 45) lists the text U,V like this…

    0,0 —- 0,1

    | |


    But other articles and from actually mapping textures to the triagles indicates that it is really like this…


    | |


    Textures where mirrored and flipped using the incorrect mapping.

    In addition, some source code from the book ( I did not try every single example), will GPF if device is lost! If you Ctrl-Alt-Del, then cancel back the exmaple cannot recovery and GPF.

    Not exactly helpful when I am trying to write a game. Thankfully I found some other resources to straigthen me out.

    There are other erros, but I’ll not detail them all here.

  5. Dan Colasanti says:

    Some people have asked what Tom Miller’s next book is called. I haven’t seen him respond to this question anywhere, so I did some digging and this is what I’ve found:

    "Beginning 3D Game Programming" by Tom Miller

    ISBN: 0672326612, due to be published July 2004

    448 pages

    Publisher: Pearson Higher Education (although I can’t find anything on their website about the book)

    Some online booksellers are already taking orders for it:

    Barnes & Nobles site has a short blurb from the Publisher about the book (it’s somewhat vague):

    You can also look at Tom’s MDX episode of "The .Net Show" from October 2003… toward the end of the episode he mentions the 2nd (and 3rd?) book and shows a very cool sample with rotating planets in space that apparently will be on the 2nd book’s CD (Title-bar says "Space Tag – The Revenge"). You can see the episode here:

    Tom – I know many people that are asking for more info about your second book – please tell us more about it and "Space Tag" (thanks!). A pre-release of SpaceTag.exe to whet the appetite would be cool too. 🙂

  6. Will says:

    I compiled the game from your CD sample code. It showed spinning teapots and obstacles, but the rest of the scene (e.g. car, road) was black.

    I traced the code and saw it was using ambient lighting, suggesting that my graphics card did not support directional lighting. However, when I changed this "if" statement around a bit to "if (true)" instead of checking if the hardware supported directional lighting, the game suddenly worked and everything looked fine.

    So, what’s up? It says my card doesn’t support this kind of lighting, but when I force it, it works. Any ideas?

  7. The Guy With The Answers says:

    The problem is your graphics card reports maximum number of lights as -1. The sample code does not test for this condition and it should.

Skip to main content