Game Deployment with Native Compilation

A drawback to using Java Web Start is that the size of the Java runtime is rather large (10MB or more), and a user who doesn't already have it will have to spend some time downloading it, which can be a while for people on modems. One solution that still allows you to distribute your game over the web is to use native compilation to compile Java classes to native code. The idea is to compile to native code so the Java runtime isn't needed; unfortunately, this idea doesn't work. Two products that natively compile Java classes are GCJ and Excelsior JET. Unfortunately, GCJ currently doesn't support AWT or Swing. Excelsior JET does support AWT and Swing, but it actually requires the Java runtime for it to work. In short, for graphical apps, users need the Java runtime installed on their system anyway, so native compilation doesn't really help.