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 :)
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 :)