Games people play
Georg Wrede
georg.wrede at nospam.org
Wed Sep 27 16:25:48 PDT 2006
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.
We already have astonishing power of expression, an integrated GC (while
it may at the outset look like it discourages games development, serious
game shops should have no problem in discovering that you can either
disable the gc for critical sequences, pool staple instances, or just
new and delete (in essence, "touch") in advance the expected amount of
memory), very easy integration of scripting languages (DMD-Script, Lua,
Python), in-built associative structures, direct access to C-code
libraries and system functions (while touted as trivial to use from D,
they at least aren't impossibly cumbersome in practice), and in-built
UTF-8 all the way.
And, I've heard some games developers state, they'd "rather lose 10% in
game speed if they can win 10% in developer costs". I'm sure all here
agree D can deliver at least this 10% slash in developer costs, while
possibly even making the binary /faster/ than with e.g. C++, hands down!
The games industry is something we can expect to become one of the
absolutely most important areas of code development in the near future,
both in lines of code and in reaped revenue. Being a successful language
in that single area would give D success beyond conservative dreams.
The one thing that could really set D apart from other languages would
be a siglnals/slots mechanism that was incorporated as an _integral_
part of {the syntax | the core | Phobos} of D.
That something happens in a game that has bearing on potentially a lot
of objects or individuals in the game, is simply key in games
development. Having to manually code all this is ridiculous at a time
when there exist established and well understood mechanisms for it.
---
Recently I had to write a command interpreter for a (in itself trivial)
control language for a materials production process control program. The
ease and joy of development was largely due to the std.regexp library.
It was simply exhilarating.
If we could offer the game developers a smooth and transparent method
for passing messages instead of a cumbersome design pattern, I think
many shops would look upon us with a new eye.
In my humble opinion, the reason why QT is an absolute winner in the
industry is simply because the signals/slot paradigm is central to that
library. That in itself creates a sensation of robustness, quality, and
a kind of completeness. The ease of utilizing it has most probably made
the overall quality of the rest of the library much higher, by letting
their programmers concentrate on the issues at hand instead of fighting
with the trivialities of message passing.
We have to remember that interactive "real time" games development is
the one area where signals (or messages) are an essential part of every
major application. Both in the user interface and in the games engine
logic itself.
---
We only have to become the _preferred_ language in _one_ area! After
that it'll automatically follow that we gain other areas and a huge
general interest. ("If C is good enough for Unix itself, it has to be a
good language. -- If D is good enouhg for some of the best games shops,
it has to be a good language.")
More information about the Digitalmars-d
mailing list