[OT] Previously: DMD - Windows -> C# in gamedev

Manu turkeyman at gmail.com
Sat Jan 7 06:34:20 PST 2012


On 7 January 2012 15:24, Paulo Pinto <pjmlp at progtools.org> wrote:

> Hi Manu,
>
> nice to hear about your experience with C#.
>
> I am a bit of half-insider in the game industry, being
> a IGDA member for some years and also attended two
> GDCE so far.
>
> Several reasons have kept me from getting a job in the
> industry, but I still follow what's happening quite closely.
>
> From what I know here in Europe, many studios have been slowly
> migrating to C# for tools, and many that target mostly Windows
> are also experimenting with it in their engines.
>
> How does it look like from your side?
>
> I think this is important to know, because in what concerns
> game development, C# might eventually superseed C++, especially
> with good quality AOT compilers. Not sure how good Mono's AOT
> code quality is. From the public information C# is the default
> language for the PlayStation VITA and the PlayStation Suite.
>
> And game development is probably one of the few areas where D could get
> an entry to.


Most gamedev studios are VS-centric, and from that reason alone, C# is the
obvious choice if you want to remove your tools from C++/MFC/whatever.
In my experience, most first time C# coders have a great experience off the
bat, and tend to keep on that wagon.
I think it started like this; some coder decides he hates writing tools in
C++. They click new->project-> oh look, C#, everyone's talking about it.
They give it a go (...see my previous post).

I don't know if you're on the mark saying studios that 'target mostly
windows' are migrating engines to C#. Actually, I've never heard of an
instance of that outside indy-games.
The most interesting trend I think is the Unity effect. They embed mono
into their engine (ie, NON-windows machines), and all high level game code
is written in C#.
This seems an amazingly sensible idea, and most people seem to agree. I
love the idea of Unity, and on small games, handhelds and stuff, it seems
to work really well.

I don't realisticslly see C# 'taking over' gamedev. It's too closely
affiliated with Microsoft, although I am very surprised by Sony's move, so
maybe I'm way off the mark.
Also, for AAA mainstream titles, I don't think there's any choice other
than C++. Game engines are aggressively tuned at very low level to the
hardware. I don't think any non-C++-like systems language can take that
away (D may have a chance here, but the GC might be a problem at the engine
level).

I think it's likely that the shift more towards mono (or some other
script-ish language) taking over the high level logic code will continue
though. Mono just happens to have a great AOT experience, familiar
IDE's/integration into workflow, and familiarity to most devs now via
working on tools.

One of the biggest challenges for the gamedev world is adapting high-level
game code to scalable SMP systems. Engine is easy to make scale, game
logic, not so much. Strong OOP is the problem here.
With the current trend of using an auxilliary language to write this logic
code, there's opportunity for a language that totally nails SMP scalability
to really make a dent... but it's hard to predict :)

I don't think I can emphasise enough though the point I made in my last
post where the successful language will likely NOT be the language with the
best merits towards that end. It will be the one that is most easily
integrated into developers workflows, and I think this is the key reason C#
is so popular atm.

All that said, I'm just an engine programmer. I write C++ to the metal. I'm
not the best authority on the topic :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120107/d093ed61/attachment-0001.html>


More information about the Digitalmars-d mailing list