sad thought

In the infinite boredom of study I have casually arrived to some jobs section of several game developers web pages this week, i didn’t expect to find any of them looking for a java programer (and, in fact, i found none ofering work for a java dev, only c/c++), but i found some of them including as requisite or bonus knowledge experience with c#.

why? whatever you can do in c# you could have done it in java before. has the game industry “skipped” us without noticing?

I think it is a difference between pushing and supporting.

Microsoft has pushed game development and Sun has only supported game development. Now understand, Microsoft is in the game development business and is the creator of C#, while Sun is not and really have no reason to be involved in game development. So from that you can see why you are seeing C# programmers being sought for game development more than Java.

My two pennies! Some of you may think it’s not worth that much! ;D

Yeah I think that is the case.
Last year I talked with a guy who did a variety of languages including Java and C#.
He very strongly advised me to learn C# if I wanted a programming job and skip Java.
We were not talking about game dev, just general programing.

( disclaimer: We were just comparing those 2, obviously C is major )

Intresting, in general programming I’d advise the exact opposite. C# is still seen as cutting its teeth in enterprise situations (while the Microsoft propoganda would tell you different). I see far more java jobs out there than C# (or C for that matter). C++ still seems to the most used but thats slowly falling behind.

However, in games development I think you’re absolutely right. C# is definitely more popular. However, I don’t think thats so much to do with Microsoft pushing games development (they have they’re fingers in so many pies I’m not sure Games is really what you’d call a cash cow to them). I think its more that by far the games industry is full of C/C++ programmers and the migration path to C# is percieved as much easier (and to a certain extent it is).

Kev

I think it’s about target platforms. Most AAA dev shops focus solely on Windows and consoles. With Windows and XBox, they use the DirectX API. Considering that their dev machines will also be Windows boxes, C# is an excellent choice for tools development as it allows for RAD and it will integrate nicely with their DX engine. So I think that’s what you are seeing. It’s a result of C# fitting squarely into the current environment while adding a benefit over existing tools development practices. Java will lose out every time in that scenario.

but if they are going to do the usual thing with c# + directx, why don’t do it on java + opengl and you’ll have the usual market plus mac and linux players (yeah, we linux players, are litle in number, but strong in heart :p)

Because then you lose the consoles. That’s why engines like Unreal and Gamebryo are so successful. They provide PC and console support out of the box. Unreal Engine has been ported to Mac and Linux, and has an OpenGL renderer, but not many liscensees make use of it. It’s a DX world right now in the gaming industry. Linux is never going to be an option for most AAA companies. Perhaps Mac will get more attention with the success of WoW and the switch to Intel. But until Java gets out there on the consoles it won’t even be considered by comapnies that wish to publish on those platforms.

There’s still some room for Java in the PC space, but it’s been said many times that no one will make Java games until they see some successful Java games. It’s mostly the realm of Indies now. We need more events like Puzzle Pirates getting picked up for retail distribution by a AAA publisher. We need a couple of break out successes. We need a major developer releasing a hit Java MMOG on the Sun Game Server (the client most importantly). We need high quality Java Game Engine that rivals Gamebryo. When we get all of that, then I wouldn’t be surprised if a few shops that had no console aspriations made the switch. Realistically, for most AAA shops C++ for the game and C# for the tools is the best route to go at present.

This is a bit of a naive question, but why do people feel that Java needs wider acceptance for games development?

From my (non-professional) point of view, Java is a nice language to program in, and so when I’m writing games (for, let’s face it, my own amusement) it’s my language of choice.

But would having (for example) a JVM in a console make the world a better place? If Sun started really pushing Java for games, would game players benefit?

Yes.

Bigger market for developers, more options for consumers. You could buy a game and potentially play it on your PC or your Playstation.

Like I wrote here years ago… I want to see the day when I walk into the video game store, grab a box and look for the “Java Platform” logo on the box and know that I can play it on whatever I have at home. I don’t have to find a Mac section in some darkened back corner (because they don’t exist - you can only buy Mac games in Mac stores or online!), I don’t want to have to ignore the 3.5 walls of console games if I only have a PC. Game machines with “exclusive content” may be good for selling that brand of machine, but the consumers don’t benefit from it at all. Consumers benefit from choice… and Java games done right should give them more choice.

Nice answer! I’d never thought of language portability in quite such grand, sweeping terms before!

On the downside, when buying a game you’d have to check the small print on the back of the box. “Recommended system: Xbox, Gamecube. Minimum system: PS2.” (That sort of thing is why I’ve always avoided PC gaming, but I guess it’s just a minor quibble in the grand scheme of things.)

It’s a real pity Sun doesn’t have the resources to port the JRE to the XBox360 and PS3 - I love swpalmer’s vision of pervasive gaming across platforms, although obviously the quality level would have to vary depending on the hardware. But that would still be easier than having to port to multiple platforms, I imagine.

Although in theory, don’t most systems support DVD as a distribution medium nowadays? Would it be possible to ship a multi-platform game that has binaries for Windows, Linux, Mac and both consoles? Since (I image) most of the disk space is take up with graphics, sound and video, I’m surprised it hasn’t been done already.

Then hes a partisan or just brainwashed.

In general coding, by the numbers, Java is by far the leader both in growth and total usage. Boosted ofcourse by its almost exlcusive hold these days on enterprise coding.

Yeah maybe, I dont know him very well.
Certainly his point wasnt that C# was more in use now but that learning C# rather than java would be a good move.

I havent even bought a C# book. I dont have enough time to do as much Java as I want, never mind learn something new :slight_smile:

It has. The last two Myst adventure games had been distributed on a DVD that works with both PC and Mac. I couldn’t find the DVD verison in my local stores so I bought the PC-only CD distribution… only to find after some careful hacking that it was using Java… So I looked further and foudn that in fact it included the full distribution and by copying some folders around and manually launching the Java InstallAnywhere installer on the Mac I got a working install of Myst V: End of Ages (lame marketing weasels made Mac users pay more for the “Limited Edition” DVD just because they could!)

As far as Myst-style games go, there is a whole genre that has been perfectly suited for Java for the last ten years! Why write a custom VM for each platform (like to old Infocom Z-machine). Even if you use a custom VM you could write it once with Java and the performance would have been good enough back in 1995… The only thing preventing a lot of pro game developement in pure Java for the longest time was the lack of the full-screen APIs. Myst V appears to use a small bit of native code for playing video sequences and it obviously has OpenGL bindings or a 3D engine of some sort… I don’t know for sure that the full game logic is Java, but it is definitely using a scripting engine of some sort and Java does get installed.

It seemed for a while that it was the first-person-shooter that couldn’t be done (well) in Java… but that is clearly not the case now. These days the Java platform is a great choice for development on PC, Mac, and Linux, regardless of what you need to do in your game - with the exception of video playback for cut scenes or something, JMF is sadly still unuseable for that. Fix JMF and port the JRE (with JOGL and JInput, or LWJGL) to consoles and you take a massive leap forward for Java gaming on the client side.

This is quite an interesting site, althought not directly scientific, about language popularity,

http://www.dedasys.com/articles/language_popularity.html

very interesting

Java seems to do pretty well there :slight_smile:
And I think from the statistics there it seems pretty clear, that C# is not the choice of many programmers, but more the choice of their employers who think that they have to go with Microsoft.
Ok - this Microsoft-Power is not so nice :frowning:

microsoft knows how to promote their soft and the history will be the same like old competicon betwean nescape and i.explorer they will try to promote C# and leater burn their conqurention. Thats not true that sun it is not intrested in gaming indusrty. IT is intrested but only in mobile gaming industry and forgot a little about online java gaming.

I have a question for you, maybe you know the answers: Does sun plan to make some jvm for ps3 and xbox becouse that consoles will extensivly use internet so they must have some kind of web browser so maybe it is possible for sun to make such jvm as a plugin etc . Is sun even intrested on it or it is waiting that someone will make for them (like jvm for ps2) or mobile industry (java mobile industry is strong becouse of mobile companies/vendors who promote mobile games, web sites, sdk’s etc)

I see alot of game developers creating their games in Flash MX and other flash programs now.