On 7 January 2012 15:24, Paulo Pinto <pjmlp@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 :)