That was more of a joke really. I showed the flip-side of the conventional wisdom that the new “modern” languages give you more time to spend on the application rather than technical detail.
I thought I sensed a certain degree of whining in this thread as to why game programmers stick to the old trusted C++ instead of jumping on the modern Java bandwaggon.
Well, let me remind you that Java has be seriously crappy during most of its 10 years of existance. It’s only during the last couple of years it has been good enougth for game programming at all. Today it may be a myth that Java is slow but it wasn’t just a few years ago. Java hasn’t even had OpenGl support until very recently.
So yes Java is modern. It’s so modern it has barely arrived! ;D
Um, its pretty straightforward: professional games developers all know C++. Practically none of them know any java.
A small number have “played with” java and, increasingly, been pleasantly surprised. They have no idea how to write much more than a simple scrolling shmup though. Many played with java 5+ years ago, and still slag it off because “you can’t do any hardware acceleration of graphics” or similar outdated nonsense.
The thing is…it’s rather hard to write a game with a team of developers when you can’t hire any staff to do the actual work.
Wasn’t version 1.4 introduced in 2002, about 4 years ago? Well it may have been usable in the sense of passable but I would say Java didn’t get fully game enabled until 2004 with the version 5.0 JVM and JOGL.
To be honest, Java hasn’t been a real option for gaming until very recently after far too many years of hype and that in my view explains to some extent why people may feel reluctant to throw the proven workhorse C++ overboard for Java that has been around for 10 years without really cutting it but now suddenly has become, well, “modern”.
I myself go for Java but I can fully understand why people are hesitating.
To be honest, I’m not sure I see any reason someone would choose Java for their games development project now. Everything it does well* C# does equally well or better and given that it is no harder for your experienced C++ developers to learn C# than it is for them to learn Java (easier, in some respects- stuff like Structs and Enums have been in C# from the start) I can’t see a compelling reason for a games development house to work with Java.
*I’m well aware that java has advantages, but I don’t see many of them being relevant to games development. It’s great for an amateur like me, though - the JVM reliably falls over before my PC does…
[quote=“uj11,post:25,topic:26008”]
It all depends on the type of game…
Myst could be done with Java 1.1 and some simple API bindings to do fullscreen graphics
Many strategy games could be done with Java 10 years ago.
Many games for young children could be done with Java 10 years ago.
For the elite FPS, fast action, whiz-bang graphics, yes it is within the last year or two that a ton of progress was made with the OpenGL, OpenAL, JInput bindings and general GC improvements and VM speedups that basically let Java attack any genre of game without a handicap.
Absolutely agreed - at the moment the transition from C++ to C# is much easier. The question has to be why arn’t more games companies using any modern language - C# or Java, I don’t really mind - just as long as we start seeing games with more features, gameplay and innovation because the developers safe enough time in using modern tools to add them.
From the replies to my blog entry it seems to be strictly console related - to port to a console we need low level optimisation control => C++. Presumably this changes as the console/PC line blurrs.
Well, we know why they’re not considering Java en masse, and we’ve argued and ranted about it over and over again for the last 5 years on these very boards C# is almost certain to dominate in very short order, due to Microsoft’s canny vision and the XBox and Vista.
quote author=swpalmer link=topic=12259.msg99048#msg99048 date=1139329878]
yes it is within the last year or two that a ton of progress was made …
That’s my point. After having been around for 10 years Java has been a viable option for gaming for only two years at the most. With a track record like that it’s somewhat pompous of Java to declare supremacy over C++ which has been pumping out game after game over all these years.
It will take maybe 5 more years for Java to gain the confidence of game developers. And the only way is to start producing popular games, not by claiming to be better than C++.
What are you on about 2 years at best? 1.4 came out on 13th February 2002, which is 4 years ago, and for some time while it was in beta I was working on the precursor to LWJGL. I wrote Alien Flux, what, 3 years ago, and the terrain demo thing even before that by at least a year. The Mac still doesn’t even have a normal 1.5 installation, and 1.5 is barely any faster than 1.4 anyway.
Java’s basically been good for AAA gaming since 2002.
Um… you ignored the relevant bits of my post that showed how that is not entirely true. It is only true for a subset of “gaming”. Java has been used in games prior to the last two years.
ease of distribution for 3 diferent platforms (not many solaris or bsd players :p) and shorter development and debuging cycles are two good reasons for me
i’d say if you are not convinced that the newer languages will be better carry on with ur current language, the games industry will probably start switching once they start seeing competitiors out doing them with the advantages that modern languages have to offer.