I choosed(?) panda3D to make my game, why and a question

I am only stopping by to say hi and a few words!

I started toying with panda3D about a year ago and really enjoyed it. Due to a lack of time I stopped developing my game for a long time.

Now, since this project of mine is important to me, I wanted to continue working on it. For a long time, I wondered if I should continue my game on panda3D or move to something else. Why? We must admit that, even tough active, the community is small. The risk of a small community is that if too much of the engine developers stop working on it, the project could shutdown and die. This is still what scares me the most.

So I started looking for other game engine.

For a while I tried making my own in C with OpenGL and GLFW, but I could see no end in front of me, and having only so much time available to work on my project, it got me discouraged. Also, I want to make a game, not an engine.

Engine like Unity 3d, being GUIed programmed don’t interest me. I toyed with Irrlicht, but the engine seemed less flexible. It’s wider platform compatibility was one of the thing that made my try it, but I didn’t really enjoy it. Moreover, the community is about the same size as panda3D.

In my heart I wanted to keep working with panda3D, but I feared that it could die after a few year, leaving me empty handed and having to start looking for a new game engine. But then I realized that it is probably the main problem that keep people away from it. After pondering about what I should do for a long time, I remember how satisfying was making my game with panda3D. I tough “but it’s not as cross platform than other engine” and remembered how I hate playing game on a tablet, so this is no big deal :smiley:.

All that to say that I am seriously considering adding myself to the pool of panda3D user.

Am I missing something to consider? Is panda3D still an up to date game engine? Are my fear real or not?

I am aware that I am not the first one to ask these thing, but now that we are in 2016, what are your opinion on the subject.

One last thing: Who have control of the web page? Some quick updating would make it so much more appealing that the current one… Any picture from tobspr’s youtube channel would do (his work is amazing). It’s a job of 5 minutes and I am certain that it would greatly help.

Many thanks to you all, keep the good work and I am eager to share with you whatever will come out of it!

PS: excuse my poor english grammar, I’m not a native speaker/writer.

I would say Panda3D is quite up to date. It features almost all of the newer OpenGL features, and has everything you want from a Game Engine (and even more :stuck_out_tongue:). While panda does not come with many newer rendering techniques, its easy to implement them, and I also implemented a lot of them in my pipeline.

However, I do agree that the website isn’t the prettiest. There is already work going on for a new one, though.

While the community is rather small, its still quite active, and I believe you don’t have to fear that Panda3D will stop getting developed.

Wow, I never expected to get an answer from the person I’ve mentioned!

This is the kind of answer I wanted to hear. I’ve just reinstalled panda3D on a fresh install of Linux mint and I am now getting started! I am happy about my choice :slight_smile:.

And keep the good work, what you do is amazing!

for you maybe :stuck_out_tongue:
If you’re someone coming from another engine where you create shaders by a GUI I personally think writing GLSL shaders can be challenging.

if you have some long term goals like becoming a commercial game developer I’d suggest also getting comfortable with Unity, even just for the sake of being able to develop mobile games. Still use Panda when you don’t need to. It’s easier to learn and Python is easier too. Godot engine is also free 3d engines with some features Panda is currently lacking and mobile export and uses a custom scripting language very similar to Python. But it’s not a mature engine like Panda meaning it’s not clear how bright its future is.
Stay away from other free engines like Irrlicht and Ogre3D. They have always been primarily pure 3d engines officially lacking other functionality needed for games. They are basically Panda3D sans Python sans physics,AI,audio,particles,GUI engine.
As for Unreal, I dunno. I think they used to have some strict license which is why I never got into it, don’t know what’s the situation now.
BGE (Blender game Engine), Blender Foundation has never taken this part of their program seriously enough. It’s always been limited and falling behind, and the idea of using a game engine part of a 3d modelling program when you’re not using that 3d program for the modelling part is not so great because then most of the advantages of having them unified is missing and you’re left with a mediocre engine.
Just trying to be unbiased.

While being able one day to distribute a game on android would be nice, it is not in my immediate goal (maybe some hope until then of a panda3D android port :unamused:) . Unity is a powerfull tool, but not being able to code what I want really turn me off :p.

But you raise a question that I forgot: how easilly can someone distribute a game using panda3D? Any dependancies problem to be expected while porting to other os? I am not close to any distribution (obviously :p) but it is still nice to know.

Again, many thanks.

I’m not talking only about Android, also ios and Windows mobile. The latter is gaining popularity too. Tablets are also becoming more widely adopted and use these same 3 mobile OSs.

I have a hard time imagining you can’t get Unity to do something you need but can get Panda to do it. The limitations of closed source engines are mainly licensing issues, no ability to recompile for other unsupported platforms, lack of a way to fix bugs yourself, etc. But when it comes to the game code itself I don’t think of anything. Again, just trying to be impartial.

Distributing a game with Panda is not hard at all. Since it’s an open source C++ and Python library, it can be distributed like any program using such libraries.
There are official tools to do this. Two actually, packpanda which creates an NSIS installer (and not sure what it uses in Linux) and the p3d system.
panda3d.org/manual/index.ph … _packpanda
panda3d.org/manual/index.php … plications

And since this is a C++ / Python library, I’ve had no issue in the past using cx_Freeze and py2exe to create a “portable” Panda3D game which doesn’t use an installer (note: not that the official tools can’t do that too, they were just buggy back in the day).
You’ll just need to copy the relevant folders of your Panda installation to your game’s root folder (for Windows they are “bin”, “direct”, “etc”, “include”, “lib”, “pandac”, “Pmw” and “python”. Delete any dll files from the “bin” directory your game won’t need if you want to save space. Do the same for the libraries in the “python” folder.

And lastly, you could always write a C++ executable which all it does is executes your main.py script with the python.exe interpreter in your “python” folder mentioned above.
I don’t think you’ll ever need to do this given the tools above, but that’s also an option.

I am a first timer of using Panda3D, so far I find it great. I have fun with it and love to play it during my freetime since I am working.

samurai sword sets

Glad to hear it!

I’ve played with panda3D a little a while back, but now I am more serious about getting things done. So far I’ve finished two small projects : A Space Wars (1986) clone (including pyBox2D physic) and a Zatacka clone (made to allow 25 players with an arduino as input). I’ll be sharing them once I polish them a little more!

When I decided that making game was something that I wanted to do (even if only in my free time), I followed the Computer Graphics course on edX, spent MUCH time on OpenGL tutorial and started a game from scratch. While making a 2D game would be relatively “simple”, making a 3D engine from scratch would be as long as making an entire game, and the visual aspect would be much poorer that what panda3D offer.

Huge things like Unity just don’t attract me for many reason, mainly the use of GUI. I work as a software developer while being a Electrical Engineer student (also involve programming), and, being used to the wonder of coding, won’t ever look back to a graphical interface. Also: Linux.

I’ve tested about every single engine available, and found that panda3D was the best suited for my need. It simplify the manipulation of 3D object, include some useful tools like Bullet physics, and mainly, allow me to focus on making the game that I want! The amount of control available is what I like the most about this engine. I’d rather make a poor decision in a way to do something, and optimize it later, than having only access only to one rigid way to do something, preventing any subtle control later on (If that make sense). When (if) I get good enough, the access to the c++ behind panda3D is also a big +.

So yeah, I love it so far!

And one more important thing: I am having fun making games with panda3D, which I was not when going from scratch :wink:.