Simple roleplaying game - Irrlicht or Panda3D?

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
chombee

Simple roleplaying game - Irrlicht or Panda3D?

Post by chombee »

Hi Irrlicht,

I am a PhD student working in the area of interactive narrative for education. For my research, I am interested in developing 3D roleplaying technology. I'm trying to figure out which 3D engine would be best to use. The sort of features I need to implement for my game are:

* Some sort of immersive 3D environment with decent 3D graphics. A landscape with some trees and a few buildings at least, but access to models of castles, towns etc. would be useful.

* Animated characters that can be controlled by keyboard/mouse and followed by a camera or controlled by steering and pathfinding behaviours (for computer controlled characters).

* Network support for multiplayer collaboration.

* The player must be able to pass text messages to/from computer characters and other players using some sort of simple overlay interface, and perhaps use the same interface to interact with objects in the environment.

* Rapid development. I need to be able to put together my tools quite quickly, and the idea is that I will create a set of game tools which can be rapidly modified and extended in order to create software for various exploratory experiments in the area of using 3D narrative games for children's learning.

* In general I need the environment and models to be colourful and cartoon-like, so that they will be appealing to small children.

* Also I am a FLOSS advocate so I want to work with Free Libre & Open Source Software tools. This also has practical advantages. And of course I want a big, active community supporting the engine, and I don't want it to be a project that is likely to die soon.

I've been trying to assess the suitability of various engines but it's quite difficult without having the time to personally test each engine in depth, and I find it most useful to talk to people who use the engines.

My current primary candidate is Panda3D (http://panda3d.org/), but there are issues with the license (although they are really just technicalities), and it is missing a few features (can't load something like a Quake3 .bsp environment, I'd have to write my own terrain renderer, the networking code is not documented). Panda does have the advantage of full Python bindings supported as core, and it comes with a collection of free 3D models for children's games that I don't think can be easily converted to other formats, it's generally a nice and easy to use engine, and it has an active little community and development support from Disney and Carnegie Mellon University.

Irrlicht seems to have some of the features missing from Panda - a terrain renderer already exists, and it can load BSP levels. Also it's FLOSS credentials are not in question. The community looks to be comparable if not a bit bigger than that of Panda, although there doesn't seem to be backing from two development teams. On the other hand C++ does not lend itself to rapid, easy development, but it seems there are 3rd party bindings for Ruby, Lua and Python (how complete are these?).

I'm wondering how quickly and successfully I would be able to throw together a small, relatively simple game world for childrens roleplay stories with Irrlicht, compared to Panda3D? Any advice?

Suggestions of other engines are also welcome. I ruled out OGRE because it looked like it would be too much work (ie. not easy, rapid development) and Crystal Space because I don't think it looks to be as high quality as Panda or Irrlicht.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

I've looked at both engines, and currently use Irrlicht. So I don't know too much of Panda3d. Irrlicht is about nothing but graphics, minimal input, no sound, minimal physics. Irrlicht is a graphics engine, not really a game engine. Panda is more "complete" in that aspect. I honestly think you could go either way because whichever you choose, you will have to find or code more than is included. There are Open Source code for networking and input, though I don't have any links. Look at it like this.
Panda
You will have to code or find:
Terrain Renderer
Better graphics
Level Loader(You mentioned BSP, though you could use whatever else)
Sound(It uses FMOD, but that is one of the technical difficulties)
Irrlicht
You will have to code or find:
Network
Input
Sound
Probably Physics
Either way, you have to complete it, so see which is easier for you to code the missing parts. I chose Irrlicht because I don't need network support and I already had coded sound and input from previous work. Plus, it has pretty advanced graphics capabilities and is fast unless you do too extreme with your special effects. Panda3d is probably fine, but Irrlicht was better for MY purposes. Reflect on the above and see what looks better for YOUR needs.
TheWorstCoderEver
Posts: 47
Joined: Wed Feb 01, 2006 8:09 pm
Location: Wroclaw
Contact:

Post by TheWorstCoderEver »

Frankly, it all depends in how advanced you are in C++ and other programming languages. Irrlicht is primarily a rendering engine, which means that in order to create a game with it you'll have to write your own framework. This might take some time to think out, let alone to complete. If you need to create a prototype in short period of time, try either Truevision3d or Reality Factory. If you'd like to devote some time and effort to create a complete game from the ground up and you're familiar with basic concepts of object-oriented programming, then Irrlicht is for you.
Guest

Post by Guest »

Thanks!

Well, okay. So I'm a reasonably good programmer... I have a degree in computer science, and worked for a year after that as a professional programmer. I know C++, Java, Python, and can pick up others. The problem is that within a PhD I don't have TIME to program a whole lot myself, so I'm looking for rapid development + flexibility, that's why I looked for high-level scripting languages like Python.

I don't think Irrlicht's nature as a rendering engine will be a problem. All I need is to render some kind of world, render and animate characters for that world, move the characters around and also add a 2D overlay interface... I don't really need physics, I just need them to stay on the ground, and hopefully I can plug in keyb/mouse input and networking and sound.

See I just need the technology that will allow me to create a game that involves walking around and talking to people through a text interface, and picking up and putting down objects, maybe a couple of effects for key scenes... but technically this is a very simple 3D game.

Irrlicht will load character models and play their animations for me right?

kburkhart84 - have you found that Irrlicht is significantly faster than Panda3D? I'm working on Linux with an older graphics card and have only a free software 3D driver, and also my target is fairly low-end machines.

Also, can anyone vouch for the completeness and reliability of any of the language bindings for Irrlicht? I'm interested in the fast-prototyping style scripting languages - Python, Lua, Ruby.
kburkhart84
Posts: 277
Joined: Thu Dec 15, 2005 6:11 pm

Post by kburkhart84 »

I would think that Irrlicht would be faster, but don't take my word for it because I have never compared them personally speedwise.
dhenton9000
Posts: 395
Joined: Fri Apr 08, 2005 8:46 pm

Post by dhenton9000 »

My experience has been that Irrlicht is a good compromise between rapid prototyping (blender 3d game engine) and extensive customization (coding your own system).

You will still have to do a lot of basic services coding, such as networking and possibly physics. For example, you will have to code the 'pick up an object' system.

If you list out needed subsystems, Graphics, Networking, UI, AI, Physics, I'd say that Irrlicht covers the first about 110% and about nothing for the rest, maybe 10 % of physics (basic collision detection)

Download a few of the sample projects in the project announcement forums and you will get a feel for what it can do. someone posted the pretty good beginnings of a second life 3d chat room environment thing a while back, which is what it sounds like you are trying for.

As for the bindings, the .Net binding is via a dll, while the java is JNI. Neither contains the full Irrlicht subset of functions, AFAIK. They are not as mature as the original C++ base.

HTH
Manakel
Posts: 2
Joined: Thu Jun 24, 2004 11:55 am

Post by Manakel »

Hello ,

I must say that design wise , Panda is very far ahead of Irrlicht.
Of course scripting possibility is nice but there is also very efficient:
- messenging system
- animation system (with forward, reward, shared animation, blend animation)
- very powerfull sequence and parallel (every thing can be scheduled in time, object movement and properties but also your own functions)
- shaders are not supported

If you like emacs, you can copy paste new object definition in a running game and modifications are taken into account without restarting the game.

Only drawback of Panda is that there is no round trip UML generator available so clean design is still harsh.
SiriusCG
Posts: 58
Joined: Tue Feb 14, 2006 1:05 am

Post by SiriusCG »

I'd stick with Irrlicht. Panda3D has a list of library dependancies that is absolutely scary! It's truly "dll hell". :shock:
Post Reply