Sell me on OGRE instead of Unreal

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Sell me on OGRE instead of Unreal

Post by WorldSeeker »

I'm an experienced C++ programmer, working on what will hopefully be my first releaseable game: a story-rich real-time-tactics game, which should feel like a cousin of Ogre Battle and Mount & Blade (minus the zoomed-in M&B battles), but with more diplomacy and reputation management, much richer worldbuilding, and more dialogue.

I've written several games in C++ in the past, but they never quite coalesced into something fun and playable, and so were never released. I even wrote a character-based UI with ncurses as part of one of these projects; that was an educational, confidence-boosting experience, but a waste of time and energy that could've been allocated much better.

Over the last 6 days, I've been trying to wrap my head around the Unreal Engine. The documentation is incomplete, unhelpful, and out of date. The engine itself is crash-prone and deeply non-intuitive. Third-party tutorials routinely fail to compile when I follow them. I've crashed the engine twice (if memory serves), locked myself out of my project once, and reinstalled Visual Studio two or three times.

After all this effort, putting in 8+ hours a day on the weekend and 4 at least on weeknights, I can't figure out how to render a cube and have text hovering over it.

So, sell me on OGRE. Given what I already know about C++, if I put a week of effort into reading OGRE's documentation and following its tutorials, will I be able to draw a cube with text over it on a featureless plane?

User avatar
sercero
Bronze Sponsor
Bronze Sponsor
Posts: 479
Joined: Sun Jan 18, 2015 4:20 pm
Location: Buenos Aires, Argentina
x 165

Re: Sell me on OGRE instead of Unreal

Post by sercero »

I won't shill for Unreal Engine, but I have to tell that it is surprising that you had that many problems.

Are you using the latest stable release like 4.27 (I think)? Or are you trying to use 5.0 (perhaps it is already out of beta...)

If you go the OGRE road it will take you years to develop the engine for your game.

Nowadays it is hard to sell OGRE for creating games when there are so many alternatives.

I would tell you to use OGRE if you are not in a hurry, want to learn about game engines and find that fun.

Otherwise it is best that you seek a game engine instead of a renderer like OGRE.

This YouTube channel is very good and might help you with choosing a game engine: https://www.youtube.com/c/gamefromscratch

paroj
OGRE Team Member
OGRE Team Member
Posts: 2093
Joined: Sun Mar 30, 2014 2:51 pm
x 1129

Re: Sell me on OGRE instead of Unreal

Post by paroj »

sercero wrote: Wed Aug 10, 2022 12:45 pm

If you go the OGRE road it will take you years to develop the engine for your game.

I would not say it is that bad nowadays.

You now get ImGui, Bullet and Assimp out of the box, which should get you started much faster. Of course, the documentation of those external Components varies - e.g. ImGui is only documented by its source code and the demo it comes with.
However, once you learn the API you can also use these libraries outside of Ogre too..

The only missing piece would be audio, but there is ogre-audiovideo which is sufficiently easy to integrate.
The other missing piece is likely a proper scene-editor. You could use Blender or Ogitor, but thats more cumbersome than Godot or Unreal..

As for the documentation of Ogre itself, I would say it is sufficiently good: https://ogrecave.github.io/ogre/api/lat ... rials.html

However, you will probably have to give it a go to see whether it works for you.

WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Re: Sell me on OGRE instead of Unreal

Post by WorldSeeker »

I tried to use Unreal 5.0; it’s out of beta, and there was nothing on the website hinting that it wasn’t really out of beta and I should use some other version instead. But given the state of their documentation, I’m not surprised if UE5 is secretly unreleased and you’re expected to pick up on that by word of mouth!

Unreal wants to be an FPS, or something else similarly arcade-y. Displaying text over a character’s head is considered an advanced technique in that system…

I’ll look into that youtuber, but I’m not going to rule out Ogre+SFML+etc. in advance, especially not after having so much trouble with Unreal.

WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Re: Sell me on OGRE instead of Unreal

Post by WorldSeeker »

Paroj, thanks for your response!

I should make it clear that I’m not making a 3D shooter, or a small-scale Pillars of Eternity-type RPG, or anything else in that neighborhood. I don’t expect to need a physics engine at all, and I might not particularly use 3D scenes; this is a small-scope strategy game, occurring at the level of towns and factions, where the PC starts out in command of a company-sized group. (Learning that Unreal breaks down with more than 80 characters in a scene is one of the things that put me off it.)

With my prior experience with SFML, which is mentioned on the Ogre wiki as easy to integrate, sound and UI are covered. I have some experience with the Blender family of scene editors, so that’s also covered, and I want to do most 3D level design procedurally — I want to be at the level of “this town has about two thousand inhabitants” and not “I wonder where I should place this individual wheel of cheese.”

So it sounds like OGRE is fit for purpose — or at least, I’m sick enough of Unreal’s sloppiness to give it a chance.

paroj
OGRE Team Member
OGRE Team Member
Posts: 2093
Joined: Sun Mar 30, 2014 2:51 pm
x 1129

Re: Sell me on OGRE instead of Unreal

Post by paroj »

some more pointers for you

  • Procedurally generated game made with Ogre: https://www.ogre3d.org/2017/12/13/game-highlight-iubes2
  • Ogre already comes with SDL2 integration (OgreBites), while you would have to integrate SFML yourself
  • You should always check the manual (link above) first, as the Wiki might be outdated
WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Re: Sell me on OGRE instead of Unreal

Post by WorldSeeker »

sercero wrote: Wed Aug 10, 2022 12:45 pm

I won't shill for Unreal Engine, but I have to tell that it is surprising that you had that many problems.

The more I think about this statement, the more it bothers me. What was I supposed to do to learn Unreal, not read the documentation?

Maybe people learn through plug-and-play tutorials and experimentation, but if I'm going to commit to that level of effort, I want to make sure that Unreal will be fit for purpose for what I'm trying to do.

My alternative to that is learning OGRE and combining its code with repurposed code from previous efforts (I already mentioned having written a complete UI, if a crude one), and that alternative is feeling more appealing with every hour of feeling stuck and short of answers...

I may be here a lot more often going forward, but we'll see.

User avatar
sercero
Bronze Sponsor
Bronze Sponsor
Posts: 479
Joined: Sun Jan 18, 2015 4:20 pm
Location: Buenos Aires, Argentina
x 165

Re: Sell me on OGRE instead of Unreal

Post by sercero »

Well then, try OGRE and see how it goes.

Also check out other game engines, perhaps Godot might be a good fit.

As @paroj says, nowadays OGRE has a lot more stuff integrated so it might be easier but the thing is that integrating different libraries is not the end of the road.

There is also the engine architecture side of things that is being taken care of when you use a game engine.

With OGRE you have the freedom of using whatever architecture you want but at the cost of time.

This is a great book: https://gameprogrammingpatterns.com/.

This is also something you might be interested in: https://github.com/alecthomas/entityx (ECS, there are other ECS projects as well)

Regarding Unreal: I am surprised because it is a popular engine used by many people so the bugs should be ironed out in the stable version, perhaps I'm wrong and it is very unstable... I don't like bloat so that is why I'm not using Unreal nor Unity.

WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Re: Sell me on OGRE instead of Unreal

Post by WorldSeeker »

Sercero, thanks for your response!

I don’t know whether Unreal is stable or unstable in a general sense, but I do know that I crashed it a time or two, as well as locking myself out of my project for a while. (I’ll have to review my notes on how I got back in. If I do try Unreal, I don’t want that to happen again when I have something bigger going on.)

Seeing some of their code when setting up a C++ class, I wasn’t surprised at all that the engine was crash-prone: it’s full of casts and mystery-meat pointers. That sort of architecture gives all of C++ a bad name, and I have misgivings about sending a game out into the world with my name on it and a bunch of pointers underneath…

That Game Programming Patterns book sounds like the sort of thing I should’ve had years ago! Thank you for that — ordering it now!

I’ll also look into the history of ECSes. From my perspective, I can’t imagine what problem they solve (unless the “problem” is that C++ isn’t Javascript — edit, or LISP, the Wikipedia article actually references mixins, of all things…), but there must be some reason they came into being…

I’ll also check into Godot, although I know nothing beyond the name as yet. Thanks again!

Update: Godot is looking very likely to be exactly what I'm looking for!

User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5429
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1337

Re: Sell me on OGRE instead of Unreal

Post by dark_sylinc »

Hi.

Ogre is a rendering engine while Unreal is a game engine.

That's comparing a movie theater to a screen projector.

Ogre & OgreNext appeals the most to users who want or need only the rendering side (e.g. usually non-gaming solutions like science simulations, robotics, medicine, virtual training) and don't want to use Unreal's solutions for physics, sound, network, etc.

Unreal's biggest issue is that it has insane compiling times (which are relevant when you need to modify the engine) and insane requirements (large loading times, 32GB of RAM, +8 CPU cores)

OgreNext is much more lightweight in terms of compile times, RAM usage and runtime performance.

It is ideal for mobile (for Vulkan enabled devices) and simulations where high framerate and low latency is important (e.g. VR).

Another plus is our Global Illumination solution. VCT is very high end (so is Lumen) but it is much easier to work with from model-authoring side of things. Lumen is very picky due to the voxelization using cardboard models. E.g. you can feed a house to OgreNext's VCT but for Lumen you have to feed each wall and door individually:

WARNING
Only meshes with simple interiors can be supported — walls, floors, and ceilings should all be separate meshes. Importing an entire room, which includes furniture, in a single mesh is not expected to work with Lumen.

Godot also offers VCT and SDFGI which are good solutions (OgreNext and Godot's VCT solution was a collaboration)
SDFGI is not accurate (when compared to ground truth) but is very flexible, fast and adapts to many scenes. And looks very nice.

OgreNext decided to pursue CIVCT as an alternate approach to have the flexibility SDFGI provides, but it's a work in progress.

Realtime GI is a very active topic so the state of things is constantly changing, but right now we have nothing to shy away.

If you want a game engine, compare Godot vs Unreal. If you have no issue adding the missing components yourself or love doing that, then you'll like the thinner environment of OgreNext.

WorldSeeker
Gnoblar
Posts: 6
Joined: Wed Aug 10, 2022 4:48 am
x 4

Re: Sell me on OGRE instead of Unreal

Post by WorldSeeker »

dark_sylinc, thank you!

At this point I'm definitely going with Godot. If I want to swap out OGRE for its native rendering engine at some point in the future, that shouldn't be impossible...

I was already getting slowed down by Unreal's long compile times, even without understanding that engine well enough to know how to use it. Reading that information about Lumen leaves me very confident that I'm not missing much by giving up on Unreal -- not even the rendering engine, if it requires policies like that one.