D on next-gen consoles and for game development

Paulo Pinto pjmlp at progtools.org
Thu May 23 14:37:53 PDT 2013


Am 23.05.2013 20:13, schrieb Brad Anderson:
> While there hasn't been anything official, I think it's a safe bet to
> say that D is being used for a major title, Remedy's Quantum Break,
> featured prominently during the announcement of Xbox One. Quantum Break
> doesn't come out until 2014 so the timeline seems about right (Remedy
> doesn't appear to work on more than one game at a time from what I can
> tell).
>
>
> That's pretty huge news.
>
>
> Now I'm wondering what can be done to foster this newly acquired
> credibility in games.  By far the biggest issue I hear about when it
> comes to people working on games in D is the garbage collector.  You can
> work around the GC without too much difficulty as Manu's experience
> shared in his DConf talk shows but a lot of people new to D don't know
> how to do that.  We could also use some tools and guides to help people
> identify and avoid GC use when necessary.
>
> @nogc comes to mind (I believe Andrei mentioned it during one of the
> talks released). [1][2]
>
> Johannes Pfau's work in progress -vgc command line option [3] would be
> another great tool that would help people identify GC allocations.  This
> or something similar could also be used to document throughout phobos
> when GC allocations can happen (and help eliminate it where it makes
> sense to).
>
> There was a lot of interesting stuff in Benjamin Thaut's article about
> GC versus manual memory management in a game [4] and the discussion
> about it on the forums [5].  A lot of this collective knowledge built up
> on manual memory management techniques specific to D should probably be
> formalized and added to the official documentation.  There is a Memory
> Management [6] page in the documentation but it appears to be rather
> dated at this point and not particularly applicable to modern D2 (no
> mention of emplace or scoped and it talks about using delete and scope
> classes).
>
> Game development is one place D can really get a foothold but all too
> often the GC is held over D's head because people taking their first
> look at D don't know how to avoid using it and often don't realize you
> can avoid using it entirely. This is easily the most common issue raised
> by newcomers to D with a C or C++ background that I see in the #d IRC
> channel (many of which are interested in game dev but concerned the GC
> will kill their game's performance).
>
>
> 1: http://d.puremagic.com/issues/show_bug.cgi?id=5219
> 2: http://wiki.dlang.org/DIP18
> 3: https://github.com/D-Programming-Language/dmd/pull/1886
> 4: http://3d.benjamin-thaut.de/?p=20#more-20
> 5: http://forum.dlang.org/post/k27bh7$t7f$1@digitalmars.com
> 6: http://dlang.org/memory.html

With the increase usage of Windows Phone 8 (I know I know), MonoGame, 
Unity3D and now PS Vita, C# usage is also increasing, so there is a risk 
of D losing that train, even with Remedy's good example.

Please note that on those scenarios, C# is also compiled to native code.

--
Paulo


More information about the Digitalmars-d mailing list