I was really excited about finishing the MMOG networking code recently and moving over to the Reality Engine. However, after looking at and discussing it for a few days it seems like there are some serious flaws in the design of RE.
First of all, they wrote most of the game in script. This is fine, except that the script they chose was C#. Which is also fine, except that C# requires that your end-users install the .net 2.0 framework. This is unacceptable because, at least with downloadable games, users might choose not to do that. I don’t blame them. Who wants to install some bloated crap from Microsoft and slow down your system just to play a game? It’s almost unheard of for a game to require you to install some 3rd party application just to play the game.
So now I have an engine with no game code.
Doubly bad, they also used C# for their GUI designer.
So I have an engine with no GUI code.
They also tied in Ageia physics to their physics library. Which itself requires an installation of a 3rd party driver. Which is also unacceptable for the same reason. So now I have an engine with no Physics either.
I’m not going to use their networking because although they used RakNet, they did a bad job of implementing it. So I have an engine with no networking.
RE has a good renderer. Except their toolset is very limited. For example, no particle editor and support only for MAX. Oops!
At least I get support in an engine right? Nope, because they aren’t answering the forum anymore.
So I’m left with a sound engine… an input engine… not much else really. I already have a sound engine though (OpenAL). I already have an input engine too.
So what am I left with?
I guess I have the option to either continue to use Irrlicht or to swap and start over with Ogre3D (Duke Nukem Forever!). I don’t want to keep starting over but the problem with Irrlicht is they are years behind Ogre3D. I really like how well written and easy to read and use the code is. But there’s no editor and a hell of a lot of other stuff missing. I spent quite a lot of time writing my particle editor. Then I was faced with writing code to render text on the screen. And so forth. With so much time spent on low level things, it would probably be faster just to use Ogre3D. I’m on the edge at this point and saying “Fuck it” and starting over with Ogre3D. It’s a sunk cost fallacy to stay with Irrlicht just because I already spent a lot of time on it. The question is, what is the fastest way to get my game done at this point? And it’s probably starting over with Ogre 3D. Since my network code is abstracted out I lose nothing there so I’m still maybe 40% done.
4 replies on “Reality Engine vs. Ogre 3D”
While it may be true that RE embeds those technologies in a weird way, it does not have to be so.
For example, we use .NET for game scripting as well, but actually embed Mono libraries, compressed down to 1.5MB. No separate install. We also use Ageia for the physics, but that is also compiled in and hence no separate install. So we use about the same technologies, but that is completely transparent and does not bloat distribution size that much either.
Oh well, I’m just starting with Irrlicht and I love the easyness and nice clean code you can write to use it. But as you said, it lacks stuff.
Fortunately, the team expanded and they are working very hard to incorporate more stuff to Irrlicht, it isn’t a one-man-team anymore 😉
Hey Rakkar, what is the input engine you are using?
Irrlicht is a very good library. In another year or two I think it will have all the features people need. Right now I just don’t have the patience anymore to write tools. With RakNet I’ve been writing tools for 4 years and I want to start writing the game now 🙂
Just wanted to correct something: Irrlicht has an editor, working on it a lot currently 🙂 http://www.irrlicht3d.org/pivot/entry.php?id=345