Panda3d vs Torque Engine Question

Greetings All,

I have been searching for a LONG time and have recently come across Panda3d and Torque Engine (which costs $100.00) but am not sure which offers the best potential for the project that we are working on.

We are developing a Virtual World on a Linux based system and thus graphics quality and speed are very important.

Has anyone done a comparison bethween these engines?

If so then I would very much like to know your results if you do not mind sharing.


I’ve not used Torque myself, but I have heard lots of good things about it. Of course, I’ve heard lots of good things about Panda3D too. :slight_smile:

I wish I could give you a list of bullet points–Panda3D does these things well, Torque does those things well–but I don’t think I could do a good job on that, and even if I could, it would probably oversimplify things too much.

The bottom line, I think, comes down to personal preference. If you are serious about comparing the two, you should probably write a simple application using each of them. That will give you a sense of the way each engine works, and you will begin to get a feel for the potential of the engine for your project.


I bought Torque and to be honest the documentation for it is well virtually non-existant. Torque is more like owning an engine that does loads but you have to learn its script to do anything in it which I do not want to spend the time doing. I would prefer to learn python and use this engine as with this engine you can always add to it if you want more power through c/c++ and its very nicely layed out.

Just my opinions :slight_smile:

Here’s the funny thing - you described Panda3D AND Torque. You can add to Torque using C++, so I don’t know why you listed that as a negative. Probably because you aren’t too familiar with Torque.

Out of the box, Torque provides a basic FPS game. You can expand that - for example, you can buy an RTS addition or a new lighting pack. Both extend Torque (I believe) and are written in C++. Obviously you could write these yourself, but you need to learn the engine.

Because many people are scared off by the learning curve, they automatically Torque before they understand it.

Panda3D has tutorials and documentation right on the front page. With Torque (Which I also own.), they havent finished the manual yet and is an extra 40 dollars, and the tutorials are hard to find, and on top of that, hard to understand.

Irrlicht on the other hand, is powerfull, free, has lots of support, is stable, has DX8-9 and OpenGL support, but is hard to program for (for me anyways, its C++):

Also, Irrlicht is only a graphics engine, whereas Panda3D and Torque are game engines. If you want to take the extra time to learn C++, Irrlicht is the best choice.

I’m not sure who wrote this, however, some of your information on Torque isn’t correct. Their is both user and developer (read C++) documentation on the website. If your a licensed Torque owner you’ll have access to this part of the documentation. The extra $40 your referring to is probably for a printed for of the documentation.

Their is a book written by one of the Torque users called “3D Game Programming All In One.” This book is really good at describing how to put together a simple game with TorqueScript. It does not cover the internals of the engine, although a new book is actually due out in a few months that covers that part.

Torque is definately not a click-n-play time of environment. You do have to learn a little about how it works but Panda3d isn’t one of those either.

I agree with sm3. There is documentation and there are tutorials, resources and all sorts of extra snippets of code you can use in Torque.

It would take you at least a year to get all the functionality in Torque into Irrlicht (networking, scripting, in-game editors etc.).

Sorry but you seem to have misunderstood my comment about expanding. The expanding is in relation to Panda3d as I have already seen “oh this is not in panda”, etc.

Start of rant–

Yes you can expand with Torque if you have alot of hours to work out how the engine runs. I suppose you have done this? Well believe me, I did spend ALONG time looking through the source. I found out where you can start to link in your code, but basically all the info I got back was that you have to push the torquescript about through your own code - Why would I want to do that?!? Just incase your interested, alot of the Torque engine is done in torquescript and not c/c++!!

I even bought the Game Programming A-I-1 book because people were hyping it in the forums, to my utter disbelief it was ONLY about Torque script. If I wanted to “mod” a game, I could have used any engine.

I tried for a very long time to find downloadable documentation on the engine and how to do stuff through c/c++. Only thing I could find was, you had to generate the API docs yourself if you wanted them offline and the manual/examples, whatever they called it, could not be downloaded as a single pdf for later reading.

Their main examples on how to use the engine consists of frameworks which are just torquescript.

Yes you can “add-on” to the engine. They show this well because they charge you $100 for the core, then if you want to use shaders then either program it yourself or pay them an extra $50. Want some RTS stuff? Thats another $50 thanks. Want some decent 2D functions as these are missing from Torque to start with? Thats another $50 please.

Sorry, I was lead to believe I was buying a “full” game engine that is entirely object orientated and done in c++. What I actually bought was a very poorly documentated c++ framework that uses a custom script language to do 80% of the work and has to use “add-ons” to bring it upto date or add features I would have expected in a “full” game engine.

–End of rant.

If anyone is considering Torque, then I suggest you get a secound hand copy of 3D Game Programming All In 1 before you purchase the engine. This way you can get to see a little of what you could be buying.

I never said it wasnt there, I just said its incredibly hard to find.

And as for the functionality of Irrlicht, it has already outdone Torque. Sound, networking, in-game editors, terrain, physics, it has all been done, or is being done.

The good thing is they (GarageGames) just added Google search capabilities to their site. It makes it a lot easier to search through their site. There is a lot of information to be look through, that’s for sure.

Here is the documentation page. From you’ll find the official documentation, some tutorials and if your a Torque owner, the C++ source documentation.

I hope it helps others out who are looking for more information.


Yes you can pay extra money for the addons, but look at what you get. What else can you get for the same money without spending months/years implementing your own features?

The game logic is written in torquescript - scripting languages are ideal for writing game logic, so why is this an issue?

You either get Torque or you don’t. 8)

Ok, I don’t want to get into an endless debate on this because, afterall, this is the Panda3d forums :slight_smile:

But, Torque has all of what you mention above, with the exception of a built-in BSP creation tool like UnrealEditor. However, there is one in development and will be out soon. It’s called TorqueConstructor.

All of this functionality, terrains, sound, excellent networking code, physics is already in Torque. GarageGames is also working on the next generation of Torque called Torque Shader Engine. Check out the screenshots and the features. One of the features I’m really looking forward to is the ability to make huge terrains. Unlike the current Torque engine where the terrain tile repeats (forever) after you reach a certain point. The only limit according to Garage Games on the size of your terrain will be the capacity of your hard drive.

I guess, the right tool for the right job. I use both Panda3d and Torque.

After having used Torque on a large project (creating a 3D racing game), I can say this much: If you want to create a first-person shooter, Torque is great. If you want to create anything else, get ready to feel like you’re pushing a rock up a hill for awhile. Torque has a massive learning curve. I’m not saying it’s a bad engine, but the annoyances that stuck out in my mind the most were:

  • The scripting language. It’s just a BAD version of C. IMHO, Python is much better not least for the reason that I can use Panda3d to learn Python and then be able to use my skills elsewhere, unlike TorqueScript.

  • Always client-server. The Torque engine always operates in client/server mode, even in singleplayer games. This is highly visible to you as a coder too. You need to create a server and connect to it, plus contend with what is actually on the ‘client’ and what is actually on the ‘server’ (and it’s not as straightforward as it sounds), even when you’re just creating a single player game.

This was particularly annoying since 99% of the documentation out there on Torque seemed to be about how to extend the examples that come with Torque to create a different kind of FPS/racer game.

  • Pipeline. It is improving (my experience with Torque was from last year, now we have things like the better Show Tool).

What I DID like about Torque:

  • THe GUI system. They’ve done a good job there. Very easy to use and very extensible.

  • Extendible. Once you get your head around how the C++ engine code ties in with the scripting system, it’s fairly easy to extend the scripting system with your own C++ routines, hence extending the engine.

Overall though, I wouldn’t go back to Torque FOR THE KINDS OF GAMES I WANT TO MAKE (which aren’t FPS’s). It’s not a bad engine, it just has a bad scripting language and has a lot of cruft in it. It’s constantly improving, but it hasn’t shed it’s Tribes/Tribes2/shooter heritage and it shows.

Panda seems alot easier to me and initially a lot more flexible. Though I haven’t used the engine much yet.

I figured I’d respond to some of the points that “Guest” made incase others reading want to know more. I believe “Guest” is probably aware of all these facts so please don’t be offended by my comments:

True the scripting language is not as elegant as Python, however, people have (Josh Ritter Minions of Mirth) grafted Python onto Torque so you can use mostly Python for your scripting, however, you still can’t completely get rid of TorqueScript and this is not for the beginner.

I, like you, love the fact we can leverage our skills with Python in Panda3d and then use those same Python skills on other projects. One less language to learn.

You can and people have completely split the client and server functionality from the Torque engine (done in the TorqueScript). Torque2D, which is based on Torque3D, currently has no network code in-place.

However, you should know that its not trivial to do so. One of the strong points of Torque, according to GarageGames is the network code and your right, it was developed for use a FPS networked game.

Definately agree it could use some help here and so does GarageGames. That will be one of the areas that TSE enhances once its complete.

I’m currently on the fence between Torque and Panda3d. I’m drawn to Panda3d for the Python scripting, however, Torque already makes it easy to make large panoramic terrains which I need for my FPS/Adventure type of game. Disney VR (David Rose) is making alterations to Panda3d which may make it easier to build panoramic terrains (I’m guessing), however, I have no idea how to implement them. Josh Yellon will assist us when the new Panda3d version is released soon. If I can’t wrap my head around the process of creating them in Panda then I think I’ll be off the fence so to speak and back to Torque. The Torque Shader Engine will have unlimited terrains (not tiling). The feature I’m really looking forward to is it will have one large texture for this terrain. You will be able to paint directly on it thereby have more control on how the terrain features will look.

I suppose I could add on Python like others have, however, that’s more effort than I want to put into this hobby and part-time pursuit.

good, very good!valium online pharmacy meridia forum
buy cyclobenzaprine line adipex free shipping
soma drug xanax effects

I assume that Guest’s post had some hidden spam links in his post.

I do love the GUI editor in Torque - very flexible and VERY easy to work with. Reduces UI creation time significantly. All engine / SDKs should follow suit! :wink:

I have question to ask, and this thread seem to be right place.
I need to develop persistent virtual world, hosted at the server, with clients able to connect from homes. I don’t know python (To be honest, I’m only profienced in c, c++, java and php), and I would like to use c/c++ speed.

Is the Panda3D right choice for me? I don’t want to spend to much time learning engine.

I believe Josh has already answered this question in another thread, but I will answer it again here.

You can certainly use C++ to develop applications with Panda; after all, the engine itself is written in C++. The biggest limiting factor is that the manual is written with an emphasis toward Python, but there’s an easy translation between Python code and C++ code (you have to rename the methods; in Python they’re namedUsingMixedCase, and in C++ they’re named_lowercase_with_underscores).

Also, most of the C++ code is liberally documented, so you can get pretty far just by browsing through the C++ header files and the *.cxx and *.I files–in many cases, you can do even better than the documentation we currently have available in the manual.

I’d start by examining panda/src/testbed/pview.cxx, and its corresponding API library in panda/src/framework. This takes the place of direct.directbase.DirectStart to get the ball rolling in C++, and is likely to be the point of greatest divergence from the Python world. After that, everything is the same between C++ and Python.

All that being said, you might consider reevaluating your language prejudice. :slight_smile: Python is indeed a wonderfully pleasant language to develop in, and application development goes many times faster than in C++. I’ve said this before–saying that you don’t have time to learn Python and you’d rather just code in C++ is rather like pushing a bicycle down the street because you don’t have time to get on it. Still, I do understand the importance of sticking to what you already know; I’m a C++ programmer too.



I want to state that you missed to answer the networking thing for python… thats also new territory for me so I can’t answer it… (but I am hoping to get more input for it)

All I can say that even the networking tut code has still some problems… At least after renaming yourself or others you get trouble with mixed up letters in sent messages (that have more than a few letters)… looks like a buffer problem to me that I have had in my C(++)-Code too until I found a way to completely overwrite the buffer before waiting for the next input… - no clue how this works in Panda3D/Python - still need to get there… (but this only as a side note)

So how about the networking point of view? Is (or can be) Panda3D the Engine of choice? No clue how the CPU-Load difference is between Python and C++ when using networking code…

Regards, Bigfoot29