For those of you using Panda3D

Panda3D... is it worth it? Commercial examples are not exactly impressive, but I really want Panda3D to be as great as it looks.

I don't know... I tried Pygame and I liked it (I had used SDL with C++ before, and I also liked it). Then I used Pyglet for this Pyweek and I love it. But this two are mainly 2D engines, even when they have OpenGL accesss (well, my ropes in the Bungee game where drawn using OpenGL in a batch). Yes, I could use Pyglet to create 3D games, but then I would be forced to write almost everything from scratch (model loading, animations... those things.)

Then there's Panda3D. But its sample programs are quite unimpressive. The manual is not exactly complete, and I'm not sure if it's worth the effort. I know some of you have been using Panda3D for Pyweek. What do you think about it? Would you recommend it for something relatively serious? I don't need next-gen graphics, but I need the engine to be solid, and I'm obviously looking for a Python engine.

Woodwolf on 2008/09/19 19:21


Comments: (log in to comment)

You're probably aware, but Disney uses Panda3D for their "Toontown Online" MMO -- it's stable enough to have adopted some "serious" use.

you could also take a look at these projects:

python-ogre

soya3d

As far as I know Soya3d has been used in PyWeek before.

Yes, I'm aware of Toontown online, and also Pirates of the Caribbean online (I even installed both of them and played a little bit). That's why I say it doesn't really look... complete. They had quite a lot of glitches (although that could be related to my system's hardware)

Python-ogre is still Ogre: chaotic. And Ogre is a graphic engine, not exactly a game engine. You have to add sound, control, networking... Right, there are some third-party libraries, but that's a "mooore dependencies" problem.

Soya3d seems to be a little bit green, right?

I guess I should give Panda3D an opportunity :)

Panda is pretty complete. Inputs, sounds, networking and ODE physics (as of 1.5.3, windows builds coming soon) are integrated. You can write shaders using CG or let panda build shaders for glow/gloss/normal maps. The documentation is incomplete in some places but thats mostly in the more obscure bits of the engine.

The community is small but forum activity is pretty healthy, questions get answered really quickly. There is a Disney panda developer on hand when there are questions on the more obscure engine questions. Pipeline wise, blender support is pretty good although its unofficial. A collada importer is also on the way.

A weakness might be in the portability, theres no official mac builds yet although it has been compiled on the mac. Work is under way to make an official package for the mac though, its hoped to be online for the 1.6.0 release. It's also quite a large download for a dependency. There are some experiments with a distribution meant just for playing games made with panda but nothing official yet. On windows its also possible to package your game with py2exe and UPX the dll's down to ~10 mbs.

So yeah, basically its a good all around engine, give it a go, its pretty easy to get into.

python-ogre is good, i've been a fan of ogre for a while (made by people who want to make a simple graphics engine that looks great). if your willing to learn how to use each library on its own rather than going down the panda3d 'do everything for you' route its a very powerful tool.
I think I'll spend more time with Panda3D, and if it finally doesn't suit my needs (it doesn't support lightmaps!) I'll check Python-ogre (once again) :)

I guess the trick is 'do something with it', like I did with Pyglet.
python-ogre has everything you need, so in a sense, it would be your only dependancy. Some could say it comes with too much :) It is still not a very good cross-platform solution, although now they are working on getting it into ubuntu which would be a nice start. But on windows it is definitely complete. And the graphics engine itself, ogre, is top-notch. It has been used for more commercial games than I think any other open source engine.
It's not explicitly stated in the manual but you can do lightmaps in Panda.
Yes, ZeroByte, I've been surfing the forums and I also found that solution. I should try that with a complex scene! At least it seems to be an issue of the .egg exporter in 3DStudio. Apparently, Maya is able to export lightmaps for Panda3D :m

In relation to "cross-plaforming", Panda3D wins right now. I guess I'll start with this one and have a look from time to time on Python-ogre (even though this one has a more professional look).

Thanks!