Master thesis

Dgame via Digitalmars-d digitalmars-d at puremagic.com
Sun Jul 2 04:59:37 PDT 2017


On Saturday, 1 July 2017 at 21:00:14 UTC, Ecstatic Coder wrote:
> Whatever the object oriented language you use, you can keep 
> exactly the same global game architecture, using more or less 
> the same classes for your game subsystems and gameplay elements.
>
> Therefore, as an old game industry veteran, I confirm what you 
> already know, which is that it's all about memory allocation, 
> access and deallocation when comparing a game made in C++, D or 
> Rust.
>
> I'm not saying that other matters are not important, but many 
> game development directors apply Bertrand Meyer's architectural 
> advices (design by contract with pre/post condition assertions, 
> etc) since the early nineties, so there is not much difference 
> between a C++ game and a D/Rust game in this area.
>
>
> So all that remains in the end are just concurrency and 
> memory-related features, like immutable data, array memory 
> slicing, automatic array bound and null pointer checking, 
> object destruction and deallocation through variable scope and 
> garbage collection, etc.
>
> This of course includes interfacing with C/C++, i.e. managing 
> the memory and lifecycle of C/C++ structs/objects from D or 
> Rust.
>
> With D, my biggest concern was about avoiding the application 
> thread to freeze during a GC, while C++ and Rust can completely 
> ignore this problem.
>
> IMHO just these last points could already explain why Rust and 
> C++ still remain preferred to D for game development...

That's a good statement which I found very often recently. Maybe 
I should change my main focus from architecture to 
software-engineering per se...
Maybe an comparison between different software-products (one in 
an insecure  and one in a secure programming language) to show 
the difference and potential vulnerabilities.


More information about the Digitalmars-d mailing list