StarMines for Java - Technical overview

StarMines for Java targets the simple but addictive look and feel of the greatest arcade games of the '80s. The controls and flight model are similar to the classics like Asteroids and Omega Race.

StarMines uses full-color high resolution graphics modeled with the aid of Breeze designer and rendered with the POV-RAY ray tracer. Digital sound effects help to create the atmosphere of a real arcade game which you thought was not even possible with Java!

StarMines uses high resolution graphics which seemed impossible with Java only a couple of years ago. Still it runs at very respectable frame rates, even a 133MHz Pentium with a fast display system can keep up a constant 15-20 frames per second. The StarMines engine adjusts to the speed of your machine, and the faster machine you have, the smoother animation you get (it skips frames if you have too slow a system), a 300MHz Pentium can reach 60 frames per second quite easily.

The startup of StarMines has been optimized to get initial messages on screen as quickly as possible. Only the core classes are stored in an achieve file, since browsers load the whole archive before starting the applet (and actually only IE CAB files are used, since Netscape seems to load faster single classes). Advanced alien classes and graphics are loaded only when the level using them is first loaded, but then they are all loaded to prevent glitches in animation during the level play.

The top 25 players in the world also get their place in the StarMines Hall of Fame hosted by my high score servlet or CGI script server.

The StarMines is based on a toolkit which I designed as a framework for creating 2D action games (the best kind of games :) in Java. It has an object hierarchy for managing a set of animated objects in a world. It supports time-synced animation, layers and collision detection to mention just a few basic features.

StarMines is basically only a set of animated object classes derived from the framework classes, and the classes are instantiated on-demand using level rules defined in a file. Adding new aliens or changing the behaviour of existing ones can be done without modification to the engine.

Source code is not available in public domain, but it can be licensed for custom development. By the way, the StarMines applet on my home page is locked to that server, trying to run it on some other server gives an error message...

Versions

1.0 - initial version

1.01 - wait for score box background to load; more documentation (this file, install information)

1.02 - support for a CGI high score server; collect all highscores, the program still shows only the best 25 in the score box, but only one (the best) high score for each player is shown in the applet's Hall of Fame, CGI can show all scores; fixed a problem with SCOREURLs without a port.

1.03 - player name question is now easier to understand, many users entered question marks when the game asked "Who are you?"; special characters (code >256) not allowed in name; no more inner classes used ($ signs cause problems in file names in some hosts); fixed image tracking bug with highscore display

Future Plans

StarMines for Java was a hobby project which took about 3 months of my spare time, and I probably won't be doing any major development on it unless somebody pays me to do it :)

[Back to Game]

StarMines for Java is Copyright 1998-1999 Jari Karjala.