Star Chess is an abstract 4X strategy game that I wrote to experiment with turn prediction algorithms. Star Chess is © 1999–2020 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 screenshot dates from version 2.0.5 which used JavaFX rather than Swing, so the current version looks slightly different.) The download packages also include a console runner for testing, with ASCII art output.
System Requirements
Star Chess requires requires Java SE 8 or later. Users of high DPI displays should note that Java SE 9 or later is required for high DPI scaling. 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.1.0, released on 20 April 2020
- Computer Player Documentation: version 1.4.2, released on 02 December 2016
Binary Package — StarChess.zip (1.32 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 Package — StarChessSource.zip (2.04 MB)
You need IntelliJ IDEA 2020.1 to load the included project files. I used Oracle JDK 10.0.2 for development, but any JDK version 8 or later is fine. The source package also contains a prebuilt Javadoc class reference.
The source package consists of two projects, one for the Swing GUI and one for the game engine and computer player algorithms. This “core” project requires only the Java SE 8 Compact 1 profile, or the JVM module java.base
on Java SE 9 and later, and so could be used on any platform that supports a minimal Java 8 installation.
Computer Player Documentation — StarChess.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