Actualy for what you guys are telling me i don’t intend to use neither one or the other. To use LWJGL or JOGL without being able to use java enumerations, generics and all the rest of the magic in 1.5 is worst than working with C++.
At least C++ enumrations are ints but give some sort of type checking which doesnt happen when using java ints. As for the performance argument sure there will be a certain performance but first research an implementation of java bindings for OpenGL using enums and do some tests with a real game, then say it doesn’t work. I think you are giving up on this too soon.
Besides you have to build an engine on top of an extra layer that is worst than C++ and keep rebuidling it completely every one or two years.
Why ? Because thats how it is. Just check Doom3, Half-life 2, Morrowind or any other successful game. Game engines are complelety rebuilt every two years (sometimes more).
I sugest you guys read more:
or
http://www.gamedev.net
the management sections. Its very rare for someone actualy reusing an old engine.
Let me restate my arguments. What are the advantages of using java for building games that can compete with the best C++ products ?
- Using a clean and high-level lanuage, better optimization of code, garbage collection, more portability among different patforms that can run a javavm.
The advantages are more advanced programming techniques, better developement tools with refactoring and contract programming, less programming effort, less money spent on writing and testing code, more stability on the project, product is delivered sooner and more stable.
The high-level language really pays off when the code complicates itself with advanced AI and a complex scenes that require advanced lod techniques and resource management. So java, in principle, can help making better games.
-
Forget about engine reuse and don’t mix PC games development market with visualization market or mobile phone games or internet games or any other thing.
-
You will need to convince a publisher to sell your game and they have these numbers they get from their sales department that tell them when games are bull and when they can be sold. They may be wrong but they wont buy our games unless we tell them what they want to ear.
First it must run and it must run with a small performance difference.
Second it must be well integrated with the most common art development tools like 3d studio or maya.
Third it must look good and have the latest firworks depending on the game class.
Also depending on the game class (an rpg for instance) you must avoid things like turn-base, 2d isometric, and stuff like that have a very low selling value.
Fourth being a C++ game or based on a known and realtively recent engine. Not saying that a Java game won’t sell but it has to be a very good game and not show any weakness towards C++ games.
So to resume my arguments a publisher won’t be convinced by telling him the game is made in java or not but i must have a significant advantage using java instead of C++ otherwise doing a game in java to compete with games in the same area as Doom3 or Half-Life 2 is a waste of time.
Its much better to have bindings for a native mini-engine that does the bare minimum but allows me to use 1.5 language features, instead of direct bindings to the opengl apis.