Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Deployment reliability  (Read 2634 times)
0 Members and 1 Guest are viewing this topic.
Offline ImNotBacon

Junior Member




Don't eat me


« Posted 2010-03-15 19:51:51 »

I've recently deployed my game Zatikon to facebook.  Previously, the game used a downloaded installer bundled  with a jre, but the world of facebook has forced me into the scary world of applets and webstart.

My first attempt was using deployJava.js with createWebStartLaunchButton. Only ~10% of users who visited were able to successfully launch my game.

Next, I used deployJava.js to only check the java version and prompt a new JRE installation, and used a regular html anchor to launch my jnlp file.  This improved the success rate to about 40%.

Frustrated with webstart, I abandoned it and created an applet version, again using deployJava.js's java detection and a traditional <APPLET> html tag.  Now my success rate has reached ~65%.

Anyone know any tricks or techniques I can use to bump this higher?
Offline DzzD
« Reply #1 - Posted 2010-03-15 20:16:49 »

maybe :
- always use APPLET tag
- do not use "code base" attribute on applet tag (if possible)
- use an Applet Booter compatible with java 1.1  and check for your minimum requierment inside (I ve posted one in the shared section) : the compatibility with java 1.1 is juste there to ensure you that the booter will start anywhere java is.
- add a message inside you applet tag to propose the user to download java :
1  
2  
3  
<APPLET ....>
<A href="http://java.com/"> you need java to run this game ... blabla...</a>
</APPLET>


EDIT :
as a side note here are the results I got last week for an applet according to my logs : Applets rocks !

SIMCA1000/index.html 238 1%       => 238 reach the html containing the applet
SIMCA1000/ROAD/ROAD.3DS 200 0.8%  => 200 succesfully load 3d model 1
SIMCA1000/ROAD/CAR.3DS 200 0.8%    => 200 succesfully load 3d model 2

this make a ratio of 200/238 = 84% of succes (it is a little more in reallity as it also include robots/bots that dont even try to run the applet and then dont load the 3d models and also do not include people that dont launch applet)

EDIT: Smiley




Offline bobjob

JGO Knight


Medals: 10
Projects: 4


David Aaron Muhar


« Reply #2 - Posted 2010-03-16 23:17:10 »

DzzD: for the sake of debugging i run my explorer using java 1.4 and currently your applets flicker on Interenet Explorer resize.

I was wondering if you think that using jnlp files in the applet tag are a good idea (is there any reason not to)?
using the key word "MAYSCRIPT"
and: param name="jnlp_href" value="http://www.blah.blah/blah.jnlp"

I found its the only way to fix the problem in Windows java 1.4/1.5 applet flicker.
by checking the OS and using the vm arguement:
1  
2  
3  
<resources>
 <j2se version="1.4 1.5" locale="" os="Windows" java-vm-args="-Dsun.awt.noerasebackground=true"/>
</resources>


Is there any downside to doing this for Java 1.4 and onward?


My Projects
Games, Webcam chat, Video screencast, PDF tools.

Javagaming.org with chat room
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline DzzD
« Reply #3 - Posted 2010-03-17 00:10:49 »

thanks for the tips, I seen the flickering and try to fastly fix it (recursivly attacking applet parent container...) but without any success... and finally  think it was just another plugins bug...

Quote
I was wondering if you think that using jnlp files in the applet tag are a good idea (is there any reason not to)?

it is inded up of your target visitors, It is probably safe in some case (intranet /big game & know audience but not for "standard website") but I would be carefull, it is an emerging new plugin stuff and as all new plugin stuff it is not supported by a lot of internet visitors that do not have the necessary plugin ( still only 50/60% got java 1.6 and some features where added in subversion of 1.6... 1.6-1 1.6-2 etc... until 1.6-10 where most new features were added so assume that less than 50% got 1.6-10 against the 80/90% that got java )

MAYSCRIPT is an old keyword enabling liveconnect you may get a javascript/java security/access exception if you try java<=>javascript communication without this keyword on some configuration/browser, it cost nothing to add it.

you can pass argument to jvm with new plugin without the need of jnlp, now you point a possible solution I will try to think to update applets that flicker  :
1  
2  
3  
4  
5  
6  
7  
8  
//to get more memory you can do :
<applet   etc...>  
<PARAM name="java_arguments" value="-Xmx256m">
</applet>
// so probably you can also do ?
<applet   etc...>  
<PARAM name="java_arguments" value="-Dsun.awt.noerasebackground=true">
</applet>





Offline DzzD
« Reply #4 - Posted 2010-03-17 00:17:12 »

ok this seems to work fine with <PARAM name="java_arguments" value="-Dsun.awt.noerasebackground=true"> it doe not change anything for people having old plugin but it does not flicker anymore for people having new plugin

here is a patched applet, when resizing the browser applet is now resized without flickering : http://superdev.fr/3d.html (EDIT: seems that I forgot to compil this one with compatibility ... may not run anywhere...  Undecided )

thanks !

EDIT:
Quote
Is there any downside to doing this for Java 1.4 and onward?
for version under 1.6 you cannot pass any argument to the jvm (really/absolutly/definitly no way), IMHO you should dont really mind/care about flickering on resize with old jvm as long as the applet start & run fine people with old jvm wont go away they will just get a little worst experience but as long as the applet dont crash and they can play they wont be deceived.

EDIT 2 : just because it is very funny I have to say that it doesn't flicker with the 1.1 microsoft JVM and it does with the lastest java plugin (without passing argument to the JVM) pff...

Offline bobjob

JGO Knight


Medals: 10
Projects: 4


David Aaron Muhar


« Reply #5 - Posted 2010-03-17 01:37:53 »

Cool thanx for the info. Then I guess I have no need for the jnlp file for the moment.

Quote
for version under 1.6 you cannot pass any argument to the jvm (really/absolutly/definitly no way
Is this true even in the case of arguements passed with a"jnlp" script?

EDIT:
I uninstalled 1.6 and tested 1.5 with applet+jnlp script, and flicker problem remained.

My Projects
Games, Webcam chat, Video screencast, PDF tools.

Javagaming.org with chat room
Offline DzzD
« Reply #6 - Posted 2010-03-17 01:57:48 »

Cool thanx for the info. Then I guess I have no need for the jnlp file for the moment.
Is this true even in the case of arguements passed with a"jnlp" script?

yes in some ways it is true, jnlp will work but... first it is jnlp you will got other problem and it may not run as expected :
1 - not using standard applet tag and can have server issue (jnlp mime type) as client plugin issue
2 - the jvm argument must be set before the vm is started, prior to java 1.6 there was only one instance of the jvm, It maybe possible that parameter is only working if no "applet" have been run before your applet .

about the applet tag,  even if it is a little outdated (my side I believe it is still more robust than any other object tag):
Quote
Note: The HTML specification states that the applet tag is deprecated, and that you should use the object tag instead. However, the specification is vague about how browsers should implement the object tag to support Java applets, and browser support is currently inconsistent. Sun therefore recommends that you continue to use the applet tag as a consistent way to deploy Java applets across browsers on all platforms.

source : http://java.sun.com/j2se/1.5.0/docs/guide/plugin/developer_guide/using_tags.html#applet

Offline DzzD
« Reply #7 - Posted 2010-03-17 02:01:03 »

sory this one is more recent...
Quote
Deploying Applets on the Internet Versus an Intranet
When deploying applets:

Use the applet tag if the Web page is accessed through the Internet.

Use the object or embed tag if the Web page is accessed through an Intranet.

...
...
Note: The HTML specification states that the applet tag is deprecated, and that you should use the object tag instead. However, the specification is vague about how browsers should implement the object tag to support Java applets, and browser support is currently inconsistent. Sun therefore recommends that you continue to use the applet tag as a consistent way to deploy Java applets across browsers on all platforms.

source :  http://java.sun.com/javase/6/docs/technotes/guides/plugin/developer_guide/using_tags.html#applet

and this is completly true...


Offline gouessej
« Reply #8 - Posted 2010-03-17 15:42:30 »

What about IzPack?

Personally I have problems with Web Start only when there is a firewall or a file quota, the user has to retry and it works.

Online Riven
« League of Dukes »

JGO Overlord


Medals: 744
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #9 - Posted 2010-03-17 17:58:34 »

What about IzPack?

Personally I have problems with Web Start only when there is a firewall or a file quota, the user has to retry and it works.

Those are caused by bugs in URLConnection, nobody seems to care. Avoid it like the plague.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline jezek2
« Reply #10 - Posted 2010-03-17 18:21:36 »

Those are caused by bugs in URLConnection, nobody seems to care. Avoid it like the plague.

Is there any drop-in replacement? That works automatically with proxies (obtained from system setting).
Offline DzzD
« Reply #11 - Posted 2010-03-17 19:11:22 »

Quote
What about IzPack?
if you can fit in an applet it is far more user friendly than any desktop installer : webstart / izpack / executable jar .... and the interresting thing in facebook is that application run inside browser... this is web world...

Quote
Personally I have problems with Web Start only when there is a firewall or a file quota, the user has to retry and it works.
are you sure you only got problem with firewall, did you log how many user succed and how many fail ? also lot of people have a firewall... proxy ... file quota... exotic java plugin...


dont look for an alternative when something have proved to work well ....

Is there any drop-in replacement? That works automatically with proxies (obtained from system setting).
not sure if it is still true but with unsigned applet you cannot get browser proxy settings

Offline jezek2
« Reply #12 - Posted 2010-03-17 19:19:09 »

not sure if it is still true but with unsigned applet you cannot get browser proxy settings

Of course, I meant it for normal standalone apps.
Offline DzzD
« Reply #13 - Posted 2010-03-17 19:28:50 »

Of course, I meant it for normal standalone apps.
in this case that's pretty easy, you may use socket or any other net libraries ( for http it is pretty easy and only requiere to add two headers,  but there are existing libraires too : probably HTTPProxy or such )

EDIT: forget,  I realized that I ve probably missunderstood your point now...

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Riven (18 views)
2014-07-29 18:09:19

Riven (13 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (30 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (41 views)
2014-07-23 21:16:32

Riven (27 views)
2014-07-23 21:07:15

Riven (29 views)
2014-07-23 20:56:16

ctomni231 (59 views)
2014-07-18 06:55:21
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!