Seems...um, reasonable, but late. Even here nobody seems to think Java is a viable solution for deployment to the web, especially if you're actually basing a business on your product. Applets cause browser hangs more than they work (Pulpcore applets being one of the few exceptions, thanks for figuring all that out David!), and even as a Java developer I have never been able to get my system set up to run a significant percentage of JWS apps without having to look at the stack traces and reconfigure based on what crashed.

It's a shame, too, because for actual coding Java is much more pleasant than AS3 due to the great tools (the language itself? Meh, I'd call it a draw), and the VM is still far superior. Too bad that the plugin has never been made to work right...

I think that Java basically works (even the old applet plugin), there is just more work and resolving many details needed to create good/reliable result... But why not create libraries/toolkits for this? Like PulpCore, if that works very nicely, then it can be done and others can reuse it.

I've tried the application from the blog, but didn't have chance to test it, since I've got exception in log. About missing gluegen-rt in java.library.path. But that's clearly programmer's fault. I'm bit speculating here... but if this simple thing is wrong how many others things they get wrong in their implementation? Generally, I see many rants about Java, and many of them are clearly programmer's faults. Java is very helpful tool, but that doesn't mean it does everything for you.

There is also other issue or more dilemma. OpenGL applets. They're cool and awesome. I've recently saw OpenGL applet using LWJGL and it was really slick experience (and it was using Slick indeed ), worked without flaws. When there were first versions of OpenGL support in applets, it was very buggy, and didn't looked as viable solution at all... but looking at what LWJGL folks achieved it's really good result. Unfortunatelly when the user is really unlucky it can still crash not because of app, LWJGL or Java, but because of fault drivers and even the whole OS can freeze... I don't know if it's good idea to push OpenGL to applets then... plus it requires much bigger download and requires signed code which is something I'm not much comfortable with, but that's more of minor thing when you come with something really good which shines when done in OpenGL. And that's the dilemma

I didn't until 5 weeks ago. It's a fun transition so far, though painful to work in compared to my beloved Java.

From my point of view I don't care about accessibility, given my sites don't get more than a few thousand visitors a day. The big difference so far is there are plenty of portals, ad systems and communities that can help a small games developer make at least some money from it.

Even here nobody seems to think Java is a viable solution for deployment to the web,

I think that Java is a viable solution deployment to the web, I like Java Webstart very much and my game has been installed by thousands of people without any problem (except those who don't use the Sun JVM).

Problem is I can't move to Flash, because I have no experience in Flash whatsoever.

Well, that puts you about even with most of the Flash developers out there.

Having seen your skill with Java, I absolutely guarantee you that within a week of coding AS3 you'd be a better Flash coder than probably 90% of the people out there making Flash games (including many of the "experts"); the coding quality in Flash-land tends to be extremely low, but the art is usually a lot better due to the artist-friendliness of the development environment - it's very easy to find (cheap!) artists that know the tools, and to integrate their work into a game. Re: code, the calls you have to make to do things are slightly different, but they are very standardized, and there's usually only one or two ways to do each thing. And the language itself is dead simple once you get the hang of it; for most purposes, you can design as if you're writing Java, just with a few quirks here and there. Again, though, the IDE experience leaves a lot to be desired (as far as I can tell, the only way to go is to get the official IDE or pay for the Eclipse plugin, both of which suck compared to Eclipse/Netbeans/IntelliJ for Java), which is the main reason I somewhat dislike it, and you have to get used to performance that's at best half of what you get out of Java, and a whole new bag of optimization tricks (a lot of micro-optimizations are still, unfortunately, critical in Flash).

The big difference so far is there are plenty of portals, ad systems and communities that can help a small games developer make at least some money from it.

You can often get a couple thousand bucks up front plus pretty wide distribution and the ability to embed ads in your game fairly easily in Flash-land; I don't even know what the last time was that a major portal sponsored a Java game. Developers with successful games under their belts are practically guaranteed a few thousand bucks immediately upon releasing just about anything, which means if you're good and fast (a few weeks turnaround for a simple casual game) you can really make a shot at doing it full time.

Not that it's all about the money, but it sure does sweeten the deal...

Quote

Re the 30-50% losses, is this because of java versions (ie 1.5 not running on 1.4) or because there's no java at all? I hunted for distribution figures for java versions but no luck... Sad

IMO, the crucial difference is not that many people will come to your site and leave because you've got Java; it's that your game is going to live and die on your site, and only your site. This is fine if you've got a healthy amount of traffic, as site-based ads tend to monetize content better than embedded ones, anyways, but if you don't get much traffic then it doesn't matter. Flash games get spread far and wide, and the good ones will show up on hundreds of different sites and portals, the vast majority of which won't accept any submissions that aren't Flash. Even if you make 1/10 the ad revenue per view, I'd guess that the viral nature of Flash games means you'll end up making quite a bit more money in the end if your game gets popular.

The reason that sites won't accept non-Flash stuff is probably that a) users have a lot of trouble running Java applets (system hangs, browser crashes, the dreaded omnipresent "red x"), and b) since most of the games making the rounds are Flash (partially due to a) ), there's no point in setting up content management systems that can even support anything else. Most of these sites literally couldn't embed Java even if they wanted to.

I think that Java is a viable solution deployment to the web, I like Java Webstart very much and my game has been installed by thousands of people without any problem (except those who don't use the Sun JVM).

That's part of the problem, though - yes, thousands is a good number for a Java Webstart game (though I will note that I can't try TUER myself, the php file wants to save itself rather than display...maybe it's because I'm on a Mac). However, successful Flash games are measured by the millions of hits they receive per month!!! This crucial scale difference is what determines whether you can do something only for fun versus for real money and for a living. People trying to make careers out of casual games pretty much have to stick with Flash.

For downloadable games for sale, it's another story; people are willing to do a bit more to install something that they've paid for (unfortunately game sales are a bit tough to drum up in many cases, though the mobile market is looking better and better in that regard). But for casual stuff, you get one click - if the game doesn't work right within about 15 seconds, it'll never get another look from that person.

IMHO this represents a failure of JOGL, or native code in general, rather than Java.

Longer download, native libraries that don't work 100% of the time, and the "Trust" dialog = loss of users.

I saw the exact same thing with another Facebook Java applet. It used native libraries, and people complained about the startup experience either being slow or not working at all. Instead of porting the native libraries to Java, the developers ported to the native code to ActionScript because the perception was that it was Java's fault.

If your applet has the right startup experience people won't know - or care - if it's Java or not.

(Java penetration rates are between 85%-95%, depending on who you ask.)

I don't have an exact numbers perhaps Milpa needs some sort of pinging.

Analyzing log files it hard because of robots, repeat players, etc. But, looking at the numbers, I could "guess" a minimum of 80% and probably around 85-90%. These are folks who download the assets zip, so they're "inside" the game.

Quote

Yeah, my stats say ~85% of the visitors have Java.

But that doesn't mean the applet works! It can hang for quite a few obscure reasons.

The survey presents respondents with several pages, each with a graphic image in a different media file format, and asks respondents to indicate whether or not they can see each image. Depending on which images the respondent is able to see we are able to identify which version of the plug-in technologies they have installed on their computer.

I must admit I've not come across a computer in the last 3-4 years that hasn't had at least Java 1.4 installed on it already - and I've fiddled with a fairly large number of them. The problem mostly it seems is that people just can't figure out how to make applets run successfully. I'm going to have a stab at it soon with Titan Attacks and friends, which should be interesting.

This is an interesting conversation. As someone who has used both Flash and Java, I have to say that they really are very different mediums at this point. Some of the games I have made in Java I realize would be better in Flash, and vise versa. If you're going for quick easy and casual, Flash is the best bet, but anything immersive or complicated should be done in Java.

IMO, the crucial difference is not that many people will come to your site and leave because you've got Java; it's that your game is going to live and die on your site, and only your site. This is fine if you've got a healthy amount of traffic, as site-based ads tend to monetize content better than embedded ones, anyways, but if you don't get much traffic then it doesn't matter. Flash games get spread far and wide, and the good ones will show up on hundreds of different sites and portals, the vast majority of which won't accept any submissions that aren't Flash

is just about how I see it.

Building and distributing casual web based games can be done in Java applets, is just alot easier and quicker in Flex/Flash. If you're trying to be productive (which is the reason most of us use Java) or trying to make a few bucks then it's still way more effective to use.

I still believe in Java for desktop and/or more heavy weight games - as soon as the data structures get complicated or the computation gets heavy it wins out every time.

As you can imagine, it's been a hard thing to accept for me. The hardest bit was realising that casual web games for tiny bits of cash is what I've been trying to do for years

That's part of the problem, though - yes, thousands is a good number for a Java Webstart game (though I will note that I can't try TUER myself, the php file wants to save itself rather than display...maybe it's because I'm on a Mac).

When TUER was only a student project, my teacher was under Macintosh; if she hadn't been able to launch my game, I would have had a very bad mark (0/20). The php file produces a JNLP file and the MIME type is well written (so that your operating system knows that it is a JNLP file that has to be opened with javaws), you only have to open the file with Java Webstart. I have already done my best to be sure that it works fine everywhere with the JDK 1.6, lots of people have succeeded in playing with TUER under Mac. I'm sorry, that was not clear, TUER works fine under Mac OS X 10.5 software update 1 with the Apple JRE 1.6, I should have said it before. There is an equivalent link to a JNLP file here:http://tuer.tuxfamily.org/tuer.jnlpSome browsers automatically use Java Webstart when the MIME type is set at the beginning of the file, that is why I do it inside the php file (I'm not allowed to modify the configuration of the server, nor php.ini, httpd.conf neither mime.types):

At least one of these methods should work. I will ask the administrator to add the following line the Apache configuration file .mime.types:

1

application/x-java-jnlp-fileJNLP

or this in httpd.conf:

1

AddTypeapplication/x-java-jnlp-file .jnlp

I have put it into .htaccess but I don't know if it works. If you're under Safari (with an old version above all), please use MisFox to configure the association between mime types and default used applications.

Your game isn't a casual game though, is it? The more casual/diverse the playerbase is, the less likely they'll have Java or want to put up with Java. People are impatient, and if it doesn't work the first time, they're a lost customer.

Lol, 850 000 000 computers are Java-enabled In France, you have to install Java if you want to pay your income tax (at least Java 1.5) and consult some information about reimbursements for your health care. Therefore, only a few people don't have Java.

However, successful Flash games are measured by the millions of hits they receive per month!!! This crucial scale difference is what determines whether you can do something only for fun versus for real money and for a living. People trying to make careers out of casual games pretty much have to stick with Flash.

And then what? Should we all use Flash rather Java? Why is there so much defeatism here? As I already said, we have to find alternative ways to live from gaming (earning money with our games) instead of complaining we cannot do this yet, it is a more constructive approach and that is what I have tried to do with the FGF.

Building and distributing casual web based games can be done in Java applets, is just alot easier and quicker in Flex/Flash. If you're trying to be productive (which is the reason most of us use Java) or trying to make a few bucks then it's still way more effective to use.

I still believe in Java for desktop and/or more heavy weight games - as soon as the data structures get complicated or the computation gets heavy it wins out every time.

As you can imagine, it's been a hard thing to accept for me. The hardest bit was realising that casual web games for tiny bits of cash is what I've been trying to do for years

Kev

Aye, it's all about the crappiness of applets really. If you're after the ultra-casual gamer who browses by and plays a game for a minute or so during lunch you've got to "just work" as soon as they open the relevant web page. Applets seem to have been neglected by Sun for years (who are more interested in adding wizzy new features like drag-to-desktop rather than addressing the core reliability/usability issues).

If (like me) you're going for the more indie/shareware people who expect to download and unzip/install something then Java makes much more sense. Flash doesn't work here since you want good performance (and quality expectations are higher) and it's advantage of just-working in browsers doesn't matter any more. Similarly native code gives you the performance but makes development and crossplatform builds a right pain.

When TUER was only a student project, my teacher was under Macintosh; if she hadn't been able to launch my game, I would have had a very bad mark (0/20). The php file produces a JNLP file and the MIME type is well written (so that your operating system knows that it is a JNLP file that has to be opened with javaws), you only have to open the file with Java Webstart. I have already done my best to be sure that it works fine everywhere with the JDK 1.6, lots of people have succeeded in playing with TUER under Mac. I'm sorry, that was not clear, TUER works fine under Mac OS X 10.5 software update 1 with the Apple JRE 1.6, I should have said it before. There is an equivalent link to a JNLP file here:http://tuer.tuxfamily.org/tuer.jnlp

Ah, okay - that looks like it's working now; that's not a Java problem, to be fair, probably something related to the way Firefox is handling the MIME type, I'm not entirely sure.

Quote

And then what? Should we all use Flash rather Java? Why is there so much defeatism here? As I already said, we have to find alternative ways to live from gaming (earning money with our games) instead of complaining we cannot do this yet, it is a more constructive approach and that is what I have tried to do with the FGF.

I'm really not trying to be defeatist, honestly, I apologize if that's how it came off; I'm just suggesting that in some cases deploying to Java is not the best thing to do. I think that kevglass is right on, that for games with more going on in them that don't really fit in to the "casual" category, Java is going to provide a far better user (and developer) experience than Flash; for things that you expect people to drop in and play for just a few minutes at a stretch, or games that you want (need?) to get massive numbers of views on or pull a sponsorship for, Flash is the way to go unless you already have a site that will get you a large number of hits (that can definitely be done, but it's a whole different problem from writing games!). It sounds like kevglass is moving more in the casual direction, and that's also probably where I'm headed as well, though I'm also keeping a keen eye on mobile (at least we have Android!); for people doing desktop games or things that need a lot of computation or 3d, Java's still by far the best option (if not quite the fastest).

In any case, for small games it's a snap to port them to any language you want once you have working Java implementations (most Java concepts map pretty directly on to almost any of the other popular languages, especially if you're careful about that stuff as you develop), so it's probably not that big a deal anyways.

Recently i had to deal with a business application that used a very simple applet, and guess what, the applet didn't work under Java 1.4 (it should have). It just presented a blank area. After the client upgraded to Java 1.6 the applet worked. I guess its the same situation with Java applet games. "It just doesn't work". No popup to upgrade to newest Java, no automatic plugin download, "It just doesn't work". I think that's the biggest problem. Oh, and the security popup. And the startup time of the applet. And the user shouldn't even know he is interacting with a Java applet.

We noticed a bit of traffic coming from here and I wanted to take a minute to respond. First of all, this forum has probably been the most reasonable discussion of this topic that I've seen so far. I applaud you all for your ability to understand the situation.

Most of you have touched on this but I can't stress that the biggest problem is the user's experience. It's true that JOGL contributed to this, but I don't believe JOGL is really the issue. Ken Russell actually chimed in on our blog and I honestly feel bad because he's given us a lot of support and I really like JOGL.

As a couple of you have also mentioned, applet's "basically work," but there are lots of unforeseen issues. The percentage of our users that have Java is actually pretty high. Unfortunately, so is the percentage of them that have issues with Java. I mentioned on our blog that it's really hard to get a frustrated user involved in a difficult QA process. They need to REALLY want to use your product. With so many people having these problems, you can spend a lot of energy trying to address them. As a startup, we don't have the resources to do this. With Flash, most of that just goes away.

It has been really interesting following the community's response to this. I love seeing the passion people display, regardless of whether or not they agree with our direction. I've stated before and I'll state it here again: I hope that Java does succeed as a gaming platform. It's just going to take a while to repair the damage.

At my day job, we've evaluated using Java for our games before. There would be some massive technical benefits from doing so, but unfortunately, it's just not user friendly enough right now. I should mention that our target user is a middle aged old woman.

I'm not really "guru" enough to make any comments about this, although reading this stuff on kev's blog and his post here, its like a punch to the stomach lol, almost like we are losing one of our greatest supporters, or something like that lol..am I the only one

(post wasn't meant to anger, offend, or make you feel bad kev, just saying its kind of how it feels)

Shame, I was aiming for the face - just not at you. I'm looking at because it happens to have turned up as my next technology to play with (imo a good developer checks out a new language/technology every 6-12 months). However, having looked at it and then then compared it to my experiences with simple browser based game development in Java I wanted to punch someone at Sun in the face.

That said, I've spent nearly 10 years of my spare time developing games in Java and I'm not expecting that to change any time soon. I'll still be developing my bigger and desktop projects in Java since it's so productive in these areas. However, if getting your games played is important to you (it is to me, don't see how you can improve without quality and quantity feedback) and your developing web based games it's a bit of a waste of precious spare time at the moment to be trying to use Java applets - unless of course, you're just interested in the challenge. You can of course dress Java applets to look like flash (thats exactly what I did with Putty Puzzle) but thats a) extra work and b) not going to stop the random/odd failures that people still seem to get with applets.

Java rules in so many ways, it's just that browser based games isn't one of them. Pulpcore makes it a lot easier and Java FX might be great when it's done, but right now my experiments over the last month or so are telling me Flash is the right tool for the job.

As supporters etc, it's not a war after all. We don't have to defend Java or attack Flash. They're both just technologies among a sea of others. We're all just game developers trying to get our ideas implemented and played. We can only choose based on technicalities, prejudging things based on a moral obligation to one technology or another isn't sensible.

Just look at Sun's big news, Project Darkstar. Clients for Java, C, Flash and anything else that might make them some money. Now thats sensible.

It's so darn easy to 'roll your own' these days, with URL protocol handlers like that .FX project used:fx://mystuff/which launches your own application with the URL as first argument.

You 'just' have to get your own application (with embedded JRE) installed everywhere... (bummer) but after that the world is at your feet. No more plugin trouble, but unfortunately (?) also no applets embedded in the webpage. It's simply JavaWebStart, without the mimetype problems and all other quirks (and bugs!).

I 'rolled my own' this way to provide an alternative for everybody that did not succeed in getting the applet to run.

All we need is some (game)platform with a name not in any way refering to 'Java', in which your average SecurityManager is enabled, every app runs in it's own JVM. What else could we want, except the initial 14MB download.

Hi, appreciate more people! Σ ♥ = ¾Learn how to award medals... and work your way up the social rankings!

I was looking at the possibility of stripping all unneeded classfiles out of the JRE to reduce the download size but it turns out that Sun's license specifically forbid you from doing this. Still, I suppose I could do it and get away with it if I used Molebox to protect the exe. Molebox wraps your app, or game into a single exe. Most of the space taken up in the JRE bundle seems to be taken by the rt.jar file, which contains stacks of stuff that I don't need.

As for shareendipity's move to Flash, I can't say I'm really surprised given the intensely awful end-user experience generated by the applets plugin *and* Java Webstart. Pulpcore applets are cool tho'. *But* as soon as you get into signing issues because your applet uses native libraries your gonna start scaring the user with nasty looking dialogs. Not really a good intro to a game, is it?

Haha *whew* , but yea, I understand what you mean about a good programmer experimenting and using many different languages which are better for different jobs, and also have to agree that applets are...not great. I guess it was just a feeling of "we are loosing kevglass" lol, but yea your games are great so im happy that you have the ability to get them played and make money off them now with flash!

Nice... 91% is not too far away from the measurements already posted in this thread, and in the refered article.

The problem is that it is not guaranteed to work on 100% of that 91%, it's more like 35-55% out of that 91%, resulting in 33-50% of installations with problems. I clearly recall Flash stuff on the www.java.com frontpage. Talking of which, the localisation of the current java.com pages is still CRAP, just like a year ago, it's offendingly stupid phrasing to any non-english visitor.

Hi, appreciate more people! Σ ♥ = ¾Learn how to award medals... and work your way up the social rankings!

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org