Strategic Primer assistive programs development report and roadmap

It’s only four weeks since my last report, on Christmas Day, on the development of my suite of assistive programs for players and Judges of Strategic Primer, so it’s time for the first update and new release of the new civil year.

As usual, you can download new the new version from Bitbucket, and if you want to know more details than I list below, you can see the full history in the Mercurial repository.


There weren’t any truly major changes this month, but there were a few that are worth noting.

Worker management app showing visual warnings on TODO and FIXMEThe most important for players is that the worker-management program now “visually warns” if the orders associated with a unit contains the string “TODO” or “FIXME” (or the lowercase equivalents). If the latter, the unit will have a pink background (I found red made the line too hard to read); if the former, a yellow. But if the unit has no workers (or other members) in it, this doesn’t apply—and that unit now won’t be used in any exported proto-strategy anyway. This should help players to keep track of what still needs to be done in preparing their strategy for a turn.

I fixed a bug in the GUI version of the subset checking program that caused it to not actually write the results to the window.

I fixed a couple of bugs in the exploration programs. It didn’t properly move an exploring unit that started out located in a fortress, and it didn’t copy newly-discovered terrain if a “not visible” tile with something on it existed in the subordinate map. (But it’s still producing results with tiles without their terrain type, for some reason I haven’t been able to figure out.)

As an aid to debugging, the map-loading code will now fire a warning if something registers a “unique” ID that’s already used.

And I fixed several warnings, including a few circular-dependency warnings that had been giving me trouble for many months if not longer.


The list of “planned” features (which has debatable correspondence with the Pivotal Tracker backlog, remains largely unchanged from previous months.

The first item is to make the apps a proper MDI application, with a Window menu keeping track of windows and their status, and to make them behave like native apps (following human-interface guidelines, etc.) on the major platforms, starting with Mac OS X. But because my first attempts failed, I’m still at a loss as to where to begin.

Second, with it possible for players to make changes to a known-world map using the “helper apps” (rather than just a text editor) and send it back, changesets need to become a priority.

Third, I want to “finish,” test, and switch to (once I’ve demonstrated it won’t lose data) the new map API; this may make developing changesets easier, and it’s possible it’ll bring performance improvements, but we’ll have to see.

Fourth, I want to write programs to automate the more tedious parts of running a turn, such as agriculture, herding, food gathering, and hunting—the latter two are much better now, but how much meat any given animal produces, for example, still has to be looked up by hand.

That ties into the fifth item on the list, “resource management,” eventually including modeling resource production and resource accounting.

Sixth, I hope to add larger images (“portraits”) for units and some other kinds of fixtures.

Among other planned features.

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.