PDA

View Full Version : What engine to use? Need some very Tips!


Derek
11-08-2008, 08:42 AM
Hi folks! I need some tipps regarding general development questions and choosing an appropriate game engine.

Basic information: I like to play games, and I did make some maps for different types of games (mainly strategy & shooters). I've also been doing programming Java for some years now and had nice experience with it's platform independency. Therefore I started my first approach for game programming on a Java based engine. There were only 2 major candidates:

JMonkeyEngine (JME) and Xith3D, both under the BSD License, which comes in very handy for independent projects.

I've been working extensively over half a year with JME and made a high learning progress on how game engines work. The engine is really fast (despite the general opinion that considers Java slow!) and stable! But there are some things that began to bother me:
1) Lighting and Shadows: Shadows were announced almost 2 years ago, but there is still no clean handling for a camera in a shadow volume. Also I am missing some kind of Per-Pixel-Lighting. Shadowmapping also only works "half-way".
2) The amount of active developers now is 0 as the last main developer who pushed the engine to its current features has stopped 1-2 month ago. How big is the chance that missing features and new features get implemented then?
I feel sad about it being that way, but let's be realistic:... I am not an artist for programming a game engine, nevertheless I am able to produce contents with it and use its features. Also I consider many people in the JME-forums as being developers of game contents only and not game-engine features.
So how big is the chance for real that someone picks up this engine and continues developing new/missing features? Not forgetting on how long one will have to wait for that...!

In the end I'm afraid this Engine gets stuck in its current status. On the opposite I tried out Xith3D, which has some developers and also some features as basic working shadowmaps (only) or per-pixel-lighting. On the other hand it is missing tutorials and I experienced a notable amount of crashes compared to JME, therefore considering it not that stable.

This all causes me to re-consider my decision using a Java Game Engine... I am also not sure now, if this "getting stuck in development, lacking important features" is a general problem of Open Source Engines?

What do I need:
- Purpose: Shooter/RPG or Strategy Game.
- Multiplayer support: only need support for 4-8 players (such as the Multiplayer System Shock 2 coop) - no MMORPG (never)
- Physics
- Engine should be capable of graphics features possible to produce titles which look decent enough for a commercial release (let's say: Doom3 graphics as Minimum)
- Decent Light & Shadows
- As cheap as possible

Also I really would like to have platform independency (windows, linux, macos). I don't know if this is gonna work though... Also there should be at least *some* developer, so the engine does not get stuck as I've experienced; or better - most of the "required" features are already implemented!

I've been looking through the 3D Game-Engine Database a lot of times now and I am still not sure which is best for my purpose.
I've also considered to switch to a C++ engine, although I never programmed in C++. I think however that I could manage learning C++ after glancing over some online tutorials of C++; it seems to have many things in common with Java (except garbage collection, handling of call by value/reference...).. should not be such a big issue to relearn, should it?
While searching the DataBase the most promising GameEngines I've found were Irrlicht,C4,Nebula Device... still not sure which of them to use, and if these are the best options...(and the time the Doom3-Engine will become OpenSource is also unknown...).

Therefore I am asking you people for helpful hints. Are my considerations justified at all? What can you people recommend me? Or tell me about your own experiences, I'd like to read that as well :)

fireside
11-08-2008, 09:35 AM
I didn't know that about JME. That's kind of depressing for java development in 3d. I think Ogre probably gets the most development but you need to add libraries for sound, etc. Irrlicht is more set up for fps and it gets worked on quite a bit, but it's not as object oriented as Ogre so it's a little harder to customize it if you do something else. Cross platform in c++ means compiling on each platform, so that's not too cool, really. Panda3d looks really interesting to me, but I can't find enough time to get working with it, but it gets worked on a lot and uses python for scripting so no memory management or anything. Nice manual, also. Another interesting one is Horde3d. I don't know what you use for a modeler, but the first thing I check after the specs look like what I need, is to try to get my models from Blender in there because that's number 1. You can learn any engine.

Derek
11-09-2008, 09:29 AM
I agree that importing models from blender is important. Blender offers a nice amount of export formats, so that's comfortable :)
Panda3D also looks interesting, though the last time I've heard some rumors that it might get stuck too, because Disney stopped the work on it. But don't take my word on that. Ps: after looking through the forums & showcases the shadow-management seems to lack there as well...

@Ogre3D: I tried it but was not content with it. It sometimes crashed seemingly without any reason (some SampleDemos right after starting, and also a freeware 3d chess game made by Ogre I downloaded once (can't recall the name though) happened to crash without reason giving me an overall impression of an unstable engine. I'm adding that a friend of mine encountered lots of problems when trying to build the code on linux. Also I read comments in devmaster (here) that it's solely a graphics rendering engine, and things like "Code is a mess".. etc. well, you get the picture... it's not very motivating starting to work with such issues.

Horde3D looks interesting, but the community is very small. Looks like it's still in an early state, therefore lacking features. This is however only an assumption based on what I've seen on their homepage and read in their forums.

Back to Java again, I found out that AgentFX v2.0 seems to have good features including Light/Shadow Management. Unfortunately there was no update since 2005. I looked on their homepage and found out that there's already an AgentFX v.3.0 (!) including high-end features (HDR, etc...)
I looked for some release then: nothing to download... no public version... not even a commercial relase... what is this? Obviously they are not interested to give their code to anyone... why praise it then on their website (http://www.agency9.com/products/agentfx.html) :dry:

fireside
11-09-2008, 05:36 PM
@Ogre3D: I tried it but was not content with it. It sometimes crashed seemingly without any reason (some SampleDemos right after starting, and also a freeware 3d chess game made by Ogre I downloaded once (can't recall the name though) happened to crash without reason giving me an overall impression of an unstable engine. I'm adding that a friend of mine encountered lots of problems when trying to build the code on linux.

It gets used on a lot of linux projects and is stable. I'm pretty sure Super Tux Cart used it. It was also used for some professional adventure games that were also ported to linux, but I can't recall the names at present. Panda3d is worked on at Carnegie Mellon university or something like that. I doubt that they will stop working on it. How important is shadow management really? Doesn't have much to do with a game. I notice when there aren't any, that's about it.

C4 gets recommended quite a bit as a professional engine so you might want to look at that. The licensing looks half way decent on it.

Derek
11-10-2008, 02:43 PM
How important is shadow management really? Doesn't have much to do with a game.

Where there is light, there is shadow. Shadows have a major impact on the realism of a scene; there is a number of well known games where shadows are an essential part of gameplay...

starstutter
11-10-2008, 03:21 PM
Where there is light, there is shadow. Shadows have a major impact on the realism of a scene; there is a number of well known games where shadows are an essential part of gameplay...
Don't forget they can greatly affect the players abillity to judge distance, which in turn affects gameplay.

rogerdv
11-12-2008, 04:36 PM
I have been using Ogre for a year and although I have found weird crashes, Im very happy with it. Another choice is CrystalSpace, but seems not to be compatible with 64 bits systems.
Also Blender Game Engine seems to be getting a lot of attention and polishing lately.