I’ve been working with Torque Game Builder (2d) for the past year and have looked into the Torque Game Engine (3d) a couple times.
I found Panda 3D because I’m working on a simulation project for a thesis and an open source engine seems a much better option and I’d rather not develop my own. Initial glances at the manual seem to be telling me that Panda is more flexibly designed than Torque which is making me thing I may want to consider this for my own projects.
From my current experience (maybe a hundred hours over the past year thanks to college and work taking up most of my time) I’ve found TGB to be fairly well designed. I have not needed to go beyond the scripting level to develop what I want. I presume that such development in Panda might require more engine modifications but not extensively so.
My experience in TGE has been that modifying the source engine can be trouble at times because the engine was built around the Tribes games which seems to limit the flexibility. Is Panda truely more flexible not just at using the existing architecture but also for reworking the existing architecture in new and unusual ways?
Also I’m wondering about the use of an open source engine for commercial projects (yes I know most indie commercial games are failures, thats why I’m starting with relatively simple 2d development). I’m not extremely concerned with open source as letting other buy my game and then expand it seems like a selling point. On the other hand indies are starting with a small market in the first place, how much could open source lead to piracy instead of actually purchasing the game? Also given my low familiarity with open source, are there any concerns with games being stolen by other developers after release?
Any answers to any of these questions or general thoughts on these topics (or pointers to existing discussions I failed to find) would be appreciated!
panda is about as flexible as your hardware (to be precise your hardware is the only thing that limits panda’s flexibility).
in most (if not all cases) you dont need to make any modifications to the engine itself.
using an open source engine doesnt mean you have to make your game opens source. in worst case some hardcore-dedicated fans can use panda’s model-viewer or in general re-use the game assets.
so all in all it’s pretty much the same as with a commercial engine, except if you NEED to modify the source , you can do so without spending a fortune for licenes.
btw. panda was and is used in several commercial games already.
First, I should point out that although Panda3D itself is open-source, its license does not compel you to release any game that you write with Panda3D (nor, in fact, any modifications that you make to the engine itself) as open-source. Whether you choose a closed-source or open-source model for your own code is entirely up to you. For instance, Panda has been used to develop two major closed-source titles from Disney.
(That said, I personally like the idea of more open-source projects in the world, and I would encourage you to consider it. If you write a good game, people will be willing to pay for it, whether the source is available or not; and people will also pirate it, whether the source is available or not.)
Panda3D itself is quite powerful, even from the scripting language, and here again you may find that you rarely or never need to delve into the engine itself to achieve an effect you want. If you do, though, you may not find it difficult: in addition to a game development platform, Panda is used within Walt Disney Imagineering as an R&D tool, and those guys are used to tinkering under the hood and making it do all sorts of crazy things.
(Of course, like any software project, it does have its existing design focus, and some radical new designs might be more difficult to implement than others. Panda was originally designed over ten years ago, and has evolved with graphics hardware over the years, but some signs of its age–some would say maturity–are evident in the codebase.)
Also if you are worried about the open source nature of the engine making it easy for people to tinker with the game as ThomasEgi said (for piracy/cheating purposes), that’s covered, for example you can encrypt the resource data files (it’s supported). You can build most libraries statically (so that they can’t be replaced by cheating versions), and you can also configure panda to ignore configuration files. If you use C++ you can even use a code obfuscater if you are worried that the fact that the engine code is readable can aid in cracking. None of these measures is totally fail-proof, but they level the field with respect to closed source engines.
All of us already used a soft that was cracked… Without defending the piracy ideology, there’s for sure the good and the bad hacker.
Speaking about the good one, he’ll never try to hack a soft published by small associations for few dolars but aim the ones who exagerate their prices for the public even if they already earn back their expenses selling the soft to big companies…
No matter if the tools you’ll use to develop your application are free or not. As soon as you start to be big, you’ll attract the attention of the hackers community and as soon as your prices start to exceed the limits…
The more blood you dumb, the more sharks you got!
I can’t resist to point out that this recurrent talking point is a little disingenuous, there are a lot of reasonably priced apps in the world that get pirated. Heck, even 1.99$ iphone games get cracked.
I’m of two minds about piracy, though. Thanks to it I got access as a kid to really expensive software like 3d studio (for ms-dos) that opened my mind and got me into all this. There’s no way my family could have afforded that, I didn’t even know that kind of stuff existed, I got to try it because it was free. Nowadays open source software is sufficiently advanced to fill that role, though, so I’m not sure the point still applies.
Yep, and that’s been done by what we call “bad-hackers”.
It’s exactly as counter strike gamers that play in wireframe mode to shoot you behind walls… Ok they know how to disable textures using their graphic cards but they still remain “bad-players”.