After reading this I wonder if collision will ever be added or when it will be added. Got this from the OGRE forum. Seems to be more of a graphic engine then a game engine. I don't know, maybe I'm misunderstanding these post below.
psyclonist
Regular
Joined: 01 Nov 2002
Posts: 195
Location: Berlin, Germany
Posted: Mon Sep 08, 2003 11:42 am Post subject:
--------------------------------------------------------------------------------
Sure, you can attach other libraries to it but I can choose what libraries for which tasks I want to use (physics, sound, networking, ai, ...) and it's me who has to take care of interfacing them with Ogre.
I think, Ogre is (and should stay) a pure graphics engine so that you can freely choose any library you want for other tasks. It provides interfaces (like the SceneQuery interface) so that you can easily tie it to other libraries.
Btw, if I understand correctly the ReferenceApplicationLayer is simply a demo of one possibility of using Ogre with a physics library, in this case ODE. So physics isn't an integral part of Ogre.
Back to top
sinbad
Site Admin
Joined: 06 Oct 2002
Posts: 2728
Location: Guernsey, Channel Islands
Posted: Mon Sep 08, 2003 12:25 pm Post subject:
--------------------------------------------------------------------------------
psyclonist is right - collision and physics are not in fact a core part of ogre, they are demonstrated in the reference application but it's important to note that OGRE itself has absolutely no knowledge that it is going on. This was to prove to some of the skeptics that you could keep a firm separation between graphics rendering and collision / physics. The same goes for the water simulation, it's outside of OGRE.
OGRE is a component in a larger development system. OGRE is not, and never was, intended to be a one-stop-shop game development platform, it's a tool for a specific purpose. I sometimes have to rabidly defend this because it seems I go against the grain of other engines, who concentrate on providing an all-in-one solution.
I think software systems should be modular and pluggable, with clear interfaces and boundaries between them. I think each team should concentrate on their core area and let others get on with specialising in theirs (I think it's pure madness to try to reinvent ODE for example, as some other engines are doing). I think the most important part of any software system is it's interface, to support all of the above. I think developers should be free to combine the tools they choose into their game development platform, not be told which sound, physics, AI etc implementation to use just because they chose a graphics engine.
I realise this approach means that as of today, it's not as fast to develop a game with OGRE than it is with another all-in-one engine. But I'm not just thinking about today. My philosophy is to build a flexible graphics component which can be used in the maximum number of situations, and to make it easy to integrate with other components - not to build an engine that can be used to make a small number of game variants. I favour flexibility over speed, because I think if you design it right, you can add the tools to make it quicker to develop in specific scenarios later. You'll find it a lot harder to extend an engine which is designed to handle only a small subset of scene types, with strongly integrated features designed from a certain perspective. I try to plan for the long term.
As time goes on I expect more 'combination' solutions to evolve naturally, and indeed that's already happening with people building their own platforms based on OGRE and other libs. Hey, maybe I'll produce my own one day which combines OGRE with my choice of sounds/network/physics libs. But my choice doesn't have to be your choice. I think that's important.
More and more software development is not about writing large, all-in-one solutions, but how you combine specialised solutions into a integrated whole, oriented towards your particular application. I see this everywhere - and in my experience as far as software design is concerned, games lag about 3-4 years behind business software. It's only relatively recently that the games industry has realised that you should try write reusable code, not to reinvent it every project, and component-based development is only just emerging now with libs like Havok etc. It's in this context that I design OGRE - for how I believe games will be made, not necessarily how the are now.
READ THESE POST - FROM OGRE FORUM
Yes you are right OGRE is purely a 3D graphics engine, this is good IMHO because then developers are free to choose which networking, physics, sound, etc.. lib to use with it.
IIRC, Fred has said in previous post that ODE would be his first choice as a physics lib to be plugged into OGRE and i think he was waiting for a collision engine to be finished or something. So yes it seems that physics and collision are coming.
IIRC, Fred has said in previous post that ODE would be his first choice as a physics lib to be plugged into OGRE and i think he was waiting for a collision engine to be finished or something. So yes it seems that physics and collision are coming.


