In-Depth Panda3D Engine Review
Panda 3D is a free engine that actually has roots in Disney VR. One of the first Disney VR projects, Aladdin’s Magic Carpet, became the genesis for what we know today as Panda 3D. How cool is that? Origins in Disney is a hell of a thing to put on a resume.
Panda 3D emphasizes just that—3D objects in a 3D world. The user is tasked with filling a space with 3D models utilizing different animation software. The developers are constantly adding new integration systems using DirectX and OpenGL.
There are other non-3D assets in the engine that it is capable of like its own physics engine, robust AI, detailed audio engineering and a very finely tuned debugging system. Again, the developers are constantly moving this engine forward, and in a very progressive way.
They seem to have their finger on the pulse of 3D design and physics, which is great for new game developers.
The Engine and Berkeley License
Aside from having the great name of the iconic breed of super cute bear, (yes, I know that they are bears and not cuddly plush toys, okay?), Panda 3D is a game engine that was released in 2002. It uses a revised BSD license.
This stands for Berkeley Software Distribution, where its origins lay in the computer labs of the University of California, Berkeley in 1977. That’s a license that has been in use for over 40 years, so you can definitely depend on it.
The important aspect of this license is that it is free and places minimal restrictions on the creator and their subsequent creations. Usually, with licenses, the licenser has either a percentage of the rights of the creation or they simply ask that their brand is included in the copyright.
That is a small price to pay for being able to use licenses made by UC Berkeley and MIT.
Under this license, the hypothetical Panda 3D users, (maybe you?), has unbelievable freedom to create and distribute through these different licenses.
Panda 3D uses Python as a programming language and utilizes C++ in most facets of the engine.
It is FREE
Okay, okay, I’ll settle down. My Spidey senses went off when reading about Panda 3D when they advertise as the
“Panda3D is an open-source, completely free-to-use engine for realtime 3D games, visualizations, simulations, experiments — you name it! Its rich feature set readily tailors to your specific workflow and development needs.”
Yep, the engine is free. I know, I know, in the past I have maybe but a lot of emphasis on my liking completely free game engines, but I stand by it 100%. No regrets.
Chances are that you are just starting out in game development and starting casual is not only your best option economically, but the ability to select a free engine without consequences is vital to your ideas becoming your creations.
Download and Update History
It was super easy to try and download Panda 3D, with an installer literally being right on the home page. It is that easy to acquire Panda 3D. I downloaded the file, (for me it was Windows 64 bit), and after a few steps, I was up and running.
The download section of the site not only has the installers for the actual engine, (all multiplatform files), but provides the source code as well through GitHub and Gzip.
A thing I really admire about this engine is the attention to different builds that the creators are constantly updating it. When they do update, they include copious notes and explanations on what they fixed or improved. Needless to say, I was impressed by the dedication.
Okay, now that we have gotten that stuff out of the way, let us take a closer look at the different ways which you can best utilize this creative engine and hone your own skills to a fine point.
Tutorial #1 – Panda 3D ‘Hello World Tour’
Not only does it have a more creative name, but it is the official Panda 3D tutorial from their own website. A thing I like about these guys is that they are so dang friendly and supportive. Maybe that is something we need more of in the development community?
Next, you click ‘Next’ through the different pages as they guide you through the very beginning stages of your project.
It introduces you to Panda 3D through the very basic coding language and shows you how to run the program. Over the next tutorials, they have the different sections hot linked, a la Wikipedia in terms of how articles are structured, meaning easy navigation.
They really outline the very basics; it is almost like learning a different language.
“Panda3D contains a data structure called the Scene Graph. The Scene Graph is a tree containing all objects that need to be rendered. At the root of the tree is an object named render. Nothing is rendered until it is first inserted into the Scene Graph.”
And soon after that, you are on your way past the basics and on to the more advanced aspects of the engine’s inner workings. This tutorial is remarkable and invaluable, as the team members guide you carefully through the process, helping you render a nature scene to make sure you have the hang of it.
That type of attention to detail and care for the user is what makes this tutorial an absolute must-read.
PS: I always say this, but it bears repeating every time: if you are using Panda 3D and love what the creators have done and do, I recommend maybe sending some donations their way so they can keep churning out great and detailed content, therefore making it easier to make your creation.
A lot of people in these development teams have other jobs and develop these game engines in their precious free time, so ease their burden a little if you are a diehard user!
Tutorial #2 – Grimfang’s Manual
“This tutorial will lead you through every part of the game creation process. It will show you how to start from scratch with a simple idea, write the code, create content, and finally pack everything up into an executable for release to the public. It also tries to be generic and give you as many details as possible, giving the knowledge you need through simple and short chapters, while allowing you to jump right into the things you really want: creating games.”
Eloquently and succinct—this is how the Grimfang manual for Panda 3D begins. This right here is an absolute one-stop shop for any questions you have about creating in the engine. It is downright exhaustive. It is almost off-putting in how dang detailed it is.
Something I really love about this manual is the first section. It’s called ‘Imagine’ and it helps the reader come to terms with ideas and coming up with creative ideas and the creative process itself. What follows is an extremely in-depth breakdown of helping you break your ideas down into an actual outline you can work with when you boot up Panda 3D.
It reminds me of a college research paper I did. I had to come up with a research question that needed answering through, you guessed it, research. However, the research question had to be honed down to the point where there would be no vagueness about it.
This is very similar because of the lack of vagueness to your idea only helps you succeed that much more in your creation.
Be warned, this guide is about 120 pages or so. This will no doubt divide the community, as it is a helpful resource, but some may be turned off by the sheer volume of the tome. Overall though, this is such a valuable source of info that you can’t ignore.
If you are hesitant about it, at least skim it, or definitely read the ‘Imagine’ section, it’s revolutionary. This ties in with the care and passion of the gaming community, as this is probably the be-all-end-all in Panda 3D resources.
Tutorial #3 – YouTube: Sam’s Gaming
Now, if you are visual learning like me, you will appreciate these videos. As valuable as the manuals from Grimfang and the Panda 3D creators, sometimes the most valuable tips and tricks for the engine come in unexpected places—like the YouTube channel Sam’s Gaming.
Sam’s Panda 3D inaugural video, (clocking in at nearly 8 minutes in length), ‘The Setup Ep.1’ goes through just that: the acquisition of the files of Panda 3D and how to install. His videos in the Panda 3D, using the game Toontown Online as a template, explore the different nuances with the engine, showing the viewer how to script events, sound, and more.
Tutorial #4 – The Reddit
Another resource I am particularly fond of is a reddit forum. You can have frank back and forth discussions with other passionate members of whichever community you desire to be a part of. They have some great tips for new and old users of Panda 3D.
User AlgorithmPub states in response to a user looking for tutorials:
“Besides the great resources the others pointed out, I’d recommend taking a look at the sample projects that come packaged with panda3d if you can’t find the directory, just download the zip file from github. Also, make some prototype(s) as soon as you can (don’t wait to feel confident, build your confidence with practice instead). Learn by making your own projects.”
Sometimes that is the best advice, to jump into the engine and fool around with the parts under the hood.
Now I don’t mean just go in all willy-nilly and screw around; you should familiarize yourself with the basics of the engine and some more advanced aspects of it, but for the most part, discovering a new part of the engine you weren’t familiar with on your own is an intoxicating feeling.
Tutorial #5 – Game Fast
Much like the manuals before it, Game Fast provides users with both a beautiful combo of the officiality of Grimfang’s manual with an internet community. Game Fast is a site that is dedicated to helping budding creators start their career or hobby in game development.
Since it doesn’t come easy to everyone, (I’m guilty of being game-challenged), they are super accommodating and supportive. They actually start out bare bones with the lingo used in Panda 3D, which could sometimes help newer users navigate the terrain of Panda 3D.
Over the course of different ‘volumes’, like a comic book, Game Fast explains everything you need to know in great detail: rendering trees, downloads, and just being acquainted with the 3D world.
If you are a newer game developer, or even if you are just curious about the process and what goes into the nitty-gritty of game developing, Panda 3D is a great little engine to start your journey
Pros and Cons
- Great source of tutorials online
- Easy for users already familiar with basic game design
- Some of the software involved with the assets in the engine is still a few versions behind
- Editing program not unified; this makes it more difficult to move assets around and seamlessly include them in your project
Overall, this one is another no brainer for me. Not only is it one of the easiest downloads among free engines, but with the sheer amount of info—and the roots in Disney—Panda 3D is a great little engine well worthy of your time and creative energy.