Page 1 of 1

Project Sinbad

Posted: Sun Apr 17, 2005 11:31 pm
by jacmoe

Posted: Sun Apr 17, 2005 11:34 pm
by :wumpus:
And what's D?

Posted: Sun Apr 17, 2005 11:39 pm
by Sarev0k
Its supposed to be the next evolution of C++ that someone came up with. More information can be found here.

I really don't think it'll catch on the way C# has though.

Posted: Sun Apr 17, 2005 11:42 pm
by haffax
D reminds me of E.

Posted: Sun Apr 17, 2005 11:43 pm
by IoN_PuLse
http://www.digitalmars.com/d/ Gah! You beat me to it!

Posted: Mon Apr 18, 2005 12:48 am
by _mental_
I experimented using D back in 2001 and quite liked it. I sent in a few patches for Linux but at the time it was still in early stages and I moved onto something else. Perhaps its time to take another look.

Posted: Mon Apr 18, 2005 2:41 am
by Kojack
E was an amazing language. I learnt OO coding with it, before I had any idea what C++ was. It was made by Wouter van Oortmerssen, the guy who made Cube, Pan Quake, Fisheye Quake and worked on the game Farcry.
Here's a list of the programming languages he's written: http://wouter.fov120.com/proglang/index.html. There's about 42 of them. :)

Of course this is slightly off topic of Ogre implemented in D, but once I hear someone mention E, my all time favorite language, I just can't shut up. :)

(And just 3 days ago my students and I were playing Cube. It's multiplayer cooperative map editor is pretty unique)

Posted: Mon Apr 18, 2005 7:50 am
by charlie
Personally I always get confused with that one letter languages
C,E,D,R,A,S...
who should remember all of these... :D

Posted: Mon Apr 18, 2005 9:51 am
by johnhpus
Am I the only one that thinks that naming a port of Ogre "Sinbad" after Ogre's creater will surely lead to confusion?

Image

Posted: Mon Apr 18, 2005 1:04 pm
by monster
Image

Posted: Mon Apr 18, 2005 1:36 pm
by sinbad
Yeah, this has been going for a while but really hasn't got anywhere. Interesting idea though.

Posted: Mon Apr 18, 2005 5:39 pm
by jacmoe
The Ogre is spreading - programmer by programmer, country by contry, game by game, language by language ... !! 8)

Posted: Tue Apr 19, 2005 1:53 am
by PeterNewman
"I am Sinbad of Ogre. Resistance is Futile"

Posted: Tue Apr 19, 2005 4:41 am
by temas
If Sinbad made Ogre which spawned Sinbad..... uh oh... :twisted:

Posted: Tue Apr 19, 2005 6:47 am
by Kencho
Sinbad's OGRE vs OGRE's Sinbad.

This is surreal, pals!! :?

Posted: Tue Apr 19, 2005 7:49 am
by csauls
Howdy. I'm the crazy son-of-a-gun that started the Sinbad project late last year. Its stalled at the pre-alpha for four good reasons:

1 -- We (the three or four of us working on it) are discussing how to translate some features, in particular the Events subsystem, into D, and how we might make Sinbad aware of the physics and 3d sound engines we wish to couple it with.

2 -- We were waiting for the D language to mature just a little bit more, whic hit now has, and so is more ready for the work we wish to do. :) Yay D.

3 -- We were waiting for OGRE's big 1.0 -- more Yay! :)

4 -- Two of us, myself included, have had to deal with sudden and unexpected life-crisis that sucked up all our free time for a while. I'm starting to have more again, and so Sinbad is getting more attention again.

So yeah, its far from forgotten, and we're currently looking over all of OGRE's code again and planning strategies and changing our old strategies (like replacing the current policy of making singletons via a mixin-template with a new policy of using abstract-static classes, something that wasn't as feasable in D until not long ago).

If anyone has questions or suggestions, I'm stupid enough to be available for them. :) And yes, I have wondered if naming the library after OGRE's creator might cause havoc in the long run... but hey, he didn't seem upset about it when I wrote him about it, so I guess its alright.

You may now return to your previously scheduled whatnots.

Posted: Tue Apr 19, 2005 10:40 am
by :wumpus:
That makes things more clear, but there's still one question I have. Are you pulling a Leedguitar, as in, porting the full Ogre over, or just making a binding?

Posted: Tue Apr 19, 2005 5:43 pm
by csauls
We're pulling, to use your word, a Leedguitar. Primary reason is simple: OGRE is written in C++, and D and C++ do not play well together when Classes are involved. There are some ways of making it work, but they would destroy performance completely, so a binding is just out of the question. This is part of the reason its taking a while to get through the initial design phase.

Do be assured, though, that in any case where Sinbad code is little more than refactored OGRE code will have the original authors' names splattered all over it.

Posted: Tue Apr 19, 2005 5:53 pm
by jacmoe
It appears to be a complete 'Leedgitar' ! :)

[edit]damn! i am too slow - csauls beat me to it :wink: [/edit]

@csauls: In case you don't know, Leedgitar is the guy who ported Ogre to C# - and named it Axiom

Posted: Wed Apr 20, 2005 2:06 am
by PeterNewman
I find it interesting, as the now two ports of OGRE says: Ogre's design is good. Not just the code implementing it.

Sinbad has mentioned that he does OO design as his day job(?) so I guess it makes sense, but it's all props to the design. Wish my stuff was half as elegant ;-)

Posted: Wed Apr 20, 2005 3:43 am
by csauls
jacmoe :: Ahh... actually I didn't know that. And it really makes the expression make a ton more sense to me now... heh. :) I'd seen that there was a C# port -- in fact that was one of the things that led me to write Sinbad and ask permission to do a port, as it showed he was open to the idea. That and the design of OGRE just rocks, and might help bring out some of D's features more than some other engines I'd considered porting.

Posted: Wed Apr 20, 2005 8:58 am
by Goosey
While your certainly free to do what you wish on project Sinbad, it seems odd to me that you wish to couple physics and sound with it. If your goal is to create a game engine or something of that sort, as opposed to doing a port, you should clarify that in your mission statement. :)

I would encourage you to look for ways to not have to couple in those other systems. I don't know enough of D to know what it supports, but assuming it supports dynamic link libraries, and assuming your porting the plugin architecture of OGRE.. Perhaps consider implementing those other systems as plugins rather then coupling them?

Interesting project, I wish you luck :)

Posted: Wed Apr 20, 2005 4:19 pm
by jacmoe
IMO coupling like that takes away the Ogreness of the Ogre port.

Posted: Wed Apr 20, 2005 6:31 pm
by csauls
D does support dynamic linking (via the std.loader module) and we will be preserving OGRE's plugin system, more-or-less. My wording probably could've been quite a bit better. The physics and 3d sound engine coupling is a future goal for after Sinbad is in working order, and will probably be a new project in its own right. There has been some consideration of providing a hook for a simple 3d sound engine, in that it wouldn't be hard to just have objects know their sound(s). Then positioning, panning, volume shifting, etc become very simple, as objects can already calculate their relative distances and positions. But that would either be a set of subclasses in a seperate library, or some conditionally compiled functionality via one of D's versioning switches.