What should get top priority from this list of Panda3D Futures?
Building a Community
Support for Consoles (Xbox 360, Wii, PS3, etc.)
Networking Support - OTP (Online Theme Park) server
Architectural Issues
Not Enough Tools
Incomplete Documentation
0voters
In October 2008, representative faculty from the Entertainment Technology Center at Carnegie Mellon University and a number of key personnel from Disney who historically have been the key players in Panda3D development through the years held a conference call and then follow-up emails to discuss the “State of Panda3D” and what problems/issues are currently slowing Panda3D from becoming more widely adopted and successfully used, and in general what needs to be addressed to make it the open source 3D game engine of choice for future work. These notes reflect those conversations, and close with a poll to gauge community interest and prioritization on the problems and issues that face our community. Six are listed here:
Building a Community
[list]Lack of tools (see below for expansion)
Incomplete documentation (see below for expansion)
Perception of slowness (“Python == slowâ€
I think it depends somewhat on who the target audience is. Professional programmers and content creators could probably get along with the existing tools and docs. However, as Panda3D attracts more new Python programmers and wannabe game designers with little to no experience, documentation and content creation tools will become more necessary and critical.
I think Irrlicht has done very well with both docs and tools. Before creating IrrEdit and IrrKlang, along with a detailed and accurate API doc, the same questions were posted continually on the Irrlicht forums. It generated a somewhat unfriendly atmosphere for new programmers because the more experienced ones (who were inclined to help in the first place) were constantly answering the same questions and it became frustrating.
I totally agree about most points.
In my opinion, the thing that most needs attention is have some awesome demos to show. Get those cartoonish-looking samples out and replace them with something more awesome-looking. (related thread)
The demos are what gives the first impression to people. The first impression of an engine is essential, so we need to present the engine well. Very important is also a scene editor.
Also, the Shader Generator is a great thing in Panda, but it doesn’t support a lot of things the fixed pipeline does. It would be great to see it improve and eventually support everything from the fixed-function pipeline.
Also what needs more attention is the manual. (a related thread) There’s a lot of documentation there, but there are still lots of features that remain undocumented. The community does a great job in updating the manual with more documentation, although there is still alot more to do. Also, I think having C++ samples and more C++ stuff on the manual is essential, except just Python stuff.
[quote=“MikeC”]
API reference thin (many “Undocumentedâ€
generic scene editor is the most-requested tool from new users (sure it might not be that neccessary since you can write your own one.). but in the end it helps people to just get started without much hazzle and get their work done.
second reson is occlusion culling and the interactive optimizer,this will help with performance especially for less experienced users. occlusion culling is pretty nice for optimizing mixed scenes.
about the multiplatformness. hey come on. it already IS multiplatform. i know maintaining it takes a lot of work. but why throw away all the previously done work?
i used panda under linux in several priojects , some for money.
now that mac support is ready ,it would be even worse dropping crossplatform support.
#1 - Building community is most important. Community fixes all problems.
I also want to add marketing. This is some thing we do badly. Marketing for computer programmers mostly includes writing blogs and tutorails and submiting them to proper places, wiring cool programs and have people talk about them, and having a presentalbe site with cool pictures and decent search funcion. Things there should be a place to put a link to your panda3d project on the panda3d site. p3dp.com tried to give hosting to panda3d developers and stuff but for some reason it did not take off. Mayber also holding panda 3d competions to rase aweareness of the project. People for who panda3d is ideal choice dont use it simply because they dont know about it.
Voted for #6. I’m very new to Panda, so I might have a different perspective.
In the reference documentation, classes written in C++ often lack some information concerning it’s usage in python (e.g. constructors); the overloaded operators - like [] - seem fo be C++ only (at least the few examples I’ve tried out). Maybe I’m just not understanding it right, but then making such things obvious could be another place of optimization
In other parts I feel the wrappers to be a bit un-pythonic; often generators (, getitem, setitem, …) would feel more natural to a python coder. Maybe they are there, but then I don’t know where to look.
I’m not new to programming, so I think I’m getting the hang of Panda pretty quickly, but I would have wished the tutorial to include things like events, directgui, maybe the terrain generator - or, alternatively, more explanation text for the samples. Esp. Roaming Ralph seems to be interesting for a lot of people, yet understanding the code can be challenging for a new coder.
To me it would be a toss up between networking support (with a working example) and console support.
I do realize that some people scream for the most bleeding-edge technology available, but I think that eye-candy should be around the bottom of the priority list. But hey, that’s just me.
In my opinion Panda3D in tools is waaaaay better than other engines. For starters others do not have installers. It would be nice to integrate chicken but anyway at tools Panda is way better.
The graphics are really cool, I like this cartoon style graphics and is pretty much one of the main reason I’m here. Lots of great games have this graphics. So if you want examples with better graphics please do not delete this ones, it may be others who will like them.
As for the documentation lots of Panda3D users (including me) are working on some documentation.
So it would be nice for support for video games. But I’m not talking for Nintendo or other CD(DVD)-less consoles, i’m referring to Playstation. It would be nice for Panda3D users to have an exe tool that could convert their Panda PC-games to PS-games so that could make their games available for PS too. So I voted for 2!
I voted #1. I think the most important thing lacking is the awesome demo, but it has to come from the community. The demo should be a complete game: good looking and nice to play, while a beginner can use it as a base to learn panda and start making his/her own game.
I joined this project about 2 years ago and soon leave it because the lack of a blender exporter and then I went around to see if there was something better and now I’m back again finding that that exporter now is here and working so to me P3D today is the better choice.
Obviously if there was a BSP scene editor and better sample code with more P3D feature coverage would be great, but now I feel P3D a substantial awesome project with the right ‘vision’ for me. But, even if you always find fast a competent help in this forum, the lack of a better documentation is not an issue if P3D want to raise the stakes; this is why I voted that.
I totally disagree with you, the last Panda3D “Hello World” program would not be easy to understand with all the task and camera and object movers. If you do want to make a “Hello World” Panda3D program like a game then it is best to expand it but one step at a time. Like the new software should include the text, the a new one that should include inputs (mouse or keyboards). You know what, it is a great idea and I will be working on it the next days.
I voted architectural issues but thinking about it, I really think community building is more important. I think we already have a very friendly community but it would be nice to lower the barrier for participation in the community. One thing that might be worth looking at is making the manual look like a wiki again. The general internet community is quite used to wiki’s right now and lowering the perceived barrier to participation in editing the manual could help bring in more community members.
I also think that the current community could be expanded by having the disney devs/CMU guys participate in the forums. Having David around is great but I’d like to see more of the team that is behind this engine. I know it’s not really part of their jobs to participate in the community but I think other devs that get paid to work on open source projects do talk to their respective communities. I mean, open source is basically about groups of people working together to make something awesome but it really feels like the community is isolated from the programming team that works on this engine.
I guess there is already an internal system for the panda devs in disney but I think it would be great if the panda blueprints were used by both community and the main devs. It could cut down on duplication and some of the ideas could be simple to implement but useful for disney’s own use down the road. It could also help the community understand disney’s priorities with the engine so that the community could put more effort on things that are important to them.
Anyhow, my two cents. Thanks to MikeC from CMU for taking the time to come to the forums to ask the community about what panda needs, it would be great to have more interactions like this in the future.
I think we completely agree : the demo should be well documented and easy to expand/change step by step. Also, I think that properly using OO can abstract away a lot of the complexity a beginner may not want to see yet.
Many people who create free games use an existing games as a starting point: they make a mod. They often pick a commercial engine, like the unreal engine, because they have played a game with it that is good looking and fun. They can slowly change one thing at a time and still have a nice, playable game at each step of the way.
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…
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
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).