General questions (Physics, Panda3D on the web, ..)

Hello folks

After using Panda3D off and on for testing with 3D and all, I wanted to set up a project to work on.
I have always been a big fan of the RealmCrafter project, but that project seems near dead. (It’s an application to create MMORPG games). So I want to create a very slimmed down version of that.

  1. What physics engine should one use for creating RPG like games? Built-in, ODE, Bullet or PhysX?

  2. I would like to embed a Panda3D screen in another application (a http://xojo.com/ application. That’s not so common to do, so I read a little bit about the panda3D plugin for the browser. This way I could embed a panda3D screen in a HTLMviewer and put it in my application. I could inject javascript to alter the scene. The question is, how well maintained is the browser plugin? I saw something about a webgl version of Panda3D. Is that going to replace the browser plugin?

Thank you for the insights!

  1. I haven’t done much with physics in panda yet, but I believe either Bullet or ODE are a good choice. I’m not too sure about PhysX, but AFAIK it only runs on nvidia cards? So you would have to use something different on amd cards.

  2. That sounds like a bad solution, it would most likely slow down the performance by a lot. Panda has an option to render into existing GUIs using a pointer, maybe the framework provides something like that? An option would also be to use some kind of OpenGL widget into that application, and make Panda draw to it. I have never used the framework you intend to use, but It might be worth looking for such functionality.

Hello

Thanks for the feedback!
I will look into ODE vs Bullet!

I will look into that pointer system, because Xojo can handle that. (Also, the Panda3D embedding is only in the editor, only some kind of ‘Preview’ window.) The games produced will be 100% Panda3D with Python.

Are there any docs on embedding in 3rd Party frameworks? I really cannot find a lot on that topic.

Thank you

I don’t think there is any documentation for it (at least I dind’t find it?), however this links might be a good start:
https://discourse.panda3d.org/t/panda-in-pyqt/3964/1]
[url]http://nishantdania.github.io/gsoc/update/2014/05/20/interfacing-panda3d-and-pyqt.html

They are related to PyQT, however they also use a pointer.

Is there any reason you want to use this specific framework? PyQT works quite nicely, and its easier to use with Panda3D I believe.

For physics, Bullet is the best choice. However, consider whether you really need a physics engine, or whether a simple collision system (like Panda’s) will do. Many kinds of RPG games will not benefit from a full-blown physics engine, and this will incur a significant extra amount of effort and time to implement.

You could embed the browser plug-in in an HTML view, but I’m not really sure if it’s the best solution. A better way to embed Panda into another program is by getting the underlying system-specific window-handle (HWND on Windows) from the program, and then telling Panda3D to parent its window to this handle. This has been done successfully to embed a Panda3D window inside a window created by another toolkit.