On Thu, 24 Nov 2011 13:12:10 -0000, deadalnix <[email protected]> wrote:

Le 24/11/2011 13:18, Regan Heath a écrit :
On Wed, 23 Nov 2011 16:16:40 -0000, deadalnix <[email protected]> wrote:
I want to suggest a project to the community. Doom3 source code has
just been released, and I think we may want to do a port in D. Here
are the reasons :
1/ I think D is suitable and pertinent for video games.
2/ This would make a solid code base to promote D.
3/ Id software is very popular, and porting one of their engine is
free advertisement for D.
4/ The build system for doom engine is scons, and it support D too.
5/ The code base is an high quality one. (for exemple, the _t suffix
is used to differenciate what we call struct and classes in D - and
that has no difference in C++ except in the usage you make of it).
6/ It's an interesting project.
7/ Many people in the D community are interested in video game projects.
8/ Doom's story take place on mars, phobos and deimos (well and on
earth, but who care ?).

In addition, this is a good occasion to produce some code for deimos
and can enlight us on D future evolutions backed with solid fact. On
my knowledge, such a big project (big in size, but also in technicity)
don't exist in D yet.

I had an idea along these lines the other day. Does Doom3 support the
addition of community content in the for of mods etc and, assuming we
had a D port of Doom3, would the mods be written in D? My thought/idea
was that D needed a game, where the modding api was in D, so that people
wanting to create mods or other content for the game would need to write
them in D.

I was actually thinking about Minecraft and how in just a short space of
time it has become immensely popular and the amount of community added
content is amazing. The source for Minecraft (written primarily in Java)
was going to be released, not sure of the status of this today I think
it got sidelined as they geared up for the official release. This is a
project which would really benefit from being (re-)written in D (or
C/C++ for that matter) because it does suffer from performance issues,
and crashes when the JVM runs out of memory (a common problem with Java
or perhaps garbage collection as a whole?). If we could produce a D
version of Minecraft, where community content was written in D, we'd
automatically inherit a large user base interested in using D.

It doesn't /have/ to be Minecraft, but what I thought was that D needs
is a popular game, where community content requires the use of D... it
seems an ideal way to entice new programmers in, and once they're in
they'll be hooked :)

Regan


That was basically the idea.

Obviously, I think it's a great idea. Sadly, I have no time to offer towards it myself :(

However, I think Doom's is more suitable than minecraft for severals reasons : - D has a far less effiscient garbage collector than Java. So memory management will have to be rewritten in the process, leading sometime to difficulties has the original source code isn't concieved in that direction.

I think, were we to pursue this and produce code that required a more efficient garbage collector, it would cause one to be written. The reason it's not been the focus thus far is because there are so many other items on the agenda, and what we have works well enough. But, if we were to create demand for a better one, we could cause it to move up the agenda :p

Does the Doom3 code use garbage collection? Because trying to use D without it, today, is difficult..

- The JVM include a lot of code that will have to be written in D.

Perhaps, I'm not super familiar with what is and isn't handled by the Java JVM. Anything that doesn't yet exist in D, probably should, and this would be a good way to make it happen.

- On the other hand, D interface with C (and C++ to a certain point) so we don't have to rewritte the whole engine.

I was thinking the same thing.

- An angine like doom's support the idea that D is a performant language, that can be used for performance critical code. This is an advertisement for D.

As is beating the Java performance for minecraft, but to a lesser degree. Matching the C/C++ Doom3 would definitely be more impressive, especially if we can then say we reduced the LOC too :p

If peoples think that Minecraft is a more suitable engine to port/bind, I'm ready to reconsider the idea and join the effort instead of splitting us in several directions.

It was just an idea, I can't contribute so you guys can pick whichever interests you more.

The import aspect of this idea, for me, was actually the language that community contributions for the game (whatever it is) would be written in. If they could be written in D, then there would be another incentive for people to give D a go. I noticed with games like Dragon Age, where mods are written in an custom scripting language developed by Bioware, that people in the modding community there dive right into learning how to use it (I suspect a lot of these people are developers in thier day jobs) and then start helping each other use it, if D could be that language, for a popular game, D would gain a number of users very quickly.

Regan

--
Using Opera's revolutionary email client: http://www.opera.com/mail/

Reply via email to