The current situation of the Panda3D engine...

I actually think Panda has been seeing stronger and more significant growth in the past few years than during most of its development period. You make some valid points, which I will briefly address, but I disagree with your conclusions and the overarching perception that leads you to those. But I appreciate that you do bring some important issues to light.

Very true. This is something people are actively working on though. Last year we gained a WebGL port, which today runs quite well both in the browser and on all mobile platforms.
Still, weighing against that, I think it is reasonable for Panda to try not to spread its efforts too thinly. It’s better to be a good engine on a few platforms than a mediocre engine on many. So this would not be my first choice of priority.

I don’t think this is true. Not sure about Xbox, but last time I checked a PS4 licence costs thousands of dollars and they only hand out devkits to companies they partner with.
Aside from that, there’s been very little clamour in the Panda3D community about this, so I disagree about this being an important priority.

I would point out that since 1.5.0 Panda has shipped with the shader generator and the filter manager, which has allowed people to do various graphical effects without writing shaders. (It’s still receiving updates; earlier this year it received support for hardware vertex animation, and it may soon receive support for PBR out of the box.) But I would be missing the bigger issue I see in this point.

I guess the core of the matter is that Panda3D is not Unity or UDK. It probably couldn’t be if it wanted to be because Panda3D doesn’t have a giant team of paid full-time developers. Panda3D excels at what it purports to be though; a framework targeting programmers, offering a robust and mature codebase for them to develop games, simulations and engines on top of, and it remains as viable an framework as any for these purposes. Even today there are several software giants using Panda3D for simulation and prototyping.
Panda3D has a comfortable niche; while I’m certainly not trying to argue against improving Panda3D or broadening its user base, I do not see the doom you foretell.

If you want to get pretty shaders out of the box, the RenderPipeline is designed exactly for that. A lot of people get started with Panda using the RenderPipeline and get great results quickly without writing a line of shader code. I highly suggest you check it out.

Anyway, it may seem that I’m trying to side-step around the point you’re making, but I definitely do agree that Panda3D could be doing a better job at offering better shaders out of the box for people to get started with quickly. It’s an active development focus. Just recently Panda gained support for PBR materials, and all the tooling has been updated for it now as well, and now that most of the underlying stuff is here, adding the standard shaders is high on the roadmap.

This is actively being worked on. One of the relevant projects: github.com/Moguri/BlenderPanda

I think this perception reflects some communication issues on the part of the developers. Panda3D has moved forward tremendously since 1.9 release, but the recent releases have all been bugfix releases, which have not included the new features. There have also been no blog posts announcing all the awesome changes that have been made to the master repository in the meantime. So, I can appreciate that without hanging out in IRC or following the GitHub commit logs, it may seem that development is fairly stagnant.

Statistics show, however, that development has been steady if not increasing over the past couple of years:

And that’s not counting all the projects that have recently sprung up to improve Panda3D tooling, or the work that has been done on other branches to create WebGL port, and to add a Vulkan renderer to Panda.

And one only needs to look at the commit log to see the massive amount of changes that are between 1.9.2 and the latest master version to see that development is most certainly not stagnant:
github.com/panda3d/panda3d/comp … 2…master

We should absolutely be doing a better job of communicating what’s happening, and what the current foci of development are.

Massively. Panda3D has moved at lighting pace in the last 5 years in terms of rendering features. The vast majority of modern OpenGL rendering techniques are supported today, whereas Panda3D was massively trailing behind 5 years ago. Have you seen RenderPipeline screenshots of late? There’s a reason the pipeline always runs on the bleeding edge of Panda3D.

Any stats to back this up? My perception is that the community is growing at the moment. We just recently passed 500 stars and 173 forks on GitHub, even though we’ve only been on GitHub for a year and a half. Another game using Panda just came out on Steam as well. And personally, I’m seeing a lot of new people gain interest and become involved with Panda3D.

I certainly don’t want to say that there aren’t ways Panda can improve to be more accessible, and we should find these ways and pursue them. One of the ways I think we can improve is to improve our tooling, to make Panda3D friendlier for artists to use, which is something Panda3D historically has been lacking in.

About Godot: Godot’s a great engine, although it has its quirks. It’s somewhat similar to Panda in its design, and I would certainly recommend it over Panda3D for 2-D games and perhaps also mobile games.
Its 3-D rendering engine is unfortunately vastly inferior to Panda3D due to targeting OpenGL ES, so it is not a way out for people who are using Panda3D (or the RenderPipeline) because of its advanced graphics capabilities. I am told they mean to address this, but Panda3D allows you to use state-of-the-art graphics today, rather than it being a promise of the future.

I absolutely agree. Might I suggest that we do this not by using colourful rhetoric and inventing scary words such as “semi-abandonware”? I fear you may otherwise risk ruffling some feathers among people who actively contribute to the engine, as well as scare off people who may otherwise have contributed. We need reasoned discourse more than anything, not FUD.

I would encourage you to contribute, even if not by developing, but then by helping to shape the development foci for Panda3D by talking to developers on IRC, communicating with users, writing blog posts and manual pages, and contributing to design proposals such as this one, which you may appreciate in particular. That would do far more good for the future of Panda3D than this thread title, I reckon. :slight_smile:

1 Like