2

I wanted to take a trip down memory lane and play a browser game from when I was in school. It turns out that game a Java applet. I changed my security settings so that I could play it and now it attempts to load, but it crashes instantly. I'm guessing this is because it runs on an old version of Java which is incompatible with the version on my machine.

I would like a general answer about techniques to play old Java Applets in general. But I am specifically trying to play Heavy Cannon which appears to be from 2003. I have the 64-bit and 32-bit versions of Java 8, Update 20 (1.8.0_20) installed. The error I get is ClassFormatError: Name index 0 in LocalVariableTable has a bad constant type in class file hc. I get this error in both Chrome and Firefox.

It looks like if I want to go back in time and recreate a 2003 browsing experience I need to run Java 4 with Phoenix 0.5 (an old version of Firefox) on Debian 3.0. I tried to create a virtual machine in Virtual Box set up like this, but I couldn't get through the OS install. That could be user error or it might be complex/impossible to set up old OS's on Virtual Box.

I have also tried running the oldest versions of Firefox Portable (version 2.0, which has Firefox 5) and JPortable (which has Java 6, Update 23). All applets would not load because a plugin (ie, Java) performed an Illegal Operation).

I am trying to avoid installing an old version of Java directly on my machine if at all possible. It does not seem trivial to switch my browser between the old and new versions and I don't know what kind of compatibility problems it will create. But if anyone has success with this method I am all ears.

  • 1
    2003 would mean it would have to be Java 1.4 or earlier. You can grab the older versions of Java here, but I don't know if you'd also have to use older versions of your browsers to play it through them. I expect you probably would. – JonK Sep 27 '14 at 18:53
  • 2
    Installing an old version of an OS on VirtualBox is definitely possible. It might just be more trouble than it's worth. I would install XP or 2000 in a virtual machine (so that you don't have to deal with Debian) and then install old versions of Java and Firefox from there. – WindowsEscapist Sep 27 '14 at 22:02
  • 1
    @NoneOfYourBusiness, thanks for the input. This question doesn't seem far afield from How Can I Play Day of the Tentacle or Why do people use DOSBox over Virtualbox in a gaming context?. My game just happens to be a Java applet and Java applets are useful for more than just games (like DOSBox is useful for more than just games). Would "How Can I Play Heavy Cannon?" be a better title? That seems needlessly limiting and would only be recognized by a tiny audience. – Daniel Koverman Sep 28 '14 at 19:38
  • 1
    There's a problem playing a game. It's a browser game, yes, but it's still a game. To my understanding, that means it's on-topic here. – Frank Sep 28 '14 at 19:48
  • 2
    I find this interesting because the designers of Java have made a large number of non-optimal (poor) design choices, all for the sake of keeping backwards compatibility with older versions. – BlueRaja - Danny Pflughoeft Sep 29 '14 at 19:45
3

First Solution:

The best solution I found was to duplicate a browsing experience from about 2003 in a virtual machine. I tried Debian 3.0 first and was not able to get it working, though I'm sure it is possible for someone with more experience. I then tried Windows XP because I found out you can get an XP virtual machine without a license for browser testing. Here are the instructions I followed. I then installed Java 5, Update 22 from Oracle. This requires registering with Oracle. After Java installation I had to reboot the virtual machine because IE6 was crashing (unsure if related). The game then ran perfectly.

Thanks to @WindowsEscapist for suggesting I try an XP virtual machine or I never would have looked into it.

Second Solution:

I used Browser Studio to build a browser with Firefox 2.0 (the oldest version of Firefox they had available) and Java 5, Update 14 (the oldest version of Java they had available). This also required downloading a Spoon plugin. The game just worked on the version of Firefox built by Browser Studio.

Unfortunately, you can only play for ~10 minutes on the trial version. It costs $20 a month to subscribe. This is a much lower effort solution, but it comes at a price.

  • Why build a browser when you can download it? You can download old releases of Firefox, for example here's a Windows installer for 2.0.0.1. After that, install Java from Oracle since you already have an account. – Thebluefish Sep 29 '14 at 19:34
  • I believe that after installing an old version of Java on your machine you need to edit your registry to get Firefox (even the old version) to point to the old version of Java if you have both versions installed. Alternatively, you could uninstall current Java before installing the old Java. Either way, there are possible compatibility/security issues raised and it would be a pain to switch back and forth between new Java and old Java. Browser studio somehow packages old Java with Firefox so I don't have to worry about any of that. – Daniel Koverman Sep 29 '14 at 19:43
  • 1
    Well that's where things get fun :p I would have to side with option 1 from a security aspect. A virtual machine is significantly safer security-wise than a sandbox application that we have little information on. – Thebluefish Sep 29 '14 at 19:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.