Games people play
nicolas.janin at remove_this_part.ifrance.com
Sat Oct 7 04:26:24 PDT 2006
Lutger a écrit :
> Georg Wrede wrote:
>> Seems to me that while D is marketed as a Systems development
>> language, it will be quite some time before anybody has developed a
>> System with D.
>> More plausible should be that one day games developers will find D /en
>> masse/ because everything in D really is perfect for games development.
> I'm not a prof. game developer, but I sure agree that D is perfect for
> it. Just the other day I was looking into the C++ source of civilization
> 4 (they released a good bulk of it) and thinking how nice it must be for
> the developers to turn this 125.000 LoC monster that takes more than 15
> minutes to build into D. And then that is even a small part of the total
> code. (and oh my god, how ugly it is)
> Just wondering whether it is a new language feature that game developers
> want. Tool, library and company support, general acceptance, marketing
> etc seems to be an important part of the equation.
> From some developers at gamedev.net I understand that it is even the
> opposite: D is not a proven language and might have too much, not too
> few language features. Allow me to quote from a thread over there:
> "Compared to C, C++ is a really really big language. It has a lot of
> features. It is so complex, in fact, that its features begin to interact
> in unintended ways. A great example of this is the thread on default
> arguments and virtual function binding. Who knew that those two
> features--which theoretically are unrelated--would combine to form
> unexpected-looking behavior? Or that template arguments could break
> preprocessor macros? There's plenty of examples of this, many chronicled
> on GotW and many more still being discovered by hapless C++ students and
> intrepid Boost developers.
> And D goes so, so much further. The designers have a "why not" attitude
> towards adding useful-sounding features, with the result that D's
> feature list makes C++ look downright minimalist. Many of these features
> are new to the entire extended language family, or have been implemented
> in radically different ways than previously in the extended language
> family. Are mixins going to cause a problem with lambdas? Is liberal use
> of slices going to make DBC unmaintainable? Who knows! Who's going to
> find out? The early adopters.
> I hope that D gains traction among some large body of hypothetical
> developers who, despite not being rabid D fans, end up using it in large
> applications with a long lifecycle. I hope this happens, because this is
> the only way to vet a language. Maybe I'm wrong; maybe D will all hang
> together and the features will turn out to mesh perfectly and I'll come
> to terms with the syntactic features I dislike and everything will be
> great. I just don't think that it's likely."
The risk of clash/inconsistencies between language features and the
difficulties added in optimizing the compiler are two good reasons why
the core language must stay as clean as possible. So features such as
Signals & slots should IMHO be kept in libraries (maybe in Phobos) and
not included in the language, simply because the language was not
designed with this kind of feature in mind from the start. I'd say the
same thing for the support of multi-processing. D can only offer very
good multi-threading and message-passing capabilities via dedicated
Just for the record, the best game examples written in D I know of are
the shooter games by Kenta Cho:
http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html (source code included
in the downloads).
I think they demonstrate very well the gaming performances of D (it
looks like they were written in C).
More information about the Digitalmars-d