OGRE: Good, bad, or ugly?

Started by
7 comments, last by shaft 19 years, 9 months ago
I've been searching for alternate routes that require less of a learning curve and allow me to get started faster. So apparently I've come across the Object Oriented Graphics Rendering Engine (OOGRE) or "OGRE" as it is called. Has anyone here worked with it and (if so) did you find it easier to work with than say DX? Also, what other engines/libraries (physics, AI, sound, scripting, Networking) will I need to make a complete game engine? Thanks.
Advertisement
It looks great to me, but when I last looked at it I was not happy that I had to build it myself and couldn't just download a static library or a .dll to link with my project. Building it alone took 1GB of diskspace.
I haven't tried Ogre, I use Irrlicht. For the other libraries you'll need:

Physics: ODE
AI: OpenSteer, I don't think it's so complete though.
Scripting: Boost Python, use this to expose your game engine to Python
Sound: FMod
Networking: Raknet or OpenTNL
I haven't used OGRE, but i've use dAxiom, which is a C# port of OGRE. It's real easy and understandable, definetly easier than DX. Plus i think OGRE has OpenGL too. And it's supposed to be multiplatform.
Quote:Original post by Kylotan
It looks great to me, but when I last looked at it I was not happy that I had to build it myself and couldn't just download a static library or a .dll to link with my project. Building it alone took 1GB of diskspace.


I had that problem too, it took ages to build, hogged up my disk space and generally frustrated me.

I think it would be a lot more accessible if it had a static library pre built for the main compilers.
I liked the core design of the API abstraction layer, and I thought their Technique/Shader/Pass dseign was effective too.

However, I'm finding that their design, while solidly built, isn't especially flexible. In fact, it's downright rigid, and there are certain things you're just not supposed to do. I don't like the number of restrictions.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
I use OGRE. For a beginner to computer games programming, it is easier for me to understand and learn by using the OGRE API.

It takes a long time to build because you have to do a batch build on 42 projects (including demos and making of the dlls - both in debug/release/both modes). On a P4, you could have a nice lunch and come back to see it all built. Yes, it takes alot of HD space no doubt.

If you want to extend OGRE then you're welcome to. Just send a patch or contribute.

About precompilation, there might be a trial of downloading the precompiled libraries in the not so distant future :)

An example game engine using OGRE is yake.

Promit, what restrictions do you mean? Please clarify. Thanks.
Promit: I am curious too as to what restrictions you found in Ogre? Ogre has changed a lot since Aug 2003 (when I first looked at it) and is now a very capable modern rendering engine, and its free.

For those that are just starting out in game programming, Ogre can be a little intimidating since it is a large application that uses modern programming practices and design. But those willing to take the plunge will learn a lot from studying and playing with the source code of the engine which they can then apply to their own programs.

I have been using Ogre for about 9 months now and it never ceases to amaze me of its flexibility. Not everything is handed to you on a silver platter but just about everything is there and its just a matter of going through the API documentation to learn how to do it. And if its not there then learn how to implement it and send a patch to the Ogre team. The team is very open to constructive criticism and are very quick to adopt patches (once they are tested). If you are not upto implementing a desired feature then post on the Ogre website and someone might be up to the challenge or maybe the core team will tackle it. The engine is still evolving like any other Open Source "RENDERING" engine out there but it is very complete now and fast.

As far as a rendering API use goes, Ogre is a lot easier to work with than DX or OGL since Ogre takes care of the house keeping for you and allows you to work at a higher abstract level. If you need too, you can work at a lower level or build your own extensions. Ogre's plugin design allows for relatively easy extension at the scenemanager, GUI, and particle FX level.

Even if you decide not to use Ogre and want to write your own engine, take the time to go through the headers, and source code to learn how DX and OpenGL are used to build a flexible and fast rendering engine. The design path that the Ogre team chose is not the only way to build a good engine but I think it was a very sensible one.

Since Ogre is only for rendering I use the following Open Source libraries to build the rest of the sim engine:

Scripting: Lua with LuaBind
Physics: ODE
AI: NeuralFuzz (My Own)
Sound: OpenAL
GUI: CEGUI (Crazy Eddie's GUI MK II)
C++ Goodies: Boost



[Edited by - nfz on July 9, 2004 10:36:05 PM]
Ogre ROX...

The only hard part is that you really should dig into the design & code to understand everything. But that is true of using any complex 3rd party library... And atleast OGRE is decently documented.
He''s a bad motha - Shut yo mouth.

This topic is closed to new replies.

Advertisement