Strategic Primer assistive programs release, development report, and roadmap (0.4.9014)

It’s been a little more than a month since the last release candidate of the suite of assistive programs for players and Judges of Strategic Primer, so as I’ve continued to work to improve the code, and have tested it myself on all the major platforms it’s designed to run on, I’ve declared its current state to be version 0.4.9014. You can download the release from GitHub as usual.


Here are some of the changes since the last release candidate:

  • You can now view the tabular reports in a GUI instead of exporting them as CSV files; use the options --gui --tabular (-g -b) to invoke this app.
  • The “short description” for animal populations (used, for example, in the worker-management app’s unit and worker tree) now shows domestication status for adult animals and population size for groups.
  • In the worker-management app, any Jobs a worker may “have” that have neither Job levels nor Skill levels are now not shown, nor are they included in any exported proto-strategy.
  • When using an external tool to convert a proto-strategy exported from the worker-management app to HTML, the “Workers:” header and the first bullet point after that were sometimes seen as being in the same paragraph. I adjusted the exporter’s output to prevent this.
  • In the town-contents-generating app, it’s now possible to reply “quit” when asked whether to enter or generate stats for a particular town.
  • In the worker-stat generating app, it’s now possible to specify that all humans should have their bonus stat applied to their lowest stat; previously, the user had no choice but to choose for each worker individually.
  • The worker-management app now uses a platform-native file-selection dialog to ask the user to choose a file to export a proto-strategy to on the Mac platform, since otherwise it’s impossible to choose a file that doesn’t already exist.
  • In the map viewer, the user can now sort and show or hide independent and player-owned units separately.
  • The tabular report generator gained a new table, of worker skill levels.
  • I fixed the layout of the unit-creation dialog, which had been unusable.
  • I extended the town-contents generator to include some of the resources produced and consumed by the towns.
  • The README included with the code now includes some instructions on how to build and run the code.
  • I fixed a bug that caused the worker-management app to almost crash (its internal logic did, but the GUI stayed visible) when the user tried to move a member from one unit to another and more than one file was open at once.
  • In the worker-management GUI, the orders-editing panel now has Apply on the right, where one naturally looks for it, instead of on the left.
  • I fixed a bug that caused the worker-managment app to freeze when the user changed the kind of the last unit of any kind.
  • The worker-management app now uses various heuristics to pick the most likely current player if the main (first-opened) map doesn’t have one, or if its “current player” doesn’t own any players, instead of requiring the user to choose.
  • In the worker-management app, the “reload” menu item now finally works when a player other than the main map’s nominal current player is being viewed
  • When only one map is open, in the worker-management app, the user can now split animal populations.
  • The mine-contents generator now prunes rows that are entirely “no ore” from the left, right, and bottom of the generated spreadsheet … which cuts their size on disk significantly in some cases.
  • The mine-contents generator now takes a --banded option for sand mines (etc.), instead of specifying that by making the lode-status index negative, since the negative index always got treated as an option instead of an argument.
  • The mine-contents generator now accepts the initial status by name as well as index.
  • In the exploration CLI, the numbers the user enters to choose directions were adjusted to be natural for entry using a numeric keypad (8 being north, and so on).
  • In the map viewer, I finally fixed a longstanding bug that allowed the user to navigate (using the arrow keys) to one row and column beyond the map.
  • I bumped the specified (required) version of the Ceylon compiler and language runtime to 1.3.3, as that version was lately (and finally) released. (Unfortunately, the two bugs in the compiler and runtime that I have spent the most code working around remain unfixed.)
  • In the map viewer, there was a bug that caused it to consider the right half and bottom half of each tile as actually being in a neighbor tile when it tried to identify which tile the user clicked or the mouse cursor was in; this is now (finally) fixed.
  • Maps can now use a ‘swamp’ tile type, though this is not supposed to be supported by any current map version.
  • The “short description” of units, which usually says “a such-and-such-kind unit belonging to so-and-so,” now reports the unit’s “name” if the unit is independent, because in practice that’s actually more useful. (A typical player-owned unit might have kind “explorer” and be named “explorer 1”; a typical independent unit might have kind “farmer” and be named “party from the village”.)
  • I increased the minimum size of the app-chooser window to a size that shouldn’t cause it to have scroll-bars on it, as it did when I tested the apps on Windows.

In addition to various code-condensing, etc. (If you’re interested, you can read the full changelog on GitHub.)


The Pivotal Tracker backlog is currently fairly close to what I’m hoping to get done in the near future. Here are some notable items:

  • On Mac, making the program stay open, showing a menu bar with suitable options available, when all windows are closed, as is usual on that platform.
  • Extending the “community population” modeling to cover former contents of non-active communities, and adding a similar data structure for battlefields.
  • Making sure that the test suite is sufficiently complete.
  • Adding a feature to allow a user to edit results of unit orders (which can be stored in the map format, but not edited in an app)
  • Extending the map format to include roads.
  • In the worker management app, allowing the user to apply orders to multiple units of different kinds, or multiple kinds of units, at once.
  • Adding a resource-entry feature to the map viewer.
  • In subset checking, reporting moved units (or other fixtures) as such instead of “extra” in their new location.
  • Creating a “fortress-design” or “tile-planning” app.
  • Creating an app or apps to manage players’ advance lists.

I’m not currently planning to spend much time on adding new features soon, however.

If you have any features you’d like me to add, or you run into any problems with the software, please let me know, perhaps using the issue tracker or contacting me directly.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.