This repository contains a suite of assistive programs for players and Judges of the strategy game Strategic Primer. The flagship application is a map viewer; players may also find the worker-management app useful. Other programs are primarily designed for use by the Judge in maintaining the master map.
The viewer reads and writes a custom XML-based map format that (except for "seeing the forest among the trees") is also quite human-readable (for those of a somewhat technical background). Maps contain a number of tiles of various terrain types, each of which can contain any number of various kinds of "fixtures," including units, fortresses, animals, orchards, and dragons, among many others.
Pre-compiled binaries are available from the GitHub releases page. These include Windows executables, (archives containing) Mac "application" bundles, and cross-platform "Java archive" (JAR) files.
As the campaign this suite was developed to support has come to a close, after version 0.4.9019 development efforts will turn to supporting a major overhaul of the design of the game, in preparation for possible future campaigns and/or eventual publication, and will be even more intermittent than usual. Version 0.4.9019 has been released to ensure players in the 2009-2022 campaign can review their final results if they desire, and point releases may be released in that series to fix any bugs that are reported, but future versions (probably starting with 0.5.0 to indicate the severity of the break) will certainly be significantly incompatible with past versions.
Past development activities have been recorded in "monthly" development reports on the game's blog and, before that, on the author's main blog. Interested developers or users can help by reporting issues, requesting features, or contributing patches; discussion of the game itself, rather than the assistive programs that will support it, is welcome on the list or in private communications.
Changes to this project are automatically tested using GitHub Actions continuous integration:
For building from source for local use, the only dependency that needs to be
installed is Maven; run mvn compile
from the
directory containing this README file.
To build packages (including JAR files, due to the limitations of Maven and the developer's inexperience with advanced features of that ecosystem), a few more dependencies must also be installed:
- The
convert
command from ImageMagick (or, conceivably, GraphicsMagick) - The
png2icns
command provided by libicns. - A
mkisofs
command, typically provided by the cdrtools tar
built with support forbzip2
compression.
If you have an EXE or .app
, it should behave like a standard platform-native
application. If you have a JAR, if file associations are properly set up you
can double-click it, but if you want to run any of the apps other than the map
viewer, the worker-management app, or the exploration GUI, you'll need to call
it from the command line: java -jar /path/to/viewer-0.4.${version}.jar subcommand [-options] /path/to/map.xml
.
If you've compiled the apps from source, and haven't built a JAR, you'll need
to set the classpath appropriately and ensure that your PATH points to a
sufficiently recent version of Java, then execute java drivers.Main
.