I love manky old tech stacks so the idea of making games the way the pioneers did it 20 years ago really appealed to me. Especially appealing is the fact that Java applets were never actually a popular tool for making games even in their heyday.

There is one great sadness to Java applets: they don't work on modern browsers. For reasons that escape me, neither Chromium nor Gecko come with a Java runtime or any way to load a Java plugin. The only way to use Java applets in the modern day is to either use an old browser or use Pale Moon or similar alternative browser that still supports NPAPI. But this brings it's own problems: even Java doesn't want to run Java. Even if you use the latest Java plugin (from Java 11)(though I don't recommend using a Java plugin past 8), it will complain about being out of date, and that the code you're running is unsigned, and you have to set a bunch of exceptions in the Java Control Panel just to get it to launch.

In the pursuit of keeping weird old Java tech alive I give you: MicrowaveJava: Reheated for Your Enjoyment. This is an experiment in getting Java applets to work well on modern browsers in itch.io using CheerpJ. What you see here is just a tech demo, a proof of concept that Java can once again run free in the browser.

Development log

Comments

Log in with itch.io to leave a comment.

(1 edit)

This is awesome! It's cool to see people online who share such niche interests... I've actually been trying to get something like this to work for myself just for fun. I like writing Java games for game jams the classic "funny" way, it's just really fun and peaceful for me. I've wanted to get them working in the browser too, so that I could upload my game like in the old Notch Ludum Dare days, the way he used to. I was wondering how you got this working? I've been trying and I got it working on localhost but when I tried to upload it on Itch it gets stuck on "CheerpJ runtime ready".  Thanks in advance!

I figured it out! I was using CheerpJ core to run the game as a Java application instead of an applet. I used the provided CheerpJ applet script instead and got it running! Really cool that people have found ways to get old stuff like this working.