My next big thing.

Well, starting in about 2 days I'm officially an author with a contract.   I'm looking at a year of intense extra work for a minimum of monetary gain.

I couldn't be happier.

My two coauthors, Jonathan Steed and Wes Greene are gearing up as well.  Like me, this is their first time functioning as authors rather than contributors.  Out project is ambitious to say the least.  We've spent the last several months architecting an extremely open-ended, modular game engine using managed DirectX.  There are still plenty of implementation unknowns, but the core architecture and the topics in the book are in place.  Moreover, I hope we not only create a great book but also prove to developers that Managed DirectX can be used for elaborate, modern game engines.

The opportunities to utilize the technologies developed by DirectX in the last year are astounding.  We've already used PIX for windows to troubleshoot problems.  The new DirectX content production pipelines and XNA initiatives provide a framework on which we can create inexpensive tools to deliver high quality art.  A large part of the book will be about the integration of tools and game engine.

Our goal is NOT to give API documentation on our own game engine as we've seen in many books.  Instead, we'll talk about the structural considerations of our design, what steps we took to decide on our architecture, and what techniques we used to implement our design.  I've read many books with math tutorials, pointer tutorials, entire chapters dedicated to a particular collision detection system; I don't feel like I need to regurgitate that work.  Other books do a great job of presenting very specific algorithms and low level programming techniques.  What I haven't seen is top-down design and implementation considerations.  Without a frame of reference or an explanation of why things are done, programmers new to the field are left with a hodgepodge of techniques that are hastily cobbled together with little thought given to how the components of the game engine interface with one another.  I've personally suffered though this after writing and iterating a few engines on my own.

I’ve cleared my schedule and canceled Christmas.  It’s time to get crackin’