Home page


Email me
Well, there's this thing called Java, you know?

Automaton Wars

The first applet I've built: a Java applet version of the classic computer board game Automaton Wars, versions of which have also gone under names such as Critical Mass, Explosion, and Atoms.

Java: Way of the future,
A complete bag of pants?

The Java version of Automaton Wars runs about as fast as the original. This is not in itself a Good Thing, though, as I've been testing the Java version on a 90MHz Pentium and a 200MHz StrongARM, and the original ran in BBC BASIC on an 8MHz ARM2.
At least on MSIE3, the Graphics.drawImage() method gets it wrong with transparent GIFs unless the palette entry for the transparent colour is black (0,0,0). No other GIF renderer I've come across requires this, so InterGif made no effort to ensure it. In MSIE4 it gets it even wronger, and I can't figure out why. Automaton Wars comes out partly the wrong colour, but it's fine in MSIE3, Navigator, Communicator, Riscafé, and the Linux JDK appletviewer.
The debugger in Microsoft Visual J++ 1.0 has real grief if you've got formal arguments whose names shadow member variables. Fortunately, those of us who program on RiscOS are well used to debuggers that crash all the time.
URL.getContent() doesn't work nearly as often as it should when the content is a String. Fortunately you can use getStream() instead.
Netscape 3 and 4 don't like reloading class files when you reload a page. If you change the class file on the server, you have to explicitly clear both caches in the Network Options dialogue box.
VJ1.0/MSIE3 is bobbins at trapping exceptions... for actually figuring out where errors occur I end up using appletviewer under Linux. This is far from ideal as appletviewer often runs applets which MSIE3 won't!
Graphics.fillArc() takes its arguments in degrees, which is dubious, but as integers, which is just wrong.
(K) All Rites Reversed -- Copy What You Like