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–2018 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 a 64-bit operating system and Oracle Java SE 9.0.4 or later which can be obtained from the Oracle Technology Network. 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.5, released on 04 February 2018
  • 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.97 MB)

You need IntelliJ IDEA 2017.3.3 and Oracle JDK 9.0.4 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 only requires the JVM module java.base, and so could be used on any platform that supports a minimal Java 9 installation.

Computer Player DocumentationStarChess.pdf (629 KB, PDF)

Includes overview diagrams created with Class Diagrammer, as described in the ReadMe file. You can also download the LaTeX sources (500 KB) which were typeset using MiKTeX. 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