I used D 1.x for doing games and demos, some of them are public domain open source (A, B, C, D, E).
D can give you productivity unheard of in C++-land if you are willing to pay the high-price of arguing with everyone about why do you use D.
If you go this route, i advise you to pick D 2.x, Derelict and Visual D (hint for future readers: this is 2011).
As for game development :
the D GC is not a real problem. It is if you allocate too much in a frame, but that's about it. The classic methods of pooling, reusing, etc... work.
you can write x86 assembly portably across Linux, Mac & Windows. Also static if allows pretty fun templated naked assembly functions.
inlining across module boundaries is working without a "link time optimization" switch
I find it easier to maintain debug and release version (compared to C++)
avoid new features and choose compilers conservatively... just like in C++