Ogre
why ogre
- used by many successful projects gallery showcase
- used in several commercial applications (ankh,jack-keane,pacific storm,... , non-gaming applications...)
- big,helpful community irc://irc.freenode.net/Ogre3D forum wiki
- has repeatedly taken part in google summer of code
- features superior to almost any other engine
- mesh LOD, material LOD, various shadow techniques, shader-support for cg,hlsl and glsl
- material scripting, particle scripting
- hardware accelerated skeletal anim, anim blending, facial anim support
- support for threaded background loading
- many powerful addons
- opensource, LGPL
IMHO ogre3d is currently the most powerful opensource 3d engine. it might not be that easy to learn as more limited engines, but its design is good and it is definitely a good choice in the long run. We've used it for both iris2 (3d ultima online client) and sfz (spacegame), but with lua instead of python, and are very happy with it. It is even used by several commercial application (possible with lgpl license), such as pacific storm and ankh, and some non-gaming applications as well. There is a book soley about ogre, and since recently also features in the popular "C++ How To Program" series of books (since 6th edition, see ogre hp)
libs
- collision detection and physics : (most phys engines also have collision detection)
- ogre-addon : ogreode : http://ode.org ogre-binding for ode
- gangsta wrapper http://sourceforge.net/projects/gangsta ogre binding for several phys libs
- ogre-Novodex binding http://nxogre.betajaen.com/ (see also ogre-addons for another binding)
- ogre-addon : ogrebullet : http://www.continuousphysics.com/Bullet/ bullet phys engine
- ogre-addon : ogreopcode : http://www.codercorner.com/Opcode.htm binding for Opcode (collision detection only)
- ogre-addon : ogrenewt : http://www.newtondynamics.com/ binding binding for newtondynamics
- ogre-addon : ogretokamak : http://www.tokamakphysics.com/ binding binding for tokamak
- sound :
- openal http://openal.org/
- fmod http://fmod.org/ (free for noncommercial)
- networking :
- enet http://enet.cubik.org/
- sdl-net http://www.libsdl.org/projects/SDL_net/
- raknet http://www.rakkarsoft.com/
- user interface :
- cegui http://crayzedsgui.sourceforge.net/ (ogre default)
- navi http://www.ogre3d.org/phpBB2/viewtopic.php?t=32384
- betagui http://www.ogre3d.org/phpBB2/viewtopic.php?t=25853
- quickgui http://www.ogre3d.org/phpBB2/viewtopic.php?t=30547
- guichan http://guichan.sourceforge.net/
- opengui http://opengui.rightbracket.com/
- input handling
- OIS http://www.ogre3d.org/wiki/index.php/OIS (ogre default)
- SDL http://www.libsdl.org/
- artificial intelligence and pathfinding
- you'll probably have to code an ai according to the rules of your game yourself, but hare are a few links :
- worldmind http://play.zapto.org/wmdb/main.php
- http://www-cs-students.stanford.edu/~amitp/gameprog.html#ai
- pathfinding lib : http://www.grinninglizard.com/MicroPather/
there are also game engines embedding ogre :
python + ogre
it seems to be a bit hidden inside the ogre forums and wiki, but here are a few links to get you started : http://www.ogre3d.org/phpBB2addons/viewforum.php?f=3 http://www.ogre3d.org/wiki/index.php/Introduction_to_pyogre http://www.ogre3d.org/wiki/index.php/pyogre_Beginner_Tutoria l_1 http://www.ogre3d.org/wiki/index.php/pyogre_Beginner_Tutoria l_2 ... http://www.ogre3d.org/wiki/index.php/pyogre_Tutorial1 http://www.ogre3d.org/wiki/index.php/pyogre_Tutorial2 ...
it's available with the rest of the ogreaddons from cvs : http://www.ogre3d.org/index.php?option=com_content&task= view&id=17&Itemid=141