Strategic Primer year-end retrospective

This is the last week of the liturgical year, so this week we’re looking back over the past year on this blog and the subjects it covers. Monday was the retrospective on the Shine Cycle; today we’ll look at posts related to Strategic Primer, which appeared on Wednesdays throughout the year.


First of all, I should mention a few posts that asked for players’ (and other interested parties’) feedback (i.e. “request-for-comment” or “RFC” posts) but about which I haven’t seen any comments.

In May, I asked about transitioning to a “defined seasons” model of agriculture, perhaps after turn 28.

In August, I proposed setting deadlines to help reduce the extent to which the campaign has bogged down.

And last month, I had an idea for a “global exposition”, a “World’s Fair” or “Olympics” kind of game-world event, but I won’t go to the effort of crafting rules and mechanics to describe it unless there’s interest among the players.


Annotated Log

Every month until June, I continued the annotated log of the first campaign of Strategic Primer, from back in 2001; this had been going since year-before-last, but it finally finished with Part 22 in June.

Turn Summary

The current campaign showed a little more progress than last year … but that’s not saying much. We finished only one turn; I posted a summary of it in May.


The remaining posts, other than those having to do with the “helper apps” and their development (which I’ll cover at some length below), mostly had to do with describing various aspects of the game and its world.

One early post, following up on similar thoughts late last year, was on “science fiction in Strategic Primer”. In the middle of the year, I wrote about non-human races, and later “immortals”, in the game-world.

On the subject of the mechanics of the game, last December I began to convert agricultural advances to a new “Crop” category; a handful of more difficult instances remain unconverted, but the rest have been done for many months now. In January I proposed a new rule about food processing, which I will probably formally promulgate in the next turn or so. More recently, I gathered my thoughts about what food spoilage should do.

At the beginning of this civil-calendar year I made a list of goals for the year; we’ll take a look at those in another month.

In August I collected and summarized everything of note since last year’s year-end retrospective, in a post I called (following the pattern of free-software projects) NEWS. Today’s retrospective serves the same purpose; if there is anything of note in the coming months, I hope to make such NEWS posts a fairly regular (quarterly?) feature here.

In March, I took yet another look at “worker advancement.” And in July I looked at the vast—but not immediately pressing—problem of enumerating resources in the world.

Lastly, last week I finally created an updated sample strategy for (especially new) players to use as a model in creating theirs.

Helper Apps

As regular readers probably know by now, I have written (and continue to develop) a suite of “assistive programs” or “helper apps” for players and Judges of Strategic Primer.

User Documentation

In the middle of the year, I wrote somewhat extensive documentation on how to use the major “apps” in the suite, describing their features. (The documentation has lagged behind subsequent development, but I don’t think there have been any changes so significant that this documentation would lead a user astray instead of pointing him or her in the right direction.)

In May I wrote a “user’s guide” for the map viewer, the first, most complete, and foremost “app” in the suite.

In June, I wrote about the worker advancement app, which I use for crediting workers with the hours of experience they gain each turn; because I hadn’t written the worker management app yet, I thought of it as possibly useful as an improvised tool for that role for players.

But in the very next month, I buckled down and wrote an application for players to use to manage their workers, and wrote a user’s guide for this worker management app.

Developer Documentation

Before I began writing the user documentation, I wrote some high-level developer documentation, in the form of a “tour of the code.” Because of its length, I divided it into three parts, looking at the “controller”, the “model”, and the “view”.

I regret to say that this, far more than the user documentation, has been rendered out-of-date and less than useful (if not quite useless) by changes to the code that were not accompanied by changes to the documentation. In both cases, this is something that I mean to fix one of these days.

Development reports

Each month or so, I released a new version of the assistive programs suite and wrote a post reporting on development since the last update, which also included a “roadmap” of where I hoped development would go in the future.

If you’re interested in reading the month-by-month details, all these posts are filed together. But I don’t intend to go over all the minutiae, or to link to the particular months, here; instead, I’ll just mention some of the biggest or most important changes.

One early addition was an interface—first command-line, text-only, then later on a graphical interface—for running exploration (and unit movement in general). It’s still tremendously clunky, but this is far better than any tool I’ve had before for generating the “exploration” part of a player’s results.

Another early addition was mechanisms for automating worker advancement. I’ve already mentioned the “worker advancement app.” Soon after I created it, I also added a simple “app” to let the user choose which “app” in the suite he or she wants to invoke, instead of requiring command-line trickery to get at anything but the map viewer.

For a long time the map viewer had had a “primary” and a “secondary” map, only one of which could be visible at once, and a mechanism for copying things from one to the other. In February I reworked it to only have one map per window, but to support dragging (copying, not moving) things from one window to another.

I also added various usability improvements, some of which had long been requested by players, to the map viewer, including faster arrow-key scrolling and scrolling using the mouse-wheel, a “find” command, using the platform-specific modifier key for hotkeys instead of always “Control,” zooming, and filtering out specific kinds of “fixtures.”

In March I began a “report generator,” to produce an organized list of everything of note that’s in a map.

I added support for workers’ “stats,” including the ability to randomly generate workers.

In addition to creating the two entirely new “apps,” later on in the year I changed them to use “trees” rather than a series of lists linked to each other.

More recent changes have largely had to do with improvements made possible or exposed by upgrades to the development tools I use, such as Java 7 (which offers the try-with-resources statement) and Eclipse 4 (which includes increased “nullness” checking).

That’s essentially everything I posted in the past year related to Strategic Primer. If anything looks interesting, feel free to go back and read it, and maybe start or join in the discussion there.


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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s