This post is not exactly related to .NET/XNA game development, but I like to keep track of what's going on in the world out there and I'm still thinking that C++ is a far better language than C#, after all ;)
Having played the whole engine shopping game more than once, here are 7 engines I'd take a closer look at if I were to write a game in C++. I've listed them in order of personal preference, but be warned, this is entirely my opinion and not based on proper research!
1. C4 Engine

This is the engine I would choose as an indie developer. Everything you need for rapid development is already there, including a fully interactive world editor. You basically have the development speed of a tool like 3D Game Creator but all the power of a conventional engine designed for programmers first and foremost.
Feature-wise, it's got the already mentioned world editor, is shader driven, does per pixel lighting, uses a scene graph, can do visibility determination with portals, will soon feature a terrain and foliage rendering system (in the upcoming "fireball" release) and you'll receive excellent support from its author and forum members.
2. Ogre 3D

Ogre 3D was an almost instant hit due to its power and its clean design. Ogre uses a plugin system that can extend the functionality of specific areas in Ogre's architecture. For example, Ogre uses a scenegraph-like system for managing the world. The actual visibility determination system is entirely provided by plugins. You can switch between an Octree, BSP or terrain/distance based system easily.
Because of the very active community, there are lots of great addons for Ogre 3D, including several state-of-the-art terrain rendering systems, game frameworks and bindings for other languages, including a .NET wrapper.
The only drawback to Ogre 3D is the missing development tools. It's a nice programmer's engine but you'll have to invest some time to set up a production chain yourself. Still, there are importers for all kinds of file formats, the engine can load many different file formats natively and Blender, a 3D modeling tool, is moving towards becoming something like Ogre 3D Game Creator (Blender Game Engine uses Ogre!).
3. Irrlicht

Irrlicht is in some ways a contender to Ogre 3D. It might even be more convenient than Ogre 3D in that, as long as you're not doing anything exotic, you can get a basic rendering loop going in just a page of code. Irrlicht also comes with its own GUI system and its own math library. There also is a .NET wrapper called Irrlicht.NET that allows you to use Irrlicht in C# and other .NET languages.
The Irrlicht community is very small compared to other engines, maybe that's because, as soon as you ask for a 3D engine on gamedev.net, you'll quickly get 3 people recommending Ogre 3D and only then someone comes along and suggests Irrlicht.
Irrlicht is also lacking a production tool chain. It's not like Ogre where the tools are there and you just have to find a way to organize everything and make it work together, you probably won't get away without coding some tools yourself if you want to
4. Torque

Torque is the 3D engine that Dynamix originally created to power their Starsiege: Tribes series of games from part 2 onwards. It has got several nice features, amongst them Terrain rendering and a skinnable GUI system. There also is an editor you can use to create your game worlds, design your GUIs and import assets.
While I haven't tried it myself, Torque seems to have its problems as well. I keep hearing again and again that major portions of the code are an ugly mess and that documentation is very lacking. This might be attributable to the fact that a lot of beginners (include lots of those annoying MMORPG-wannabes) switched to Torque, so I'm not making up my mind before I get a look at it myself.
5. Crystal Space

Crystal Space is one of the oldest game engines out there. Originally designed for software rendering in the era before 3D acceleration, this engine has grown into a mammoth repository for nearly anything the 3D engine world has to offer.
I can't tell much about Crystal Space, because for my taste, it simply got too large. The learning curve is quite steep and tool support is often lacking. This engine's size seems to make it quite hard for its developers to catch up with the latest technology -- at least I personally got the impression that new features in Crystal Space just take longer and end of looking not as cool as they do in other engines.
6. NeoEngine

While I don't have much experience with NeoEngine, it's been around longer than Ogre 3D and is in most terms equivalent to Irrlicht. I would have ranked NeoEngine as equal or maybe even higher than Irrlicht if it had the same level of publicity.
Just like Irrlicht, the developers rolled their own maths library, their own GUI system and they're not using libraries such as Boost either.
I can't really say much about this engine as I don't know of any games that have actually used it. Everything seems to be feature complete and ready for prime time, but I would have to try and create a game with it to see whether it works out...
7. Unity 3D

Unity would have been a contender for first or second place, was it not for the fact that all unity development tools work on MacOS exclusively. Once done, you can deploy your game to Windows PCs alright, but to get to that point, you're forced to install MacOS on your system.
What you get with Unity is a game creation system like no other, supporting any feature you can think of. If this sounds like a description released by their marketing department, let me state that their marketing department, if they got or need any, would only be making objective reviews if they wrote that. Yes, I'm that impressed. :)
Unity
Wait a second. So Unity is a develop-on-mac-deploy-to-win32 engine?
Who came up with that? I don't care how good your engine is, I can't imagine anyone serious about development to be willing to put up with that. --Or be willing to create such a monstrosity in the first place.
mos: nothing monstrous or
mos: nothing monstrous or fancy about that. Unity Editor (and asset pipeline, script compiler, game packaging...) runs on Mac OS X currently (note 'currently'). The game engine itself runs on OS X, Windows, Nintendo Wii or Mac/Windows web browser. You work in the editor, then when you're ready, you build a game - it assembles and packages all the data files and your game code, and puts a platform dependent executable that "plays" your game data files. We take all the pain and testing to ensure that your game runs the same in the editor and in the player (even if on a different platform).
And no, I'm not from the marketing department, just a mere code monkey :)
I use ogre
this is our start
and we pick ogre
wish us luck!!!
thanks!
I use Crystal space
Just thought I'd like to clear this up..
Ogre is not being put into blender nor is it being used by blender.
Crystal space seems to be blender's choice right now... the plugin for blender (called blender2crystal) is something I also recommend you to check out.
Crystal Space
Neither did I say that Blender was integrating Ogre.
Can you provide any source for your claim that Crystal Space is blender's choice now?
It's been some time since I was active in the C++ world, but last time I checked Blender Game Engine was about to use Ogre3D as its main graphics engine. I can't seem to find many references to Ogre in the context BGE anymore, so maybe this has changed?
Back in 2006: BlenderNation: Ogre and Bullet Game Engine Integration
Almost looks like it's become rather silent about the BGE project.
Crystal Space & Blender
http://apricot.blender.org/
Finally! I have been waiting for this for a while. Now hopefully blender's BGE will get a facelift from this project.
Though I'm clueless as to why CS was chosen and not Ogre. I'm guessing its the blender2crystal plugin, which almost instantly converts the BGE in CS scripts, and you can run CS in blender. Definitely a boon to developers.
cheers!
(ps. sorry if this is a re-post, I cant seem to post stuff here and i've tried doing it 2x already ;) )
Reposts
Yes, sorry about that. I've got a serious comment spam problem, so comments are moderated - always. Sometimes I'm a little slow checking the moderation queue ;)
So BGE *is* using CrystalSpace after all. It's quite hard to track down informations about BGE. I'll see to attach a note to my Ogre section in the original article indicating my error!
Just try it
As a developer who has shipped titles using a few of the above and have worked with nearly all....
Unity is the bomb!
Workflow is sweet, and just works nice.
Personally, much happier in Unity on OSX than in Visual Studio or CodeWarrior in Windows.
Also, much much easier for the n00b.
Seriously, the asset focus vs. code focus makes intuitive workflow and saves much dev time.
Post new comment