Panda3D (free)

Moderators: Moderator, Global Moderator

Post Reply
Tami
Administrator
Administrator
Posts: 10892
Joined: Sun Apr 25, 2004 1:05 pm

Panda3D (free)

Post by Tami »

[url=\"http://www.panda3d.org/\"]Panda3D[/url] is a 3D engine: a library of subroutines for 3D rendering and game development. The library is C++ with a set of Python bindings. Game development with Panda3D usually consists of writing a Python program that controls the Panda3D library.

Panda3D is unusual in that its design emphasis is on supporting a short learning curve and rapid development. It is ideal whenever deadlines are tight and turnaround time is of the essence.

For example, in a class called Building Virtual Worlds at the Entertainment Technology Center, interdisciplinary groups of four students are asked to create virtual worlds in two weeks each. Screenshots of their projects are visible throughout this site. Panda3D is what makes this rapid turnaround possible.

Panda3D was developed by Disney for their massively multiplayer online game, Toontown. It was released as free software in 2002. Panda3D is now developed jointly by Disney and Carnegie Mellon University's Entertainment Technology Center.

Features

The Panda3D development team is constantly improving the engine. The following features make Panda3D stand out from the crowd of other rendering engines.

* Short learning curve
* Rapid development
* Library callable from C++ or Python
* Rock solid stability
* Free software license
* Support for Windows and Linux
* Simple installation
* Collection of free models and artwork
* Multiple active development teams
o Disney Imagineering
o Entertainment Technology Center
* Lots of documentation
o Extensive manual
o Collection of code samples
o API Reference materials

License

Before you begin reading the [url=\"http://www.panda3d.org/license.php\"]license[/url], a word of caution is in order. Panda3D itself is distributed under a fairly relaxed, permissive license. However, many of Panda3D's functions are provided by third-party software packages (ie, packages that we didn't write). For example, if you play movies in Panda3D, you're using FFMpeg. If you play sound in Panda3D, you're using OpenAL or FMod. If you load JPG files, you're using LibJPEG. Chances are, if you're using Panda3D, you're also using quite a few other software packages as well. You don't just have to abide by Panda3D's license: you also have to abide by the licenses of all the software packages you're using.

Fortunately, most of the third-party packages have licenses that are just as relaxed and permissive as Panda3D's license. However, not all of them. For example, Panda3D provides a choice of sound libraries: OpenAL or FMod. It costs money to use FMod in a commercial game. You need to be aware of this if you are using Panda3D's sound functionality - you may be inadvertently using FMod, you might have to switch to OpenAL if you want to avoid its license limitations.

It is always possible to build a version of Panda3D that omits any of the third-party packages. Doing so will leave you with a copy of Panda3D that lacks the functionality provided by that particular package, but which otherwise works fine.

Because of this, if you are about to start any sort of major development with Panda3D, it would be wise to look at the licenses of the third-party packages that Panda3D uses. Decide which licenses you can comply with, and which you cannot. Then, simply don't use the parts of Panda3D which are provided by packages whose licenses you cannot comply with.

The license of Panda3D has been judged (by Richard Stallman) as not free software. This is because of the clause that says you should send all modifications back to Disney. Ie, if you make a change, you can't keep it to yourself - you have to make it public. We, the Panda developers, don't much care for that clause either. Unfortunately, ownership of Panda3D's copyrights are being negotiated right now, and until that's done, the license is frozen. It could take quite a while for the transfer to be finished, so the bad clause is in there for the forseeable future. You have to decide for yourself whether or not the "no private modifications" rule is a deal-breaker.

PS. Yes, you can make commercial games. But if you do, you need to strip out those third-party packages that say you can't use them in commercial games. I believe that's FMod, FFTW, and ARToolKit - but of course, you're responsible for checking that yourself. Those three packages are not particularly critical to Panda3D's operation. FMod is a sound library for which an alternative (OpenAL) exists. FFTW is for animation compression which few people use since it's a little jerky. ARToolKit is for "augmented reality" - a truly esoteric function that to my knowledge has not been used in any commercial games.
Image

[color=\"#41211C\"]It takes years to build up trust and only seconds to destroy it

[/color]
Post Reply

Return to “Game Dev”