I’d be happy to work on a DX binding for Java, if you could show there was any way to get it onto the XBox so you’d have a path for Java games developers. Without showing that that is possible (and no, I don’t mean via mod chips!) then I fail to see the point.
That might be because (a) all games have DirectX bundled with them, (b) it is installed with Windows and © all graphics cards come bundled with the latest driver! If all games were bundled with OpenGL and installed with Windows then you’d have 100% with OpenGL too >:(
I think it’s only a matter of time before the first video card manufacturers will drop OpenGL support in their drivers for Windows.
people really interested in 3D gaming have OpenGL installed because they also update drivers regularly…
Sure, they’re not part of the compatibility problem. But the 35% of people without working OpenGL drivers might still be interested in our games, which is a lot of potential left on the table.
I’m also getting many reports of people that aren’t able to run my games because they don’t have working OpenGL drivers.
I think the best solution is:
- A D3D binding
- A wrapper that translates OpenGL calls to this D3D binding to make it easier for multi platform development.
The point is:
a) better compatibility on windows
b) more interest from games developers with solid D3D knowledge, which leads to
c) more java games on windows and recognition of java as a serious gaming platform
But the whole D3D bindings breaks the whole compatibility of Java, however the idea of a translation wrapper is good. In fact I am planning for a similar project as a masters involving efficient wrapper translation for a very interesting piece of research!
[quote]But the whole D3D bindings breaks the whole compatibility of Java
[/quote]
Well, that depends on how you look at it 
If by compatibility you mean ‘the number of OS-es your game runs on’ then you’re right, but if by compatibility you mean ‘the number of machines your game runs on’ then D3D means more compatibility.
Remember the D3D pipeline in Java2D is there for compatibility reasons too.
Only for the 3 named “famous” people, who are mostly rich in their own right from share options in previous companies anyway.
The number of programmers that earn 55k-65k in games dev is a large multiple of the number of designers that do.
I can assure you that is not how Codies works in general. You must have walked in on a project at a very particular point in it’s dev cycle. The ratio of coders to asset generators on a project averages out at somwhere between 1:1 and 2:1. Obviously, it fluctuates over the project, and certain game types (like racing) where there’s all the level editing to be done will have brief periods of lots of extra asset people.
Because publishers won’t allow you to do it if you’re the only one who is.
Because console companies won’t bother to provide any of their libraries in java if it’s only for you (unless you pay them a vast amount of money to do so, and even then probably not).
Because publishers and middleware companies won’t bother to provide you with java libraries for any code, and will force you to use JNI to connect to their “official” libraries instead.
Basically … the whole industry will be against you, and you’ll be incompatible with everything out there, and the industyr is a lot more compatible in practice than it may sound from reading games magazines :).
I suppose this is worth saying
…
If anyone reading this has a strong pitch for an online or multiplayer game, and they want to do it in java, please get in touch with me. amartin at ncsoft dot com.
I promise you won’t get treated negatively because your pitching java. Although you won’t get treated negatively if you’re pitching C++ either :).
I reviewed a new UK games development course the other day that’s due to start imminently. They had no C++ on it, they did everything in java (and flash for “web games” and “artists”). I had (sadly) to point out that unless they taught hardcore C++ they would produce people who would struggle to get programming jobs in the games industry for their first few years.
I’ve worked with lots of students at different unis, and I have to say I’ve consistently seen lots of interest in game development. Typically about one in 5 of computer scientists would like to do it, and about 1 in ten make any attempt to do so at some point, and maybe one in a hundred do something really good whilst still at uni. YMMV
Nice idea, that’s how mainstream IT works.
Sadly, that’s NOT how the games industry works, it’s NEVER been how the games industry works, and that’s why we’re in the situation we’re in now w.r.t. java. Getting the games industry to adopt new languages is a long and painful process.
No, the “best” thing varies depending upon who you are and what you want in life. For most senior and lead programmers working in games, I would hazard that the “best” thing to do is find a way to escape from the major unsolved problems of their profession, several of which are endemic to C++, and are only really going to be fixed by finding new languages and platforms to develop with.
http://www.vgchartz.com/ - PS3 is already around 40% of the installed base of 360. Most people consider it to be doing well.
So the thing to do is make it as painless as possible for C++ Windows devs to get coding in Java and see what they think of it. Later on they can start thinking cross-platform. This means D3D bindings. I reckon D3D 8 is probably the way to go for starters as it covers the vast majority of standard Windows installations.
I just can’t see any other way to popularise desktop games development in the Java platform, because there are very few other tangible obstacles. I really think it comes down to this simple missing API binding. (The other big issues like JRE size etc. seem to finally be receiving the attention they deserve)
Cas 
Im wondering where the 35% of people dont have OGL comes from? Considering MS bundles software OGL (at 1.1) with XP and Vista has an OpenGL to DirectX bridge that supports OpenGL up to 1.4 in hardware…
DP 
Software rendering equals failure. It’s too slow for anything, really.
The Vista situation might be better but the jury’s still out on whether the OGL support is any good. Doesn’t really matter as the vast majority of the world’s installed base will be XP for another 4-5 years.
Immaterial anyway, as the discussion is about why developers are shirking it, and I think that’s the chief reason these days. Or one of them.
Cas 
I don’t think developers are straying from OpenGL or Java because of compatibility. You can bundle Java or OpenGL with your package in the same way that games have to bundle .NET (if used) and the latest DirectX.
[quote]Software rendering equals failure. It’s too slow for anything, really.
[/quote]
The PopCap framework uses software rendering as a fall back, even for its newest games. Casual games with software rendering is a plus because the game can reach a wider audience.
Software rendering is so underrated. I wish it was still software, then I could woe the industry with my improved semi-transparency routine which has no use due to hardware. Or furthered it to be able to reduce the strain of true-motion-blur. Having said that maybe it could (although it does appear to be implemented in the current generation of consoles)!!!