There have been a few - most of the jagex funorb stuff is java iirc, but yeah, it's mostly flash.I think the main reason is user perception: flash is glossy and it works so people trust it. Java seems nerdish or even amateurish in the browser (yahoo toolbar with your java update anyone? *grinds teeth*).Unless your game has the weight (like runescape & minecraft) to pull people over that hurdle then java's always going to come second.I use java because what I want to do can't be done in flash. If flash was better I'd use that.

Out of curiosity, what do you consider java better for over Flash? At least in a purely game perspective?

Flash clearly has many advantages over Java but here's some that Java has over Flash:

1) Java is much faster, in terms of raw horse power as Java's JIT (Hotspot) compiler is much better.2) You can get access outside the sandbox, i.e. access/save to the local file system, use networking capabilities not possible in Flash, access native code, etc.3) Access hardware acceleration directly using stuff like OpenGL, OpenAL, etc.

Flash clearly has many advantages over Java but here's some that Java has over Flash:

1) Java is much faster, in terms of raw horse power as Java's JIT (Hotspot) compiler is much better.2) You can get access outside the sandbox, i.e. access/save to the local file system, use networking capabilities not possible in Flash, access native code, etc.3) Access hardware acceleration directly using stuff like OpenGL, OpenAL, etc.

Well some of this is borders on cheating when you are talking about applet code. You can only get outside the sandbox by requesting special permissions. And hardware acceleration can only be done with native binaries. Technically, flash could someday write an interface to hardware acceleration as well.

Cost I think is one of the biggest benefits of Java over flash. Eclipse is free, Adobe Flash CS5 is what $700 bucks. I know there is some open source actionscript compiler but the barrier to entry is higher.

What I find is that java applets don't integrate with browsers very well, especially on non-windows platform. For example, on the mac, re-loading of an lwjgl applet don't always work, as the java implementation is not very complete. Also, if you want javascript->java communication, it doesn't work on safari (the last time I checked).

Out of curiosity, what do you consider java better for over Flash? At least in a purely game perspective?

Power - I can push 50K+ polys in realtime in a browser *I love it*Potential - I can tie the server and client code really tightly. Java is A1 for network stuff.People - huge community of smart folk who have some morals.Price - 'nuff said.Java is seriously cool. I take it back about using flash

I don't know if this counts towards your original question, but when I go to view chess games from recent tournaments at the NYTimes site (usually a link from their Crosswords/Puzzles page), the chess playing app is written in Java, not Flash. But it is not a "game" per se, as one wouldn't use it to play chess online. Still, I thought that was pretty cool, it being in Java.

Does anyone have any real recent experience with webstart?all the time people are talking about how they suck, but so far we have had no problems with webstart deployment.

any concrete examples with the recent versions?

perhaps princec could share some of his experience with puppygames, since they provide webstart distribution for his games (sadly they also seem to hate that distribution channel from their comments in the update posts)

There are hardly any relatively successful games distributed only by Java Web Start. I can think of about half a dozen that use GetDown.

There are a few reasons to avoid jws:

1) Mentioning Java is pretty taboo in the gaming world as it instantly attracts trolls that will claim that its slow, bloated and would run better if it was written in c/c++. So the less users know about what programming languages it uses the better.

2) The last thing you need while distributing your game is a massive Java advert which distracts from your game. JWS has a massive THIS IS JAVA dialog while loading your game.

3) JWS has been pretty unreliable in the past, it uses .jnlp files that are text/xml based. On many computers these just open up in the browser (as text/xml) or just download instead of launching as expected. e.g. jnlp files still just download on Chrome instead of launching. Further there are some serious downloading and caching problems somewhere in jws, although it runs fine most of the time there are times where it just fails to run the first time and you have to run it a second or third time just to get it working. Not to mention other issues like filling up the add/remove applications list with all the jws apps you have run.

4) Its a rather unfamiliar tech to most users i.e. starting an external download dialog outside the browser.

5) Also have a read of the Rationale on the GetDown page as to why they thought jws wasn't good enough and needed to be replaced, here.

Having said that its a pretty good tech to distribute stuff amongst fellow java dev's.

1) Mentioning Java is pretty taboo in the gaming world as it instantly attracts trolls that will claim that its slow, bloated and would run better if it was written in c/c++. So the less users know about what programming languages it uses the better.

If you never mention Java, this will never change, these prejudices will never disappear...

3) JWS has been pretty unreliable in the past, it uses .jnlp files that are text/xml based. On many computers these just open up in the browser (as text/xml) or just download instead of launching as expected. e.g. jnlp files still just download on Chrome instead of launching. Further there are some serious downloading and caching problems somewhere in jws, although it runs fine most of the time there are times where it just fails to run the first time and you have to run it a second or third time just to get it working. Not to mention other issues like filling up the add/remove applications list with all the jws apps you have run.

I committed a fix for Chrome but an employee of Google committed and validated his worse fix, sorry I think that Java WebStart has some more annoying limitations than what you said, the desktop mechanism rarely works, it is not supported on Linux distros not using Gnome as a window manager. However, I haven't reproduced the bug "there are times where it just fails to run the first time and you have to run it a second or third time just to get it working".

5) Also have a read of the Rationale on the GetDown page as to why they thought jws wasn't good enough and needed to be replaced, here.

Having said that its a pretty good tech to distribute stuff amongst fellow java dev's.

GetDown is more complicated to use. Each deployment solution has its advantages and its drawbacks. Java WebStart is extremely simple but it cannot be used for games requiring GBs of data (other bugs/limitations can be avoided, some workarounds exist). IzPack is the most complete installer for Java applications but it has no real auto update feature and it quickly becomes very complicated to use when some native libraries are required.

Instead of advising a particular technology, I rather advise you to choose the one that fits the best your needs. IzPack is a good solution for polished softwares that need no or a very few updates and/or that are very big (several GBs). Java WebStart (+ some workarounds to install/deinstall your software correctly and add shortcuts) is a good solution for softwares in alpha, beta or RC phase that need frequent updates. GetDown is a good replacement of Java WebStart and has some additional features. Some critics about Java WebStart on the GetDown pages are not true anymore even though I would like Java WebStart to become more reliable...

Instead of advising a particular technology, I rather advise you to choose the one that fits the best your needs. IzPack is a good solution for polished softwares that need no or a very few updates and/or that are very big (several GBs). Java WebStart (+ some workarounds to install/deinstall your software correctly and add shortcuts) is a good solution for softwares in alpha, beta or RC phase that need frequent updates. GetDown is a good replacement of Java WebStart and has some additional features. Some critics about Java WebStart on the GetDown pages are not true anymore even though I would like Java WebStart to become more reliable...

Isn't that the truth. Each deployment tech has its own advantages and disadvantages. Webstart in particular is extremely easy to setup -- it requires no special libraries, simply upload (and sign if you are using native libs) and create a jnlp file and you are ready to go. The idea has so much potential yet the current implementation seems incomplete. Hopefully, webstart will get some more love in the future.

If you never mention Java, this will never change, these prejudices will never disappear...People have to know that Java rocks

Do you see technologies like Flash showing massive Adobe ad's or a system tray icons on every use? end users don't care what its made with or the tech powering it. They just want the content and they prefer it uninterrupted. Those interested in how a cool game or app was made can easily find that out and don't need an ad to remind them. Besides no amount of bolted on advertising is going to repair java's image, its good results and success stories (like Minecraft) that are going to do that.

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