3 ms·
Ogre is a great little 3D engine. It is small and elegant with some tools surrounding it to make it work. One big downside though is that it is/was made in an
by BubRoss 7y ago
Ogre is a great little 3D engine. It is small and elegant with some tools surrounding it to make it work. One big downside though is that it is/was made in an 'object oriented' style where everything is a pointer to a virtual table that then points to a heap allocated object. This makes everything slower and more difficult to debug. Small games usually don't have enough entities to make it a problem though.
- gameswithgo 7y agoOgre got a bit of a critical review from Mike Acton a few years ago along those lines and since I believe they have re-architected things quite a bit. So I'm not sure from what version your comments apply, it is more performant now than it used to be. It might not be the engine to use if you want to make Doom5, but some of the best selling games of all time of have been made in Java, or older versions of Unity, which have more performance limitations than Ogre.
- nineteen999 7y ago> but some of the best selling games of all time of have been made in Java Any examples of this other than the obvious one (Minecraft)? That is the only one I can think of.
- gameswithgo 7y agoPokemon Go, Subnautica, Kerbal Space Program come to mind immediately. It should be noted that ALL of these, including minecraft, suffered in quality because of their performance. But, commercially they all did really well.
- WillPostForFood 7y agoTo clarify, Subnautica and Kerbal Space Program are examples of Unity games, not Java.
- danschuller 7y agoPokemon Go was also made in Unity. I think Slay the Spire was Java.
- thegeomaster 7y agoWorth noting is that there is a v2 branch of Ogre, which is a near-full rewrite aimed at fixing these issues [1]. It was, I think, more than 5 years ago that Matias Goldberg wrote the first demo of what speedups are possible in Ogre by following a data-oriented approach: contiguous structures, eliminating excessive branching, structure-of-arrays layouts, etc. I'm happy it's grown into something pretty usable today (from what I see). Now it seems that all this is the standard industry wisdom, but I feel like at the time people were only slowly realizing the real cost of all those vtable lookups and abstractions. [1]: http://wiki.ogre3d.org/tiki-index.php?page_ref_id=2191 http://wiki.ogre3d.org/tiki-index.php?page_ref_id=2191
- BubRoss 7y agoOgre has been around for a while and not only were people less aware of pointer chasing issues, they weren't as much of an issue relative to the full speed of the cpu.