I have a plan.. I really DO

JN 666total at wp.pl
Fri Jul 6 17:43:29 UTC 2018


On Friday, 6 July 2018 at 17:26:26 UTC, wjoe wrote:
> On Friday, 6 July 2018 at 15:53:56 UTC, Ecstatic Coder wrote:
>> With D, ANY forgotten allocation during the game loop (and I 
>> really mean even JUST ONE hidden allocation somewhere in the 
>> whole game or engine), may cause the game to regularly freeze 
>> at the wrong time, because of an unwanted GC. Hence the phobia.
>
> You make it sound like a C++ game codes, debugs, profiles and 
> optimizes itself.
> And like there are no gotchas with C++.
>
>> Anyway, I know I'm on a D forum here, so "those who don't want 
>> to understand won't, and those who want will", to paraphrase a 
>> former poster here.
>
> Well, it appears that you don't.
>
> And since you point out the D forum folks, I know game 
> developers are a very special lot, too, with ther mantra like 
> repetition of GC is the devil, acting like it's 1985 and the 
> need to count clock cycles and top-of-the-food-chain 
> I-never-make-mistakes arrogance like nobody else knows how to 
> write fast code, yet most games of those clever guys are bug 
> ridden pieces of poor quality even years after release, 
> including top AAA titles *cough* TES. Despite - or more likely 
> because - being made in C++.
>
> Maybe performance aware game developers would do well to also 
> adopt the idea of code quality and D offers a lot in that 
> regard. Plus C++ish performance on top of that.

Yeah. There are plenty of games done in GC languages. C++ folks 
want to use C++. The ones that wanted to switched, switched 
already. Even if nogc gets more mature, they will find another 
excuse. Probably something like "yeah but now I don't know which 
parts of the language and library I can use and it's awkward to 
put nogc everywhere".

I do some free time game development work in various languages, 
even GC ones and the existence of GC was never a big issue for 
me. Sure, I am not a super mighty C++ programmer, so I don't know 
much, but for me it's more important as a gamedev to have 
features such as operator overloading, value types/be able to 
cast Vector3f[] to float[] without copying (something C/C++/D can 
do, for example Java can't do, C# can partially do that with 
LayoutKind.Sequential), accessibility of C bindings for popular 
libraries like SDL, SFML, ODE.

nogc, betterC, interfacing to C++, at most they get a "hmm, 
that's interesting", but I haven't really seen them bring people 
to D. And I'll take a fun and convenient language over performant 
one any day.


More information about the Digitalmars-d-announce mailing list