Ogre and Irrlicht are just rendering engines, they don't "do everything for you". I would be writing the game logic. I take your point though. It's pretty much the same, just with different languages (and not even that different from what I've seen of UnrealScript).
Yeah, I'm starting to see that. I think I'll settle for Irrlicht, or maybe Doom 3 BFG's engine (modified id Tech 4) if I can find some documentation for it. I'd use Ogre but the documentation sucks.
I would actually go with a ioQuake 3 derivative myself but meh. Last I checked, none of the validation and key bologna has been removed from id Tech 4 derivatives and the ioDoom 3 tree is absolute crap (hasn't been changed for years now... strangely enough, you get griped at if you try and change the wiki to show as such).
Also, to be very serious here... The Disney engine probably has the best documentation although it's quite bloated (Panda 3D). And it still isn't that great.
And last but not least, I cannot STAND engines that force you to use incremental references. It's slow, innefficient and really think you should instead but forced to implement your own memory management model or use a default.
It was the Basic Tutorials that I didn't like. They should just show you how things are done, and then maybe give you real-world examples at the end, not give you some convoluted program structure. The first bit of code on that tutorial has a function called createScene and they haven't even told me how to initialise Ogre or what a scene is yet (I know what a scene is but they should still explain it in terms of their API). They don't even show you the structure of the class they're using, you have to go and download that if you want it. It does then go on to explain it in detail, but it's all out of order and I find it annoying. Irrlicht's tutorial is much better. It starts off with the code you use to initialise it and then shows you how to load and animate a mesh and finishes with the code that de-initialises it. I just don't like the design and how verbose the code for using it is. You either have to go through device->get<VideoDriver/SceneManager/GUIEnvironment>() or else store separate pointers to all of those (which is what the tutorial does). Why can't you just device.video_driver().do_something();? Why does it have to be a pointer that you create with a separate function? What's wrong with constructors, or even (dare I say it), factory methods as static members? It looks like Ogre has the exact same issues though.
Ahh ya I found that quite annoying also. I hate it when book or tutorials start say something like "You are going to have to use a X to create object Y" yet they haven't even explained to you what the heck X is yet. Then a few pages later they finally explain what X is and it clicks and you are thinking why the hell didn't they tell me that before.
If I read correctly, ogre is completely open source and anyone is encouraged to make their own modifications. You can even get non-standard additions. One day I think I'd like to contribute myself, maybe make a GUI for it.
Even though ogre3d is free to use, they would still like some money. So I think their tutorial is scetchy in hopes you will buy their book. Has anyone read the book? I would like to think it is detailed.
Even though ogre3d is free to use, they would still like some money. So I think their tutorial is scetchy in hopes you will buy their book.
None of them books are written by any of the team member or even part of the development project. They are just written by people that have used the library and felt like writing a book on it.
They also don't get any of the profits from the book sales I don't believe so I don't think that is true.
Has anyone read the book? I would like to think it is detailed.
Ya I own it but haven't really gotten around to giving it more then a cursory read to see what it was like. From what I seem it was kind of lacking though that was only the first few chapters so it might pick up later.