When Is A 'Game Engine' NOT A Game Engine...

Miscellaneous Forums/General Discussion/When Is A 'Game Engine' NOT A Game Engine...

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

but maybe my definition is to narrow


My opinion is exactly that. It may be what you *want* in an engine, and that's all well and good, but I don't want it, so by your definition, I don't want a 3d/game engine at all.

When you use your engine metaphor, with the made to run, doing work, etc, I'm inclined to think that what you're really looking at is the difference between an automatic and manual transmission. You want the engine to decide when to change gear and to do it for you.

I think this analogy holds true, too, because you sacrifice some efficiency when you do this. In much the same way that an automatic transmission doesn't give you the optimal gear changes, a 3d engine which controls all the rendering for you ( among other things ) doesn't give you the optimal speed. Now personally, I don't want the engine in control of that, I know what I've done in my game and it doesn't. So I am always going to know how the engine should work better than it should.

Perhaps this is related to your OOP thinking. You want everything abstracted to the n'th degree, and while there are benefits to this, there are disadvantages too. You lose a little speed and you lose a little flexibility. Sometimes it matters, sometimes it doesn't. Some people care, some don't. You weigh up the pros and cons and decide.

Now if you were using a game engine designed for very specific types of games, I'd have a different answer. If we were talking about an engine for making 2d top-down RPG's, I'd say fine, not much to lose by having it all done for you. But you're not, are you? When you talk about engines like Ogre, TV3D or Irrlicht, you're talking about very generic engines which are being used for a huge variety of games.

So the question becomes, do you want to use an engine designed for your game or designed for someone else's? Both answers are still valid, but with the above caveats that you must accept the loss of a little flexibility and speed. And it's not as though these engines aren't doing *anything* once you engage them, as you're proposing it. They're doing a lot. They're just not doing everything, and they're waiting for you to tell them when you want them to do it.

I want the flexiblity and speed. You want the abstraction and ease of use. Why should either of us be right or either wrong? Both types of engine are valid, just depends what you want.