I'm providing a small exe/dmg (as well as jar) that launches the game, but the end-user still has to install Java. I wish my exe could just include the JRE, and not just as a separate component of an installer -- the exe would actually be the JRE+app. That makes for a much larger download (my exe is only 82KB, but that's just a boot loader), but at least it would be a single file launcher with no external dependencies for the user to mess with.

To stay on-topic: I'm working on it (but not technically commercial yet, until I start actually making money). Just a modest niche indie title; certainly not AAA (or even well known yet).

Hm, I find Dalvik to be quite wretchedly slow compared to native code. About a fifth the speed I'd say. Dalvik doesn't do any of those super clever things that Hotspot does that have kept desktop Java in the performance limelight.

I'm providing a small exe/dmg (as well as jar) that launches the game, but the end-user still has to install Java. I wish my exe could just include the JRE, and not just as a separate component of an installer -- the exe would actually be the JRE+app. That makes for a much larger download (my exe is only 82KB, but that's just a boot loader), but at least it would be a single file launcher with no external dependencies for the user to mess with.

I'm providing a small exe/dmg (as well as jar) that launches the game, but the end-user still has to install Java. I wish my exe could just include the JRE, and not just as a separate component of an installer -- the exe would actually be the JRE+app. That makes for a much larger download (my exe is only 82KB, but that's just a boot loader), but at least it would be a single file launcher with no external dependencies for the user to mess with.

Using a "private jre" sounds like a good approach. How do you deploy that, though. The only way I've seen is by bundling a JRE inside an installer.

well yeah I use Nullsoft installersand all you do really is have a jre folder beside your other stuffand the exe (which in my case is just a batch file compiled to an exe) will call this jre

if you install Arcane Nebula and look into the folderthere is a .dat file, which is a jar file just renamed, an exe file which calls itand besides the game content and libs a folder called "vm" which is just a jre folder (server vm included by copy)

Hm, I find Dalvik to be quite wretchedly slow compared to native code. About a fifth the speed I'd say. Dalvik doesn't do any of those super clever things that Hotspot does that have kept desktop Java in the performance limelight.

Cas

I didn't quite belive that until I searched at internet and every source was saying 3.5-5 times slower. I was bit suprised becouse I haven't noticed any performance problems with cpu. But I only use libgdx and there is ton of native code generated with JNIgen keeping performance much closer at pure native code solution.

Fine if you're GPU limited, but if you're doing much beyond the sort of trivial trinkets typically found on phones you're probably going to be irritated. Remember that sprite engine test I did on the Samsung S2 lately? That was all pure Java code, but I was having to settle for a fairly miserable 500 sprites/frame at 30fps or risk it being far too slow. On the Galaxy half of the entire frame time was simply the CPU feeding sprite data to the GPU.

There are a few choice optimisations they could start introducing that would make things much, much faster - I think the biggest win would be method inlining and virtual function calls being turned into straight function calls. Then intrinsification of nio Buffer operations. After that, possibly escape analysis might prove surprisingly useful.

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