I have tried to search up an answer for this but haven’t found a really
great answer… What would the difference between 3D engines like
Irrlicht and Ogre3D be compared to a full-fledged game engine like
Panda3D? Disregarding that Irrlicht and Ogre3D are able to make prettier
graphics than Panda3D what can Panda3D do that the two 3D engines can’t?
The reason I’m asking this is because that I read on the Irrlicht
website that it has built-in collision detection and that was something
that I thought would be only in a game engine so where is the line drawn
between an engine that is considered a 3D engine and an engine that is
considered a game engine?
Now I’m not asking for an answer specific to those engines but in
general. And if it helps the only game programming experience I have is
a few months of developing with Dark GDK.
Please log in or register to post a reply.
well it took me a second to figure out what you were asking, but i guess
that’s kind of a good question. I guess I don’t really know if there’s a
true “line” because the definition of a game engine is just any
underlying core technology that powers the game. If you break it down
though, the term game engine doesn’t really have a definition.
Personally I consider the qualifications for an engine to be either:
1) the same code has been used to create multiple games
2) a programed designed in a fexible enough way to be incorperated into
many different existing game projects
Now notice I’m not saying anything about the quality there.
Unfortunatley the question you’re asking doesn’t really have an answer.
It’s just kind of a judgment call from someone who has experience
working with them. Even if it did have an answer, no one should base
their engine choice off of its classification, its all about the needs
you have. If you need better graphics, get a graphics engine. Physics
help? get a physics engine? Need to make a game quick? You’re getting
into map editor territory…
So sorry to give such an unsatisfying answer but… I really don’t know
what else to say. I guess the straitest answer I can give is that it
just kind of boils down to what it was intended to be. If Irrlicht has
collision detection + AI + networking, then yes, I would probably call
it a game engine. If Ogre just has graphics support, its just a graphics
engine. If panda claims to have everything, well, it’s an everything
How I see it, a 3d engine is used to “play” 3d content, like a video,
while a game engine includes everything to handle the “physical” side of
the world as well.
Nothing stops you from making a game using “just” a 3d engine. That
said, irrlicht at least is more of a game engine than a 3d engine..
Another way of making the distinction would be to draw the line between
“generic” engines and engines that have been used in some game. You can
do anything with a “generic” engine, while the other would be more of a
So in the end it’s pretty clear nobody knows what the difference is, and
you’ll have to study the engines more closely to figure out what they’re
capable of. =)
Well, I was asking because knowing the “definition” of 3D engines and
game engines would give me a better general idea of the feature sets in
different engines which are commonly classified as either 3D or game.
But I guess like startstutter says, it’s really the call of the
developer and it can vary greatly. So the only way to find out is to
research on the specific engine and see what it can do rather than just
looking at the type of engine classification of it.
Thanks for your help! =)
A 3D engine is a rendering engine primarily. It may have associated
features, usually in the realms of middleware subsystems, but it doesn’t
range far from visual technologies.
A game engine would contain one or more different elements that go into
a game, meaning: visual, audio, input/output, middleware (AI, physics,
networking, etc…) and tools (editors, validators, etc…).
Of course, I have no authority whatsoever to enforce this eminently
logical separation… ;)
Thanks for your input, alphadog.
I think I’m gonna go ahead and work with Panda3D, just for it’s broad
feature set and completeness which should serve a newbie like me well. I
think looking into specialized systems and binding together different
libraries for different things I will look at some time in the future.
A 3d engine is just that, a realtime renderer that can be used for
games.. or something else. Theoretically, it provides a host of
additional facilities for rendering a scene above and beyond what is
provided in a lower level 3d framework like Direct 3d.
A game-engine is altogether different. It includes a rendering system,
as well as systems for AI, collision detection, and everything else
required by your core game application.
Further, I would say that a ‘game engine’ is a singular integrated
system of frameworks and facilities that were designed and intended to
work specifically together in the support of a game application. By that
I mean that if you take a 3d engine, a physics engine, a AI framework,
and sundry bits and pieces of cool tech from here and there, you will
never reach a point where you have a ‘game engine’. You can certainly
use all of those things to make a game, but it will require a
substantial amount of glue code that is simply not necessary with a
That is why Ogre is not a game engine, no matter how many extra parts
you can download with it, and Panda is. When you see alot of these
projects with these feature sets, make sure you know what you are
getting. It does not matter if it includes a physics engine or anything
else, if its not a game engine you will have to write one to get from
those pieces and parts to an actual game…