[OT] Previously: DMD - Windows -> C# in gamedev
Paulo Pinto
pjmlp at progtools.org
Sat Jan 7 09:29:13 PST 2012
Am 07.01.2012 16:44, schrieb Manu:
> On 7 January 2012 17:27, Paulo Pinto <pjmlp at progtools.org
> <mailto:pjmlp at progtools.org>> wrote:
>
> Thanks for the explanation.
>
> I am convinced that eventually AAA game engines can be
> made in a GC enabled language like D, they just need to
> be coded in a different way, more GC-friendly.
>
>
> I tend to disagree. I see it trending in the opposite direction.
> Tight pooling of resources and updating in finer grained (probably
> threaded) tight loops across neatly (cache friendly) packed bundles of
> like objects. That's where engines are going.
> Engines are becoming more and more memory-layout aware, not less... GC
> is the opposite of rigid memory layout.
> It's great for high level sugar that glues the whole thing together, but
> the engine is heading the opposite way; everything works more like a
> video card, small repetitive streamed jobs, with memory carefully managed.
The reason I am conviced is that C++ was the last systems programming
language with manual memory management. All the languages people are
developing as possible C++ replacement do have some form of automatic
memory management.
Meanwhile smart pointers and a GC API became part of the C++ language
standard. In the future, if you want to target Windows 8 Metro games,
you will need to use WinRT which requires C++/CX and makes use of
reference counting in the language.
Apple added GC to Objective-C, which has some problems with existing
frameworks, so their next step was to introduce ARC.
This is why I think that eventually even games engines will be developed
in a language that supports some kind of automatic memory management be
it GC or reference counting.
Naturally such language also needs to provide the possibility to disable
the memory management in critical code paths.
If you go to my web site, the mini games I have there are a joke, they
cannot even be called games, maybe half-finished prototypes. I just
spent too much time in the university with compiler programming and
UNIX system programming, only to start looking at game development when
life start making me busy with other stuff.
Anyway, I still remember the days when C was too high level to be used
for games.
Then again, I don't have any experience in the game industry, so you are
much better qualified to say if what I say makes any sense.
--
Paulo
More information about the Digitalmars-d
mailing list