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.

But this is just a wish about progress, and I don't have
any real industry experience to say it will really happen.

Thanks again for the feedback,
Paulo

Am 07.01.2012 15:34, schrieb Manu:
On 7 January 2012 15:24, Paulo Pinto <pj...@progtools.org
<mailto:pj...@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 :)

Reply via email to