It’s a revolution…

Ok, I hate to admit it, but the fact is I totally love the Dance Dance Revolution Ultramix game for the XBox..  It’s addicitive, upbeat, and best of all you get a workout!  How many ‘video games’ can you play and work up a sweat after an hour or so?  I remember the first time i tried it, “Castles In The Sky” is the first song that is selected, and i went about flailing around like an idiot for 45 seconds or so before I was rudely reminded that I sucked.  I thought to myself, “Holy crap, this is horrible, who would subject themselves to this?!?!”

Here we are now a couple months later and well, I guess i’d be the one subjecting myself to that.  I discovered i could hear the beats, follow the rythm and all of a sudden i could beat every song in the game.  I moved off of the ‘Light’ setting (that’s the version of ‘easy’) and upgraded to Standard, and once i beat all the songs there, i moved up to heavy..  I still haven’t beaten all of the songs in that mode yet, but i’ve beaten enough.. Then, just when i bask in the glory of complete domination, bam!  new songs to download from Xbox live.   Unfortunately the songs you get from XBL are pretty easy, but it’s still nice to get some new songs, even if i did have to pay $10 for them..

The only complaint i have is you can’t import your audio tracks from the hard disk and make up your own beats.  You can make up your own beats for the songs that ship with the game, so they have the ability.  Probably a revenue thing since they can charge for the new songs.  I won’t complain too much.

Now i just need to watch out for my son.  He’s almost to the point where he can beat me on the easy settings (and can sometimes)..  Kids with never-ending energy!

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..

Test Driven Development…

Recently during the ‘first official meeting of the Managed DirectX fanclub‘ (as Dave called it), Craig mentioned something he’s been doing recently called ‘Test Driven Development

It *sounds* like a lot more upfront work, but the process intrigues me.  Anything that can help eliminate bugs, and regressions has got to be a good thing.  I’m curious what other people’s experience in this field is.  Craig even mentioned than he found he was even more productive, which was at least somewhat surprising given the extra work involved.

Of course, it makes me wonder.. If I have to write the test before i implement the method and i’m designing a library, i can’t even make the test compile until i’ve defined the method.  It’s like a catch-22! =)

To shader or not to shader, that is the question…

So i’m finishing up my second book (an introduction to 3d game development), which is intended to be a ‘beginners’ book, and i find myself continually arguing amongst myself about whether or not i should use shaders in the last ‘sample game’.  Couple this with the fact that my ‘advanced’ book which will be out a few short months after this beginner book is virtually entirely shader driven, with next to nothing using the fixed function pipeline.

The argument i’m having with myself is the potential that the shader code in the beginners book would be too difficult to be classified as ‘beginner’, while at the same time i don’t want to simply ‘ignore’ the shaders because they can be quite powerful.  Right now i’m leaning towards some basic shaders for the last game, just as a small ‘introduction’ that hopefully won’t catch anyone off guard.

I’d rather have someone complain about too much (or too difficult) information than not enough.

Wow, the feedback has been awesome..

I love it when you see people excited and they are giving the feedback, and the feedback that’s been coming in has been great.  A consistent theme among the feedback has been the doc’s (isn’t it always?).

Rest assured this is an area we are working on.  You probably noticed an improvement in the Summer 2003 SDK Update that was released last year, and those improvements are continuing today.  The next release will have even more and better doc’s.  Another common point brought up was the samples that ship with the DirectX SDK, which is also something that is being addressed.

The idea of ‘community’ intrigues me.  There is a small ‘community’ site on GotDotNet but i’m not sure of the traffic it gets.

I’ve noticed a few bug reports interspersed within the comments as well.  If you have a bug, please email it to directx@microsoft.com so we can make sure it gets addressed in a timely fasion.

If there are any other specific items you are seeing that is either stopping your adoption of Managed DirectX, or is enhancing your use of it, this is something that I would love to hear about.  Keep the feedback coming, and thanks!

What would stop you from using Managed DirectX?

This is a question that is interesting in more ways than one.  One of the more common answers to this question i hear is naturally centered around performance, even though many times the person with the ‘fear’ of the performance hasn’t actually tried to see what types of performance they could get?  I would love to hear about specific areas where people have found the performance to be lacking, and the goals they’re trying to accomplish when hitting these ‘barriers’.

But above and beyond that, what other reasons would you have for not using Managed DirectX.  Do you think the working set is too high?  Do you not like the API design?  Do you just wish that feature ‘XYZ’ was supported, or supported in a different way?

At the same time, what about the users who are using Managed DirectX currently.  What do you like, and why?

You can consider this my highly unscientific survey on the current state of the Managed DirectX runtime. =)