Plenty of good stuff in this thread.
Apart from what has been said concerning unity3D and UE4, the reason I went away from Ogre was something else.
Tools were not a problem for me (still, I am extremely happy that OpenGEX gets supported
very wise). I have written in maxscript a custom exporter/importer for 3dsmax/Ogre and it is good for my students to understand the full production pipeline.
But in my case, the reason I went away from Ogre was this one : I found it too big/bloated, I wanted a rewrite because lot of code was barely maintainable (scenemanager for example), and several things that should have been simple to code were hard to manage (resources for example, manual rendering). I was afraid to recommand it to my students for that reason.
I will of course look and test when Ogre2 is finished. I know that I will get blown away by the demo and things we can do, but if I feel that the code of Ogre2 is still too overconvoluted, I will probably continue with bgfx. bgfx (https://github.com/bkaradzic/bgfx
) is more what I was looking for as a rendering engine. It's probably not for the newbies who wants to make games, though.
Just hopping in on the thread a little late, but I wanted to react to this, as I agree a lot with what you are saying.
Could this line of criticism be an embryo of a roadmap for Ogre 2.1, or Ogre 2.X ? I know some people would like the next steps to be about some even more hardcore next-gen gpu rendering stuff, but my expectations are completely different : I would be more interested in streamlining, simplifying, stripping down everything that can be to get the not only the fastest (as dark-sylinc has been hinting to recently
), but the simplest and lightest (mobile-friendly) 3D engine on the market.
A trivial thing that I appreciated in Ogre 2.0 : removing the string names arguments from a lot of createXXX functions removed a lot of unnecessary bloat for me. Who seriously architectures an engine around name indexes anyway ? Further actions like this could be pursued.
I agree that the ressource / files system, from a very naive user of Ogre as myself, seems like a critically cumbersome part. I think a critical step in Ogre future would be to make the ressource system more loosely coupled from the engine, and I have strictly no concrete evidence at all to backup my intuition
I would also like to conditionally strip down parts of Ogre I don't use.
I know a lot of great work has been done on the 2.0 branch, bringing speed and shading to industry speed / quality, and I would love to see Ogre retaining this while becoming a sleeker engine and not going the opposite way and becoming a juggernaut. That's how I see the ideal programming eco-system : as an array of simple and really efficient components rather than big bloated engines.
To name a few examples of libraries I'm using that I have found to satisfy this view : Recast / Detour, NanoVG, Bullet, Sqlite, ZeroMQ
On a different topic, I'm also very interested in what everyone has said about the 'competing' game engines. To me it is clear that an open-source engine could cater to the kind of market these big engines don't : the low-cost market, the indie market, the lone programmer market. An engine that would provide a programmer which wants to retain complete programming freedom, with a set of components and tools, and an simple extendable game object model simplifying the process of coding and editing the game 10fold.
So, something quite different from the Unreal Engine, or NeoAxis. Quite simpler in the end, but in my view, more powerful.
When I see the tools presented with the Unreal Engine, it's impressive, but when you look at the critical parts and forget about next-gen graphics show-off, it's not so incredible. There is a bunch of critical features, put up together, bringing a great modding experience, like the ability to jump in and out of the game, material editing, prefabs / blueprints with dynamic properties and a really clever node-scripting system.
These things aren't impossible for a voluntary (or sponsored) team to implement if you set lower expectations, focus on the essential and forget about a lot of shiny gadgets.
I've been working on a modular engine that I think could benefit the whole community and intend to release it slowly pieces by pieces, as I decided that I'd more realistically earn money from the game itself than yet another middleware. I'm first starting with sharing a lightweight Ui solution (that I presented in showcase). But later, if interests grows and my work proves to be of good quality when it will be confronted to the public needs and expectations (will it actually simple and efficient enough and useful to many people as I hope so ?), then I will continue on and release other parts of the engine that I've been putting together in the last years.
Commercial engines have not killed open-source engines because they never really existed, but Ogre 2.0 and some good-willed souls could bring a change, I believe