Panda3D Futures

Hello,

I voted for the network support.

Panda have all the brick for a complete game engine but the network support.

We maybe not have the best graphic engine nor the best too nor the … but we have a consistent package that allows to do more and faster that most other game engine…

Please don’t drop the Linux support :slight_smile:

Just my $.02, there’s another minority user audience besides commercial game development, hobbyists/students, and academic researchers - artists, in the new media/electronic/interactive art fields. What TaleOfTales calls “RealTime Art”. I see this group as having overlapping but slightly different needs from the other groups:

  • low learning curve (check!) and good documentation with lots of examples, including things not specifically game-oriented

  • cross platform: coming out of the art world, heavy Mac usage and, on the new media side, a decent amount of linux usage. Common applications involve custom, single-unit installations (for example, a VR setup in a gallery), rather than mass distribution/sale to users with diverse home platforms.

  • extensibility: common art applications make use of things that are often not that useful for games, like VR interfaces, custom interfaces, Arduino, pure data or other sound engines, camera vision like opencv, augmented reality, data visualization through mesh creation / manipulation, and so on…

I think the “Community” section is a big part of this - since it’s all open and python, a lot of this is stuff that can be community generated. So it’s maybe just a question of where it goes and how easy it is to find.

Although #1 seems to include most of the others, #6 was the most important of those to me.

I think a great deal of people want to see new features without even knowing all of the possibilities currently available. Or will request things that are already possible because it’s not clear how to go about it.

The simple fact is, the more documentation/tutorials, the better off the community is. It will weed out some of the more basic answers, get people learning faster and more completely, so they’re able to answer questions rather than having to keep asking them. The greater understanding of the engine will help things like bug submissions (more people working at a higher level of complexity with the engine, you see), and quite possibly have a better understanding on how to go about fixing them, and all around streamlining the evolution of the engine and the games that are made with it.

Sorry for the rant, but this is something I feel very strongly about. Some of the greatest potential for software, be it a programming language, a game engine, etc., has been squandered by lack of documentation.

This is not to say that the current Panda documentation is bad; it certainly is not. It’s a fantastic start, but refining it and filling in its gaps would make things that much better for the community, and thus the engine itself.

I think building up the community should be the #1 priority.

The availability of documentation and tool development are closely tied to this. I evaluated quite a few engines before settling on Panda3d. What really convinced me to select this engine was the fast response time on questions online from david, treeform and the rest of the folks on this forum. I can live with a somewhat cryptic manual if it can be supplemented with the walking, talking online panda3d manuals :wink:

Secondly, there is a perception in this industry that python is inherently slow. I use python and lua as embedded script engines in real time products like set top boxes. It is really hard to convince people that scripting can make their development cycles fast and more bug free. They have to see it before they are willing to consider them as viable development tools. New panda demos should emphasize the power of python scripting to create powerful 3d sims.

for me, the most important features of panda3d are:

  • linux / osx / windows support
    there are a lot of engines out there that do a good job on a single platform, but there is no engine like panda3d. I see panda3d as a good tool for learning & art platform, many students eigther have a mac or a pc, so dropping one of these is a bad idea. also i think panda3d is a good tool for indie development, finding a userbase under linux or osx is easier and thus supporting them is very important to me.

  • python support / easy of use
    while panda3d already does a good job, having python as scripting language. it’s ease of use should be empathized even more. dropping things that might be useful for the engine but not for the user would be good (like Vec3D). Making panda more pythonic, more bug resistant.

In my opinion Panda3d is the WII in a world of 360’s and PS’s. It doesnt really need to focus on 3d graphics, it does it quite nice already. Making the existing stuff bug-free is much more important to me (on all platforms). Like OpenAl, having examples showing the usage of all existing features (OpenAL, VRToolkit…)

Better tools is also another thing i’d like to see (and which i am working on myself).

just my 2 cents :wink:

I voted for the community. Helping fellows may compensate somehow for other lacking features but that’s not true viceversa.

Also, exporters importance is a bit underrated IMHO. As far as I know, maya exporter is ok, as I think it’s supported by panda, but blender modellers depends on chicken for the whole thing to work. (Great work Daniel btw)

I think chicken should be part of panda and thus it would be needed to be further developed in a constant and frequent basis.

About the demos, I thought they were cool enough until I’ve saw what can be done with just a bit of revamping. I always have missed a casting shadows feature, though. (and maybe a network sample too)

This post almost got away from me since I wanted to voice my own opinions. Take them for what they’re worth, which is about $0.001.

I know I’m relatively new here, but quite eager to help in some areas. The community, though seeming somewhat small, has been friendly and supportive. Many programming-related forums and projects aren’t nearly as nice.

That said, I voted for Community since it was first and foremost important to me. Having a strong community of not only users but active contributors to code or feedback will eventually work its way up the chain to solving most of the other issues listed, as evidenced by the CHM help file output (thread).

Just from that the documentation has become more accessible and portable, and can be kept in sync with the source release system.

Killing Tk: Tk going the way of the dodo bird…I would also like to recommend it go as well. Most of the stuff I have been posting has been using wxPython, which I know is one of the contenders in consideration as a replacement.

Cross-platform portability with this package is almost a non-issue (there’s a few small things with OS X compatibility) but the fact that it utilizes the native window manager’s rendering for GUI controls makes it an even stronger candidate for inclusion. In my opinion it satisfies the requirements for use as a replacement.

Console support: This is the one thing that I think is unrealistic to expect, and I say that only as a developer who has looked into making something for those types of systems in the past. Since they are proprietary in nature, the game/development kits require stamped approval from the company (and boatloads of money) prior to even being handed access to any of the underlying dev tools required to compile code for that system.

While I can understand their thinking from a business perspective, it does break my heart to think they don’t officially support any homebrewing on their systems. That would include Sony, Microsoft, and Nintendo.

EDIT: I did forget that Microsoft does have XNA, but that may not lend itself to porting Panda to it. There is still some cost involved IIRC with putting your games up on XBox Live for download.

Cross-platform: I think Windows, Linux, and OS X cross-platform compatibility is something that P3D shouldn’t give up unless it is absolutely necessary. Being able to make a 3D game in Python with Panda and then distributing it to run on those 3 major platforms is a miracle, when most major game houses tie themselves strictly to Windows and don’t even bother with a port to the other ones simply because the time to do so with their DirectX-native code would be monetarily infeasible.

Demo Game: Panda has a good organizational structure for its demos: Beginner, Intermediate, and Advanced. Each demo covers one specific area of knowledge and does it fairly well.

I think a complete game would be something like an “end of the road” objective for the novice but also worth the effort to create. As in, an initiate developer would still follow the examples that exist right now and build up to a full-fledged, complete game at the “Advanced” stage.

I’d love to make one and donate it to the project for inclusion, and I even have a good idea for a game that would utilize all of the features in Panda that are possible.

The only problems that I would have are the same ones that any developer would have, which is the confluence of skills other than programming (graphics/textures, model creation, sound design, etc.) For something like this to truly shine and show off the features of Panda, it would most likely have to be a group project with the understanding that the code, assets, everything would be donated.

Not Enough Tools: Most of my own posts as you’ve probably seen have been geared around the end-of-development-cycle tools. A system as complex as Panda definitely would benefit from more tools that make those complex tasks easier to perform and in a friendly and easy manner. Otherwise there would be no point for them to exist. Call me crazy, that’s just my own idea of how software should work: easy to learn, easy to use, easy to maintain.

Incomplete Documentation: I think this one is getting there. With more eyeballs from the community looking it over, a complete documentation set from one release to the next is possible. If the Python and PHP communities can do it, then we can.

Networking Support - OTP (Online Theme Park) server: I really don’t have much of an opinion about this, other than somebody will have to pay for the equipment, hosting, bandwidth, etc., for something like this if it’s what I’m thinking it is.

Anways, thanks for reading. Take it all with a grain of halite.

I wish to post some comments about the topic.

  • give up multiplatformness, no way!
    Usually when people talk about “one platform”, they are talking about Windows. As far as I am concern, there are many Linux users, and a reasonable number of Mac users. I agree with all arguments given previously by other users supporting a multi-platform Panda. In addition to the topic, in the first page of the manual, two topics are mentioned to describe Panda’s main goals, commercial and educational. Focusing on educational, in my opinion, education is straight link with democracy, in this sense, a cross-platform software is extremely important.

  • Incomplete documentation
    Unfortunaly, this seems to be a issue for all free engines I know… IrrLicht, Ogre, CristalSpace( in particular =P )… so make a good effort in order to complete the topics already published, and create other topics, would set Panda apart from other engines, at least in this point.

  • Not enough tools
    The Blender Institute achieved really good results in software development, with that projects like ElephantDream, BuckBunny and YoFrankie. I know, i know… that Blender has a much bigger community than Panda, but definitely they are a good example, to be study and followed.

I realize this is a dead topic, but I believe that networking should be further developed.
my reason for thinking this is that panda has everything else. we should be consistent and we either need the OTP server, or we need to develop our own, this would make it much easier to get an mmo or even a morpg up and running.

can we get Disney to release the code to the server?
just a further thought.

or perhaps we can further integrate Darkstar/RedDwarf into panda, with decent documentation. ideally this would work similarly to the distributed object system.

Well, if we are going to necromance threads… lol

As a newcomer and a community outsider, there are a few problems I’ve been able to note so far in my stay:

Panda’s Image

“Cartoons? Really? It must be a crap engine” or “it looks pathetic” are the kind of responses I’ve gotten from my team while I’ve been fighting for us using Panda. I thought the same thing, which is why I posted this thread. People judge quickly, and need to be hooked immediately. The site’s ought to be more appealing and should downplay Python, and up-play that Panda is easy to use. Mention C++ first, and then Python later when they are salivating to use Panda. Honestly, without that awesome manual Panda has, I doubt I’d have ever joined the forum.

I’ve done enough playing around now that I’m personally satisfied with the engine’s abilities. You have an engine that works on par with Ogre, but with an entire framework, and easy to work with through python. But there isn’t much here that really show’s what the engine can really do. Panda needs more artists working on projects and demos that give Panda’s image more “flash” so it gets taken more seriously. Which brings me to…

Panda’s Community

True, the IRC has 30 people but there is rarely much chatter in there. The people there are quite helpful when you ask a question. It’s all business. There is very little sense of community. The more people feel connected, they more they talk, and the more people will stick around, rather than just join the channel and leave without speaking. And as far as the forum, this thread is 2 years old, but for an opinion thread, it’s only 1 page so far! And the bigger the community using Panda, the more Youtube videos, blogs, articles, and info will be out there to attract even more people. Panda needs more people! :stuck_out_tongue:

Panda’s Tools

Someone earlier in the thread said panda has very nice tools. That may be true for a python or C++ coder, but the CMU Scene Editor is problematic, and the newer Level Editor doesn’t work right out of the box, and there is apparently no update in sight. To someone like me that’s pretty much a deal breaker. That editor sounds nice, but what good is it if I can’t use it? And while technically something like PView is passable, tell that to a straight-up artist who want’s nothing to do with that kind of interface. Artists need good tools that are clean, functional, don’t break or create broken files when they use them. I’m a rare exception where I can put up with such hassles, and find ways to fix them. Most artist’s aren’t like that in my experience. Any one of those problems stops the pipeline flow, which is an enormous problem for any serious production.

The biggest reason Unity3D has as much traction as it does is, well, obviously money, but also great tools that are really nice to work with on the asset side of things. I realize that it would be a huge project to create something on that level. But seriously, Neo Axis has tools (that an artist could actually use) that kick the crap out of Panda’s. And notice how they also have more “flash” (which wasn’t the case 2 years ago). And that engine was developed by a couple of guys.

So to boil this all down, and put it very simply: Panda is clearly in a vicious cycle.

Artists -> “Flash, or WOW” -> More Community -> More Programmers -> Easier Tools -> More Artists.

The posts in this forum pretty much show there is a high turn-over rate. Newcomers show up, get frustrated and don’t come back.

All of those points need to be countered in order to really give Panda a bright future, and get more users. But the most immediate one is Panda’s image. You have a great engine which everyone thinks sucks.

My advice: (to both disney and the community)

Change the site, and start a community initiative project to make better, more attractive demos.

Although keep the manual, that thing is awesome. That’s what made me give Panda a chance.

Unfortunately it seems like the big contributor of tools and maintainers of the site are CMU (a school, so rather sporadic) and I get the impression that Disney’s dev team seems rather hands off. I don’t know whether they’d allow this site to be more community managed. And I know there is a shortage of C++ people willing to really muck with Panda’s core. Are there any other sites related to Panda? There are no links, and I can’t find anything in google.

It’s been 2 years since this thread was posted, and somehow I have the impression that aside from a site redesign, Panda hasn’t gotten far in breaking out. People like RDB manage to keep things moving along in the mean time. If Disney ever was, or still is serious about getting panda out there, it needs to at least consider what I’ve said.

This post is made with in the spirit of constructive criticism. I hope it does not come off as rude, or condescending. I just think it’s a waste seeing this engine not get more attention.

And yes, before asking anything like “well why don’t you help”, I would be happy to help with making models/textures for improved demo’s. But I’m not very good for Python work. :frowning:

While I can appreciate the thought and time taken to write this up, keep in mind that Panda3D is an engine, a tool for programmers to use.
It is up to the programmer to create an artist-friendly workflow for a specific project, and it is not possible to create one workflow that can work for all projects. Writing custom tools, an exporter with special game-specific features for example, is a drop in the bucket compared to an entire game project.
Any programmer worth their salt will consider the features list and API over “flashy” screenshots.
Also I couldn’t disagree more in regard to downplaying Python’s role, it is truly one of the engine’s best features.

Wow, well, I’ll chime in with enthusiastic agreement for most of julyfortoday’s points. I think Panda is underrepresented in the community for the excellent product that it is; and I agree that much of this is due to general perceptions that can and should be corrected.

While it’s true that it’s not possible to create one workflow that works for all projects, Unity does demonstrate that you can come pretty darn close. Frankly, Unity’s workflow for artists is astonishingly good. Remember, the iPhone didn’t offer any new capabilities that other smartphones hadn’t already been doing for years, and was in fact technically substandard in many ways; yet now nearly one quarter of all smartphones in the U.S. is an iPhone. The difference that made the iPhone successful was the excellence of its interface.

Panda’s interface is nice enough for programmers–I’d even boldly say it might be one of the best–but there are plenty of people who aren’t programmers, but who can do still do astonishing things with a tool like Unity. I say, they should be able to do that with Panda, too.

The other end of the debate is expanding the C++ accessibility of Panda. Here I agree too; and in fact I’ve been engaged recently in a vigorous debate with Gogg about the relative importance of improving friendliness to C++ developers vs. improving friendliness to artists. But regardless of the details, we can certainly agree that both are important, and I would go so far as to say they are both vitally important.

Panda can’t continue for much longer as a niche product. If it is to continue to exist at all, it has to develop its community beyond the existing handful of enthusiasts.

So, I agree wholesale. Let’s make Panda a showpiece, let’s make people come banging on our door to use it.

The only problem is, most of this effort will have to come from us, the existing community. Disney’s interest has always been selfish only–they’ve never had any interest in promoting Panda externally, and they’ve lately been reducing their investment even further (though they will continue to develop the technology quietly). CMU has been the force behind all of the Panda community support that you see before you today, and they continue to be supportive, but it is not clear how much help they can provide in the future.

So, that just leaves us. Who’s in?

David

Well Disney is not the only one with selfish interests. I can speak for myself that most of my time goes into my specific project, and any contribution I might make is a direct result of a need in my own project. I think many find themselves in the same situation. I can only hope when we announce and later release our product that it will help bring some attention to Panda.

If making Panda a showpiece is the goal, something like Unity’s new “boot camp” demo would fit the bill. It has barely enough gameplay to be called a game, sluggish controls, frame rate chugs, and full of bugs. But it does look pretty, and it showcases the engine’s features very well in one consolidated demo. Also I would suggest removing some of the student work screenshots. Although they show what is possible with a short period of time, the images representing Panda “at a glance” should be polished work only.

I have to disagree about the iPhone comparison, I would put it’s phenomenal success down to marketing. I don’t think that invalidates the point though. Making a full anything-goes toolset like Unity is a huge task, one that would require full-time developers and constant maintenance. Surely it has taken them years to get to the point they are at, and that is with paid employees thrown at it. I just don’t see it being possible any time soon.

Unity devs:

A lot of people.

Agree, after trying most of them. I wouldnt be here otherwise, I guess.

Well it will require to make a game bulder like Unity has…

What parts of the engnes arent accessible with C++?

I think if we had some artists who could replace the sample assets that would alone increase the number of users. The problem is that we don’t.

I would like to know how I could be helpful.

Well its good that youre being honest, but this hopefuly won’t result in a pressure from Disney.

How about porting Yo Frankie to Panda? (seriously)

Not really, Panda just needs one that actually works.
Here is a thread that lists 3 separate ‘world builders’. That’s not counting CMU’s apparently old one, even though the manual lists it like it’s the premier scene editor. That is the only one I can even get working. It might be because I use 1.7.0, but it works like crap. It saves broken files. After saving, I need to add 3 lines of python code to the file before it will work right. And the editor itself is broken. The new scene button doesn’t work, half the properties panels doen’t either. If it’s not the latest-greatest scene editor, than why is it still the only one on the site?

If we can consolidate 4 projects into ONE scene editor that can actually function, and maintain it to make sure it works with the SDK builds as they come out, we’d be in much better shape. Then hopefully after that we can get it to the level of Neo Axis’s editor, which isn’t nearly as slick as Unity’s, but it’s entirely functional.

Then THAT editor should be on the site, and easily locatable, or distributed with the SDK. And a good Python equivalent to Pview, with a more friendly GUI interface would go a long way too.

And I am not saying unity level stuff, and I’m not saying something that is ‘one size fits all’. A programmer could always make the right custom tools for a project. But a lot of the ‘little guys’ or people who would use Panda for now (beside Disney) are hobbyists and indie devs, and that is downright basic functionality for a pipeline.

Then more artists need to be attracted, but without reasonable tools that an artist can really use, it doesn’t happen. Like I said, it’s a vicious cycle. But Panda needs a push somewhere.

I personally am willing to help with modeling and texturing. We need a project thread, and maybe spruce up the whole Demo Master, and make a list of demos we need to show Panda’s capabilities. Any suggestions which section of the forum is most appropriate? General Discussion, Scripting, Showcase?

Hopefully we could do some sort of thing like Ogre where instead of 20 different little scripts you run, it can open a main script that can access all 20 from within the single program.

One major problems here is that we could make the most awesome demo the world had ever seen, but it won’t do us much good siting on the forum, like Demo Master. All the while the website still makes Panda look like it’s crap. Not to mention that it can be downright tricky to find where to download things like Demo Master. What would we have to do to get control of the website’s homepage and be able to display more fetching demos? And to make new demos and examples more accesible? Idk if Disney or CMU has control. But either the site needs to change, or Panda needs a fan site that can actually show this stuff.

I would love to be able to help further the engine, but I have no idea what i would do to help

It is great game engine to some newbie who interested to create a game. But it would be better tat if there has more tutorial about panda 3d by c++… so we can share our knowledge at here… ^^

Well, that’s an obvious place for people to contribute, then. Anyone interested in writing some more C++ tutorials?

David

As far as demos go I think Demomaster is about the slickest and prettiest set of demos for Panda, also lots of good example code in there though I wish he’d document his base framework a little better.

Networking, I think we may have to abandon the whole OTP / CMU distributed thing as most of us have nowhere we can site such a custom python server app. My ideas for FoxyWorlds concentrate instead on SQL database PHP for the serverside then constructing a Peer to peer version of the PyDatagram layer dynamically between the active clients. Unless somebody is willing to build a free OTP style server say at CMU I think building some sort of more practical “mom and pop” networking solution as I propose is the only real alternative.

If there was enough good documentation up about the CMU distributed implementation it still wouldn’t change the fact that most of us out here are “ballgagged” by dynamic IP addresses and no one could get to such a server even if we had it running on our home machines.

Level editors are another issue , I STILL have not gotten the ETC editor to run, nor am I sure why as I seem to have WX running ok. Probably just raid its guts for useful code to transplant Frankenstein style. It is all in all a better seeming editor than the old editor code thats STILL distributed with Panda, that was a total trainwreck especially the UI.

As to the whole TK, WX thing I think we need some sort of easy to use GUI built in from the start. I have read many posts by folks having trouble even getting WX up and running and the old Tk based Directtools stuff is just plain awful.

Personally I wish somebody with better C++ skills than I’ll EVER have could so totally integrate SQL Lite and Panda that searching the scenegraph updating objects responding to datagram messages demand load cacheing and so on could just be a totally seamless builtin thing for Panda.

[quote=“Anon”]
Unity devs:

This is a photo of Unity devs, where is the photo of Panda3D development team?