Star Chess: Mini Space Conquest

Star Chess is an abstract 4X strategy game that I wrote to experiment with turn prediction algorithms. Star Chess is © 1999–2016 by Christoph Nahr but available for free download under the MIT license.

Aside from my own code, the game includes various embedded fonts and NASA photographs. Please see the ReadMe file for the original sources and copyright information of these components.

Also available is a description of the computer player algorithms, including basic considerations concerning AI development for empire building games. You don’t need to download Star Chess in order to understand the computer player documentation, although playing the game and studying the source code may help you understand the described algorithms.

Overview

  • Absolutely no sound, very little in the way of graphics!
  • Turn-based gameplay for four human or computer players
  • Build space fleets, colonize planets, and manage two resources
  • Replay the entire game at will, and undo commands during your turn
  • Adjustable computer players using a turn prediction algorithm
  • Change player assignments on the fly, or let the computer finish your turn

The sample screenshot shows a typical situation in early mid-game. The download packages also include a console runner for testing, with ASCII art output.

Midgame

System Requirements

Star Chess requires Oracle JRE 8 Update 66 with JavaFX 8 or later, or an equivalent Java runtime environment. Windows users should consult Oracle Java on Windows to avoid Oracle’s unfortunate default Windows JRE. Please see the following for more information:

  • The ReadMe file contains usage information and the copyright notice.
  • The WhatsNew file contains the annotated version history of the project.

Copies of the ReadMe & WhatsNew files are included with both download packages. The integrated help system explains the various displays and controls.

Download Files

  • Binary & Source Package: version 2.0.4, released on 01 May 2016
  • Computer Player Documentation: version 1.4.2, released on 02 December 2016

Binary PackageStarChess.zip (1.34 MB, ZIP archive)

Star Chess requires no installation. Simply extract the contents to any directory of your liking, then study the enclosed ReadMe file for further instructions.

Source PackageStarChessSource.zip (1.81 MB)

You need NetBeans 8.1 and Oracle JDK 8u92 to load the included project files. The source package also contains a prebuilt Javadoc class reference.

The source package consists of two projects, one for the JavaFX GUI and one for the game engine and computer player algorithms. This “core” project conforms to the Compact 1 profile of Java 8, and so could be used on any platform that supports a minimal Java 8 installation.

Computer Player DocumentationStarChess.pdf (629 KB, PDF) with LaTeX sources (500 KB)

Includes overview diagrams created with Class Diagrammer, as described in the ReadMe file. The documentation covers the following subjects:

  • Comparison of “empire building games” (e.g. Star Chess) to board games (e.g. chess): additional features, complexity calculations
  • Creating computer players for chess programs: turn generation and evaluation, minimax algorithm, alpha-beta pruning
  • Creating computer players for empire building games: request-based turn generation, request masking, omitting the prediction tree
  • Java implementation of the Star Chess computer players
  • Summary of the Star Chess game rules