Active Developers?

I’m looking at adding some features I want to Panda, and to avoid duplicating effort I’d like to get a sense of who else is working on it at the moment. I’ve looked at the launchpad site, as well as browsing CVS commits, but things seem fairly quiet. Please raise your hand if you’re out there!

As a somewhat broader question, what’s the current state of project management? Is CMU’s ETC still working with/actively involved at all? Is Disney? Is there a plan for future development, and if so is there anyone responsible for driving it forward?

I’d also like to get a sense of the active user base. Anyone using Panda want to say hello? (PM is fine)

–jonah

The userbase is there and active as you can tell from the forum activities. The development though has decreased over time. I know of two active developers and there are some contributions from others once a while.

Is development decrease because programmers cost/need money?

I guess we need try a donation system in P3D. The community supports your developers and everyone wins. P3D actually is the only decent 3D game engine in python (just to note python-ogre is discontinued and P3D are far far better than Blender GE).

There´s a lot of users of P3D, but few then can help with core development (me included :slight_smile:). Then the donation enter in scene.

Ogre3D and Blender live by donation. They can do it, why we cannot? No one wins with P3D development slow down.

Disney is still involved with Panda3D development. Panda development may not be as active as it once was, but there are still commits every week:
cia.vc/stats/project/panda3d

It wouldn’t hurt having a donation system, but just money wouldn’t solve anything. There have been suggestions for a ransom model system, one where people are paid for implementing features, which sounds like a good idea to me - but we would also need to do the necessary mentoring to help people get familiar with the Panda codebase.

The ransom system sounds like a great idea. I know there are a couple bugs/quirks we would gladly pay to have fixed. I’ve been getting a bit more familiar working with Panda’s C++ code recently, but I have no extra time in my schedule to spend fixing them.

Maybe the tutors can be the feature/micro-project lead, and be paid too. Something like GoS in local scale. With time this can grow to a P3D development/feature manual or else. Off course this demand time and i guess only core developers can do that … and if core developers do that, who´s developing the system? Seems a chicken/egg problem … but is not! Because core developers still … keep developing, but not “alone”.
I agree money don´t solve all things. It depends if core developers have free-time/cheer/and-all-things-that-live-demands-to-satisfaction to do this. It´s is a lot of work :wink:

In my opinion the usual document on coding conventions/style and codebase structure should be enough for donators.

Isn’t there one already?

My thoughts on Panda3D and it’s development are really simple.

I love Panda3D because I love to just write some code and run it. No silly IDEs, no applications/environments to learn, just code.

…BUT…

I’m being pulled away from Panda simply because of the lack of mobile support. I have a project on the go presently that must run on Android/iOS as well as Mac/Linux/Windows.

It’s such a shame, but I fear if the Panda3D project doesn’t get a big kick start/finance/development push… it’s gonna become a dead duck fairly soon.

Hope I’m wrong!

Cheers,
Gary

I heartily encourage anyone who is concerned about the longevity of Panda3D to help increase its longevity by contributing to development of Panda3D itself. This engine doesn’t write itself. :slight_smile:

David

Is there any sort of road map / long term plan for Panda development? I know there are blueprints of features on Launchpad, but I mean in a more broad sense.

Should Panda be kept as a general programmer’s tool that handles the low-level tasks like rendering and sound, or is there a real interest in evolving it into more of a game creation suite (engine plus tools) like Unity?

Is the focus more on fixing bugs and improving the existing functionality and stability, or trying to add more cutting edge technology and graphics features?

Do we integrate third party libraries to add functionality like AI, or write new systems from scratch?

We have some ambitious plans to overhaul parts of the engine to make the pipeline friendlier for artists, such as a new node-based shader pipeline and an FX rendering pipeline.

We do focus on implementing major new features, the main problem is that we don’t have enough developers.

Whether we use a third-party library for something or not is decided on a case-by-case basis.

Yeah, I’d love to add a higher-level suite of tools like Unity’s, and there have been a few attempts at this over the years; but the limiting factor has always been manpower.

A handful of volunteers have stepped forward from time to time with an interest in contributing to Panda3D code (and maintaining those contributions), but not nearly enough volunteers to support all these ambitious wishes.

David

I see people are working on similar sorts of higher-level tools, but it is not a concerted effort, so usually those tools die out when the person who developed it loses interest. We have seen this with things like exporters too.

As developers and users, maybe we can discuss which features would be most beneficial, and which are just “would be nice” or “maybe someone will use it” sort of features. For example it is obvious that a lot of work went into the Panda AI, but I’m not sure if anyone actually uses it.

My personal view is that I would like to see many of the bugs and inconsistencies between libraries be fixed. For example missing functionality in DirectX vs OpenGL, or GLSL shaders vs Cg shaders.

We have four different physics systems with varying levels of features and interfaces, and supporting all of those in a higher-level suite is probably going to pose a problem unless they are unified under an inherited class structure similar to how the rendering and audio libraries are fully interchangeable.

I agree.

I would rather see ODE and the internal system deprecated and slowly phased out. I like both of them, but they can’t compete with Bullet, which is more robust, more complete, much faster and a lot easier to use. I don’t think having official support for more than one physics engine makes sense in the long run. Especially since Panda does lack manpower.

This lack is one of the reasons I started wrapping my head around C++, but some time will pass before I’m of any use in this matter… :confused:

The way I understand it, it was a student project, so its main purpose was not necessarily for people to actually use it. With PandaAI being limited to a very simplistic 2-dimensional graph, it just doesn’t make much sense outside simple tech demos.

Recast would be a much more reasonable option for actual use. It lacks documentation and so on, but it has incredible power. It’s like the Bullet of AI. But we all know that. I’d like to integrate Recast and Detour as a part of my editor project, but I’m not sure how it will work.

As far as inconsistencies between D3D/OGL or GLSL/Cg, I can’t say I really care about them that much. I would prefer work to focus on OpenGL, because it’s multiplatform, and Cg, because it already works well, rather than trying to bring D3D up to speed – because the way I understand it, D3D backend is simply lacking, right? I’m probably biased because I’m a Linux user, but if you have an engine that’s supported on 3 platforms, why waste time on something that only works on one of them?

Speaking about features, I wonder what happened to the project someone was working to add support for 32bpc float textures. Was this effort of any success, or did it just die?

Also, I think something like a per-project donation system would be useful. Something like out own little kickstarter where people could support the specific community projects and efforts. On many occasions users wrote that they would pay to have something done or added. Why not allow them to? Obviously, someone would have to set the whole thing up, which is where we’re back to the lack of manpower ;D. Plus, with most of us being C++ illiterate, we wouldn’t be able to add requested stuff in a proper way and reasonable time even if we got payed a million $.

I don’t want it to sound like I’m suggesting money solves problems (actually, I think it creates them, but that’s a different topic), but it certainly helps get people to sit on their asses for 8 hours a day working on Panda :wink:.

I think that there is a difference between libraries for rendering or audio, and libraries for physics or AI. The former are “fire and forget” from the viewpoint of your application, while the later have severe impact on your application code.

When rendering you simply load an asset, maybe teak it’s properties a bit, and then pass it to the rendering/audio system. Ok, it might look a bit different if rendered using OpenGL or DirectX, but you game code doesn’t matter how it is rendered.

AI or physics are way more complex. They need to talk back with your code. And it does matter for your game if you get collisions between two objects, or how a character moves.

Unifying physics/collision under one facade has been something which kept my mind busy for a long time now. but so far i did not have the one brilliant idea. However, I am sure that it involves separating physics data (collision geometry, …) from the engine-specific code, and that it means to kick out the native collision system, which does have severe influence on the current scene graph code. Therefor I opted to provide “add on” modules, which do not break existing features. So far :slight_smile: