When I first started out Java games development I got the full JET with JetPerfect and everything. I got the entire Alien Flux game demo down to just a 5mb download using JetPerfect. Not only was it significantly faster than the Sun 1.4.2 Server VM at the time (I had to resort to using fixed point arithmetic in Alien Flux to get it to run at 60FPS on a 450MHz rig), it started in the blink of an eye like a "proper" C++ application. Back in the day, the 6-7mb saving over shipping an embedded JRE was significant enough to have a fairly large effect on the number of successfully completed downloads (because much of the world was still using 56k modems in 2003, believe it or not)

Anyway: I spent a lot of money on JET tools thinking Alien Flux would make it back in a few weeks on sale.

It turns out indie game development is a bitter, harsh path, littered with the corpses of failed developers. Alien Flux never even made a profit let alone paid for all the things I bought to make it and release it. I was broke from that point onwards having blown what amounted to my life's savings on developing the game so I scaled back my ambitions and tried to keep life simple for myself, so I got a job and did game development in my spare time, of which there was very little. Jet does add an extra layer of complexity to deployment; after you're satisfied it works in a JRE build, you need to do a JET build. At the time, also, JET was only available for Windows, and I needed to deploy on Mac and Linux which both used JREs. So I made the fairly straightforward decision to save myself time, and money, and complexity, and stop using JET.

In the meantime the landscape changed. DSL became suddenly commonplace by about 2005. Indie gaming took off a short while later. Computers just got incredibly powerful. I still didn't have any money or time, until 2010.

When I first started out Java games development I got the full JET with JetPerfect and everything. I got the entire Alien Flux game demo down to just a 5mb download using JetPerfect. Not only was it significantly faster than the Sun 1.4.2 Server VM at the time (I had to resort to using fixed point arithmetic in Alien Flux to get it to run at 60FPS on a 450MHz rig), it started in the blink of an eye like a "proper" C++ application.

How much faster than the server VM is it today? It might be worth those 10 bucks... =S I mean, charity AND more particles!

The $10 version doesn't include the JetPerfect part I don't think. If that bit exists any more, not really sure.

(JetPerfect produces an entirely, completely, standalone .exe with only the actual code you use. Normally JET is deployed as a bunch of pretty large .dlls which comprise the JVM, and your .exe with all the compiled code in it that you point it at, regardless of whether it's used or not)

It'll help you in the sense that it's got much, much faster startup, potentially involves less dependency, and for what it's worth, it completely obfuscates your code so that trivial Java hackeroos can't monkey with it (though IMHO that's genuinely worthless for the likes of us).

It'll help you in the sense that it's got much, much faster startup, potentially involves less dependency, and for what it's worth, it completely obfuscates your code so that trivial Java hackeroos can't monkey with it (though IMHO that's genuinely worthless for the likes of us).

Cas

Awesome. Not tricks? How much tom follery is needed to deploy with this then, and what does it even spit out? An executable jar? .exe?

EDIT: Never mind me. I found the FAQ on the site, and it seems to be geared towards the like of me. It spits out an exe. Awesome.

Result: Revenge of the Titans works Approximate size on disk is actually pretty much identical to the version I currently ship with the embedded Java 7 server JRE in it. Am now extremely tempted to look at Pro license to get the JetPerfect part and optimise it. Hmmm.

Result: Revenge of the Titans works Approximate size on disk is actually pretty much identical to the version I currently ship with the embedded Java 7 server JRE in it. Am now extremely tempted to look at Pro license to get the JetPerfect part and optimise it. Hmmm.

Result: Revenge of the Titans works Approximate size on disk is actually pretty much identical to the version I currently ship with the embedded Java 7 server JRE in it. Am now extremely tempted to look at Pro license to get the JetPerfect part and optimise it. Hmmm.

Just bought the $20 win/linux. Don't know if I need it, but I like Excelsior. I bought and used xFunction years ago, before JNA. It was good software and Excelsior gave great support. I signed an NDA and they gave me their source, which helped a lot integrating into my app.

I tried it on daedalusAfter resolving some tricky issues, I managed to have daedalus running and fully functionnal.

Concerning the size, it's pretty interesting : the exe is only 9 Mb in my case, add to this 1 Mb of natives + 20Mb of resources, the result is 30 Mb for the whole game ... compared to 28 Mb for the executable jar ( meaning without the jvm ... ).

For the performance, I ran daedalus without vsync and without FPS limit. I ran a particular case where I know that I'm CPU limited and got better results with the JVM (1.6) ... this has to be taken carrefully as I'm testing ingame so the context might be a bit different between two runs ...My test was to have 16 bots playing in a very small map ... generating a lot of blood I was looking at the time taken to compute a frame with about 2500 alive blood particles. With the JVM it was 9/10 ms and with the exe it was more 12ms.So I'm a bit disapointed here

Then concerning the time to run the application, it is a bit faster with the exe but not much: about 500ms on a total load time of 5 seconds ... so not much

So at the end, the only gain here for me is the reduced size on disk, and the obfuscated code. The size is not really important for my game, as it should be quite big at the end, so the embedded JVM will not represent 90% of the size

I don't know if I'll be using it for daedalus, I'm already using launch4j to generate an exe which is working quite well ... But for a small game I think it could be quite cool .. particularly for the size of the exe

well its definitely cool for small gamesmy game Black Nebula is ~50mb as a windows installer, packaging a private jrenative its 8MBAlso you completely bypass java at this point, which can have advantages.And its also fundamentally satisfying somehow to have native code...ESPECIALLY if the linux version runs reliably.

Excelsior JET is nice however the power of modern PC's, Java VM's and the faster internet connections make it less useful than it once was. If they added support for producing executables that could run on Android/iOS, now that would be super cool and could give them another nice little niche market to sell to.

I've talked to Dmitry about ARM but the long and the short of it is, they'd love to do ARM but firstly they've got no actual dedicated skill/resource/money to do it yet, though it's on their hitlist, and secondly, they have to get a special license as I understand it to deploy to mobile devices. I've hassled him at length to produce an ARM headless only "dll" builder that could be bootstrapped by Android or iOS Though actually right now I'd rather like them to get a Mac OS port done instead. But that's again, a lot of work to support headful stuff, requires a license from Oracle, etc.

JetPerfect is long gone, for two reasons - it was not JCK compliant, and its aggressiveness often made it extremely error-prone (the tipping point was an SWT application failing because it was compiled on a machine with a clickwheel-less mouse and JetPerfect had stripped the clickwheel-handling logic off the EXE! )

Hi Dmitry! You really should make more of a song-and-dance about these features like free Pro licenses and small biz discounts!

Interesting that you brought up the JetPerfect issue there - I had no end of trouble for exactly those reasons. What got me was frequently small issues with different locales and so on; I released a fair few "dud" Alien Fluxes. It was one of the reasons I eventually gave up back in the day and switched to using an embedded JRE. Slimdown seems like a much more sensible tradeoff in space for complexity and reliability.

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