January 16, 2012
With smaller startups moving to Unity/C#, XNA for XBox 360/Windows/WP7 and Sony now
supporting Mono/C# as the main development environment for the VITA and PlaySuite, it
might already be too late for D in the gaming world.

There are already quite a few iPhone major game titles that are actually developed with Unity.

But I am an outsider, here the other members with game industry experience like Manu might
explain better the situation.

--
Paulo

"Russel Winder"  wrote in message news:mailman.435.1326708497.16222.digitalmars-d@puremagic.com...
On Mon, 2012-01-16 at 09:03 +0100, Gour wrote:
[...]
> Then it would be nice if the gamedev industry could identify D as
> gamedev language as well and pour some $s, €s...to support/speed up
> development, but I wonder why it does not happen. ;)

<devils-advocate>
The games industry works with C, C++, assembly language, Python and Lua.
They have serious toolchains for working with serious graphics and
modeling libraries.  The last thing they need is a new, incomplete,
poorly resourced, one-man-band implementation programming language with
very few programmers, and no experience of being used in this arena.

Existing games company executives would be labelled as suicidal to
switch from the current toolchains to the lack of toolchain
infrastructure that is D.  Thus D has no chance of any traction in that
arena unless it can show a huge decrease in time to market, and massive
increase in quality of game (gameplay management, speed of rendering,
etc.) -- not just theoretically, but actually.

Working with Visual Studio is the only route to Windows market.  This
means working in harmony with the C and C++ toolchains.

In the current climate D has no chance in the game industry.
</devils-advocate>

On the constructive front, what D needs is a few startups to use it and
be successful.  The only way to get traction and create success in the
current state of the world is to already have success.  The way of
getting that is to have people who have nothing to lose and everything
to gain, even if they have no money, use it to create successful systems
and promulgate a culture of success.

Any system and community that doubts itself won't be taken seriously.
Any system and community that gets too introverted and/or arrogant is
doomed.  cf. Ruby, Scala, ...

Fortran is a special case.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder 

January 16, 2012
== Quote from Paulo Pinto (pjmlp@progtools.org)'s article
> With smaller startups moving to Unity/C#, XNA for XBox
360/Windows/WP7 and
> Sony now
> supporting Mono/C# as the main development environment for the VITA
and
> PlaySuite, it
> might already be too late for D in the gaming world.
> There are already quite a few iPhone major game titles that are
actually
> developed with Unity.
> But I am an outsider, here the other members with game industry
experience
> like Manu might
> explain better the situation.

Some people are indeed moving to C#, but the vast majority of professional AAA games are still written in C or C++.

Also, a reason a lot of people move to C# is due to how painful it is to develop in C++. D isn't so painful, so there's an opportunity to steal some of the C# game programmers.
January 16, 2012
I always thought D would be a great language for making tools for gamedevs, e.g. UnrealEd. AFAIK UED was originally written in VBasic before being ported to C++.
January 16, 2012
According to the latest issue from the German games developer magazine,
most people only buy one to two AAA games per year. Spending much more
money in casual games.

As such, what AAA studios use, is to some extent irrelevant. As only a few studios
worldwide are able to produce AAA games.

For example, there are several game studios in Hamburg and Berlin that are quite
happy selling games that are Flash based with a J2EE/.NET solution for the game server.

--
Paulo



"Peter Alexander"  wrote in message news:jf17uj$2tfk$1@digitalmars.com...

== Quote from Paulo Pinto (pjmlp@progtools.org)'s article
> With smaller startups moving to Unity/C#, XNA for XBox
360/Windows/WP7 and
> Sony now
> supporting Mono/C# as the main development environment for the VITA
and
> PlaySuite, it
> might already be too late for D in the gaming world.
> There are already quite a few iPhone major game titles that are
actually
> developed with Unity.
> But I am an outsider, here the other members with game industry
experience
> like Manu might
> explain better the situation.

Some people are indeed moving to C#, but the vast majority of
professional AAA games are still written in C or C++.

Also, a reason a lot of people move to C# is due to how painful it is
to develop in C++. D isn't so painful, so there's an opportunity to
steal some of the C# game programmers. 

January 16, 2012
Hi, here are my random 2 cents about the gamedev point, as someone who have worked in the game industry and will get to full-indie gamedev in the future :

A.

C# is used a lot in the industry because :
 1. It's easier to code with than C++ and with decent performance;
 2. It's hugely easy to setup GUI tools (like editors) with C#;
 3. It have full support of Visual Studio (even better than C++ at the
moment);

Also Sony is going the same way than Microsoft in providing a framework to work on their consoles, based on C#.

1. can be done by D if it have a stable and complete implementation
2. cannot be done by D without a GUI framework. It don't exist in D (and I
guess it will get in the same state than C++ having to work with
non-c++-idiom-based-Qt library...)
3. cannot be done without a very big plugin in VS (that can be done but
require fare more work than the current VisualD plugin)

B.

I think D is more in competition with C++ than with C# because it tries to target the same goals. For gamedevs, having the core game in D would be interesting but for instance, without a killer app to demonstrate D power, it's hard to know what's teh D state and how it helps.

Also, D have one HUGE advantage over C++ that could be a killer feature : it compiles faster.

C.

As already said, having access to C++ libraries would have heavy weight in the choice of language for game developer (startup or not).

However, if some basic bricks libraries would be available directly in D, it would help some people build interesting games in D. Assuming they are not binding over other libraries, D would need 1 or more (more is better):

 - generic graphic library (like Ogre3D - not as low as OpenGL/DirectX, but
very flexible)
 - generic input library (like OIS - not as low as directly having hardware
inputs, but very flexible)
 - generic audio library (like FMod/IrkkLang, etc. - not as low as OpenAL,
but very flexible)

At least.
I think D-idiomatic libraries that would implement such systems would make
game dev. easier for anyone wanting to use D for gam dev.
Also, note that SDL and SFML can be used in D but they are C++ idiomatic
and that feels in the design. Any additional layer over libraries is just a
potential point of headache. Game devs avoid those additional layers.

D.

Personally, I would have tried D for making some experimental games if I had more time and if wasn't a bit disapointed by the language not being implemented fully. That's the main reason I'm sticking with reading this community discussions, to know when it seems stable enough for me to try something small. I don't really mind having (open source) libraries issues, but compiler issues are kind of a showstopper for me.

E.

Are there any contacts from D developers to console companies? I think it would be very helpful for the D-team to have somme discussions with them, see what they think about allowing game devs to use this language instead of C++.

Hope that this random feedback helps.

Joël Lamotte


January 16, 2012
A:
1 -
I think we're getting close to that point. I do encounter compiler bugs
from time to time, but the frequency is rapidly decreasing with the recent
releases. We already have the "Easier to code" and "Decent performance"
parts, but there's a lot of room to improve (standard build system, package
manager, better Phobos, better GC or better noGC options).

2 -
This is a problem and it probably will continue to be so for some time.
Native D GUI framework of size of GTK/Qt is infeasible.
AFAIK GtkD is usable now, but not sure how D-like its API is, probably
not much?

I'm now pretty much forced to write a simple D game GUI library now (think CEGUI on a much smaller scale) - I spent some time convincing my teacher (university) to accept a project in D and now I'll have to produce something. I don't expect to turn that into something massive like Gtk/Qt, though.

3 -
That, too is a problem, and I'm saying that as a Vim user.
I think the situation is improving, though, and outside AAA industry
Visual Studio is not quite as dominant. E.g. if we ever get decent
ARM/Android support, an Android dev working with Eclipse/Java might
find it easy to move to Eclipse/D (again, if D is stable enough).


B:

I think D might be able to compete well with C#, but yeah, at the first sight it looks closer to C++.

As for killer app, yeah, we need that. I'm pretty sure some people on this newsgroup are trying to work on that.


C:

For a 3D engine, there is YAGE which AFAIK is still developed, but it's in D1. Not sure what the dev's plans are when D1 gets unsupported.

OIS: Didn't know about this one, will take a look.
Could something similar be built on top of SDL or does it provide more
low-level stuff not supported by SDL?

Audio library - probably not going to happen in a while.

I think we can't realistically expect someone to write an SDL/SFML equivalent
in pure D in the near future. I'd like to look at creating a D-style
SDL wrapper once SDL2 is stable (no point wrapping SDL 1.2, it's pretty
outdated and SDL2 AFAIK drastically changes the API).


D:

As said before, compiler errors are getting rare (at least for me). Expect to be able to use D in a few months.


E:

I'm pretty sure D has very little chance becoming a language used in the next generation of consoles - D would have to be stable right now (and compile on PowerPC and/or ARM) for that to work. Also the AAA game industry in general already depends on massive amount of C++ middleware they're not going to throw out.

I think, however, that general purpose mobile devices are going to be more important than consoles in the near future. That market is still changing and we might get some chance there IF we get usable ARM support ASAP.

Also, some of the indie PC developers might be more likely
to try out D than the AAA industry - if we get some decent basic libraries.

January 16, 2012
On 1/16/2012 1:02 PM, Kiith-Sa wrote:
> Also, some of the indie PC developers might be more likely
> to try out D than the AAA industry - if we get some decent basic libraries.

Keep in mind that D can directly access any C library.

The Deimos project https://github.com/D-Programming-Deimos/ is growing rapidly. If there is a C library you (or anyone else) need to use that doesn't have an interface in Deimos, and you find yourself having to write one, please contribute it to Deimos.
January 16, 2012
Walter Bright wrote:

> On 1/16/2012 1:02 PM, Kiith-Sa wrote:
>> Also, some of the indie PC developers might be more likely
>> to try out D than the AAA industry - if we get some decent basic libraries.
> 
> Keep in mind that D can directly access any C library.
> 
> The Deimos project https://github.com/D-Programming-Deimos/ is growing rapidly. If there is a C library you (or anyone else) need to use that doesn't have an interface in Deimos, and you find yourself having to write one, please contribute it to Deimos.

I'm well aware of the fact - my work depends on SDL, OpenGL and FreeType using the Derelict bindings (Those probably don't belong to Deimos as they're not absolutely thin bindings although they don't wrap the APIs in any way)

I'm trying to write D libraries instead of bindings to C when possible, though - this results less dependencies and much better API. (That only works for small libraries, though - I have no interest in spending next 10 years rewriting something like OGRE3D)
January 17, 2012
On 1/16/2012 3:26 PM, Kiith-Sa wrote:
> I'm well aware of the fact - my work depends on SDL, OpenGL and FreeType
> using the Derelict bindings (Those probably don't belong to Deimos as they're
> not absolutely thin bindings although they don't wrap the APIs in any way)

It would be nice to split the Derelict bindings in twain - a thin layer for Deimos, and then the more D-ish layer for Derelict on top of that.

> I'm trying to write D libraries instead of bindings to C when possible,
> though - this results less dependencies and much better API. (That only
> works for small libraries, though - I have no interest in spending
> next 10 years rewriting something like OGRE3D)

Of course. It makes little sense to re-engineer well developed libraries like openssl, but a lot of sense to wrap a D-ish interface around it.
January 17, 2012
> Again: if D is a hobby we have, all's great. Otherwise, we must show people that we are serious about finishing the core language implementation, that we make promises that we are able to keep, and that we make plans that we follow even in the broadest strokes. If we want to play with the big boys, we need to change the way we approach planning and organization quite drastically.
>
>
> Andrei

There is a lot of time wasted having to "reinvent" the designated
behavior during implementation/bugfixing.
IMHO we would benefit a lot from encouraging collaboration on the
Language Reference and use it to design unimplemented features.

Another efficient approach to steer this process is providing
unit tests.

Also such a simple page can be very useful.
http://digitalmars.com/ctg/CPP0x-Language-Implementation.html