D is a great language for video games, it has all the features for the rapid development of a performant executable:
- It compiles fast to native code and runs fast.
- Has unit testing, profiling and code coverage out of the box.
- Garbage collection is the default, but you can use your own memory allocators.
- ABI-compatible with C, there's no marshalling cost to pay to call native libraries.
- Thread-safety in the type-system: shared, pure and immutable qualifiers.
- Memory-safety in the type-system: @safe, @trusted, @system.
- Compile-time function evaluation, code generation, and more.
You don't need a separate scripting language, no additional compilation steps to generate code, you're not limited to the memory model of a virtual machine when performance matters for low-level systems yet you get all the productivity and safety of scripting and managed languages for your game logic. You're even free to choose between procedural, object-oriented, functional, generic or meta programming paradigms for the problem at hand.