Panda3D and Python-OGRE

Hi all,

Which one is easier to learn? Or which one is faster?

Thanks in advance

I don’t know. I’ve never tried OGRE. But I can give you this quote from a recently new Panda3D user (if I’m permitted):

you asked the same question on ogre forums here is the replay for others to see of what python-ogre thinks of its self ogre3d.org/phpBB2addons/view … b5445e20c0

As I learn game programming in spare time, I really want to create something and go in right way. Both of them use python, but different internal architecture.

@pro-rsoft: Thanks for your quote. It seems that Panda3D is easier to start with.

@treeform: I am interested in how python-OGRE users said according to their experience, so that to make a fair comparison of both.

Any more comments???
:slight_smile:

If you’re interested in a 3d engine that uses python, panda 3d and python-ogre aren’t your only options.

Sylphis 3D also uses python and looks like a very capable engine, but it doesn’t seem to be as mature as panda either. It doesn’t have as big a community or even precompiled binaries.

Irrlicht appears to have a .NET version (so you could try using it with ironpython or boo), but I’m not sure it’s complete. It also has a java version called jirr (so you could try jython). However, the community seems interested in supporting C++ over all other languages.

I hear Java Monkey Engine is about to release version 1.0, but I haven’t looked much at it recently. You could probably use Jython here too.

I tried using python-OGRE once or twice, but it seemed to be really buggy. I would be willing to look again when (if) this changes though.

I’ve never used Ogre either, but from what I’ve read Ogre is strictly a rendering engine, not a complete game engine, meaning you have to add your own sound, networking, physics, ect…

That’s true (mostly), but python ogre is supposed to have other libraries too, including sound, networking, and physics: http://python-ogre.org/index.php/overview

Honestly, I’m not sure panda is better in that regard at this point. I think openAL is now available, but panda’s built-in physics is pretty crude (it also seems to have trouble with certain transforms). There has been talk of integrating another physics library to overcome these shortcomings. Panda3d is supposed to have some kind of network support, but I don’t know much about it. The documentation seems to be rather sparse. You may be better off using another library like Twisted anyway.

Cyan ODE is in and PysX is in the works for physics engine … yes build in panda collision engine is just for situation that don’t require a full fledged physics engine…

I would say the main difference is:

Panda3D is designed for Python as a C++ engine.

PyOgre is a Python binding for a C++ Engine “Ogre”.
(not only but essentially it is)

Like they have been Python binding for Irrlicht etc…

So i would say that PyOgre is very likely to lag behind Ogre, which is not the
case for Panda.

This say, Ogre is a very good 3D engine (not a game engine) but it requires
some programming level. It’s not really for the faint of the heart
(not as bad as Crystal Space but…)

There are other 3d engine with python.
Soya3d, seems to be pySoy (http://www.pysoy.org/)now.
And truvision3d ( http://www.truevision3d.com/)also provide an ironpython binding, but he use directX.

Just for the records:

Soya3D and PySoy

Soya3D is a 3D game engine written for Python only. It is remarkable because it is written in Pyrex (generates C code from Python code, with some additional type information). It is easy to learn, but in my opinion it is lacking features (no shaders).

PySoy is a fork from Soya3D. The forking happened around mid 2006, and both projects have developed since then.

ogre-python and PyOgre

PyOgre is dead. PyOgre has been a Python wrapper around the core OGRE render engine, created using swig. The rapid development and common API and design changes before the 1.0 release of OGRE have been too much for this project. They have been way behind OGRE, and eventually gave up.

python-ogre picked up about a year later, and has been learning from the PyOgre shortcomings. The python-ogre project uses Py++ to (almost) automatically create the Python bindings for OGRE and a few other C++ libraries. A lot of handy stuff can be found within python-ogre packages, for example wrappers for OGRE PagedGeometry (for large scale vegetation) or Caelum (for sky).

Delta3D

Another good 3D simulation engine which has not been mentioned so far is Delta3D (http://delta3d.org/). The project is open source, and has Python bindings. I have been watching this project from the first attempts at 3D scenario visualization at the MOVES institute, and it is really amazing how much these guys have done within a few years. I really wonder where they will be in two or three years.

enn0x

I think it’s pretty important that the python wrappers be generated automatically. Otherwise, the python support is always half-finished.

I knew about soya3d, but didn’t mention it because of its strong copyleft, and truevision3d isn’t even free.

Delta3D looks interesting though. I hadn’t heard of it before.

I heard that “Python binding for Irrlicht” was dead, only Lua for irrlicht

Delta3D still need improvement
devmaster.net/engines/engine … 29#reviews

It seems that python-OGRE is more complex than Panda3D.
Besides, there are already games made with Panda3D.

I was using Python-Ogre for a while 3 months ago, here is that i got

Python-Ogre 3D

Good things :
-Very fast engine, i got up to 1200 fps in a scene with few things, and normally i got 200 - 400 fps with a player sprite and a plane all textured, with 2 lights (directional and spot), and soft shadows.

  • Not really hard API to understand and well arranged.
  • Nice tutorials (from beginner to expert), you can advance skills easily in wiki documentations.
  • Open Source, downloaded for linux, mac and windoors.
  • No very hard to install in linux and windoors (at least).

Bad things:

  • One time you read tutorials you are finished, no more documentation available
  • If you dont know how to program C++, you will not be able to do much (at least for now).
  • Is not good idea to try learn a binding language related engine, because you do not have the complete control engine.

Panda 3D
Good things:

  • A complete system of tools to create a videogame, you REALLY don’t need extra things to development a game.
  • Is considered the easier game engine at the moment, because is not bindings python, either is Python principal language of call. In this case C++ is a binding.
  • Time reduced to create a game
  • Open Source, and you can sell your games (well, python-ogre too)
  • xtremately easy to install for platforms Windoors, Linux and Mac.
  • Nice comunity (at least for me, they answered the most of my questions)
  • Chicken exporter is great (for blender)

Bad things:

  • I guess is some hard YET to create an actual level game. (shadders + dinamics lights + soft shadows + filters + speed)
  • Would be great if someone creates more tutorials, manual is good but tutorials is one of the best way to learn…

Well, one thing is true after all, both are live projects, inclusive both has the same version 1.6.1 :astonished: - From here to 5 or 6 months later, both will have better compatibilities, better performance, better driven, etc.

But if you want to do something medium-high level, fast, easy, PANDA 3D

If you want to do something really high level , games like Xbox 360, PS3, you can use python-ogre, but you will be limited, and for the time while ptyhon-ogre get fully implemented, panda will be a high level engine.

Resume :
Every Game engines have lacks, good and bad things, if you dont know how to program C++, better to stay with Panda 3D (you finish a game for sure)

I would like to hear more about this!

if is good for you to read it as well, you may check this out and also to search the forum in the snippet and showcase sections for sample code