Plan of open 3D game development

For the last couple of days I’ve been looking around for open-source 3D engines, comparing and reading. This is an early step in my crazy plans of making an open 3D game. If the game ever will be realized is yet to be seen, but the research is very interesting though. There are a bunch of open-source 3D engines out there and the ones I’ve been looking at are Crystal Space, Irrlicht, Ogre and Panda. Since you probably don’t want to change the 3D engine in your project once on the road, you’ll have to do some research before the project is started. It isn’t easy to compare these engines, you’ll have to have good knowledge about your own project so you know your exact needs - now and in the future. It’s painful to walk in too small shoes.
Below is a table over the 3D engines mentioned above. This table is not ment to be a comparison between these 3D engines, it’s just a summary. The data was collected at mars 14th, 2006. The last column is just the number of hits on Google and thus doesn’t really say anything.

Name Version License Language Popularity
Crystal Space 0.99 LGPL C++ 274 000 Features
Irrlicht 0.14.0 zlib C++ 490 000 Features
Ogre 1.2.0 RC1 LGPL C++ 29 900 Features
Panda 1.1.0 P3PL v2.0 C++ 22 200 Features

Some of the 3d engines also have wrappers so that you can use your favorite programming language to develop software using the engine. Since the wrapper only handles the communication between the 3D engine and your code the loss in performance isn’t overwhelming. The actual loss depends in the implementation so I’ll say nothing further about that.

Do you know of another 3D engine or did I miss something? Then let me know.

2 Responses to “Plan of open 3D game development”

  1. An interesting fact with Ogre3D is that they are using quaternions instead of matrices to do rotation. A quaternion can a bit simplified be described as the pair (x, v), where the scalar x is a rotation around the vector v.

    I’m currently using quaternions in a school project in a computer graphics course. They have the nice property that multiple rotations can be carried out just be multiplying quaternions and that linear interpolation (e.g. Slerp) is computational cheap. This is really useful when doing forward kinematics, which, by a striking coincident, is what I’m doing in my project.

  2. I see you’ve done some more reading than I did. What I didn’t reveal in the post is that my choice fell on Ogre in the end. I first looked at Panda 3D because it seem to be very simple and fast to develop prototypes with. But I wasn’t sure if it was advanced enough so the next candidate was Irrlicht. By reading in the forums I found that Irrlicht have a some what bad design and is not as mature as Ogre, thus Ogre is my choice here. The future will reveal if this was a good choice or not. =)

Leave a Reply