Strategic Primer: NEWS

When I asked players if they had any ideas for possible blog topics in the Strategic Primer “department”, one replied, “What’s new? I’d be interested in seeing a summary of the latest changes.”

Many projects include a NEWS file in their releases, describing what changes from the previous version the release contains that the user is likely to notice or want to know about. I’m not likely to include such a file in the assistive programs distribution, because an out-of-date NEWS file is worse than none at all, but that’s essentially what this question is asking for.

Taken together, the quasi-monthly development reports, the turn reports, and other posts on this blog should make answering the question “What’s new?” unnecessary. But plainly they don’t suffice, so today I’ll try to summarize changes since … the end of the previous turn, let’s say.

My methodology for collecting these changes is to go through this “department” of the blog and skim the commit logs for both the viewer application and my “game data” repository. If I mentioned something (major enough to be noteworthy) in a private email, it should be here, but I’ve probably forgotten it if I didn’t write it down in a version-controlled directory or blog about it.

During this time I posted almost all (“almost” because the first installment was the month before the post I’m taking as my starting point) of the annotated log of the 2000-2001 campaign.

After the tenth turn, I converted the map to a higher resolution and populated it with a vast number of “fixtures” (“animals, abandoned mines, meadows, groves,” and so on). But then I found that this higher resolution made the map too big to deal with, so I reduced the resolution again. I planned to make each tile have a “sub-map” describing it at much higher resolution, usually procedurally generated, but that proved to only compound the problem—and my implementation repeatedly corrupted data. (Thank God for version control!)

At the end of year-before-last, I wrote a “mid-campaign retrospective.” (It’ll be time to write another one after this or next turn, I’m afraid.)

Early last year, I finally, in response to requests from the beginning for a story to explore, described “the starting story.” (I have a few ideas on where to go from here, but not many, and in any case I won’t say in a post my players may read.) I also wrote briefly about the role of the player in the game-world.

In the course of this time, I’ve started to add “unit details“—two units of the same “kind” won’t be identical. And the “members” of a player’s units can be managed using the “worker management app” I wrote last month.

Early last year, I dropped support for the “map subset” feature of the map viewer, which allowed the player to ask it to only display tiles between specified rows and columns. (If the feature had remained, it would have proved very complicated and difficult if possible at all to make it only draw tiles that are actually visible at any given time, which was increasingly crucial to the viewer being actually usable at all.) Around the same time I added the ability to scroll using the arrow keys and to “jump” to a specific tile of given coordinates.

Also early last year, I mused about various approaches players could take to the game. Later, I wrote a “strategy checklist,” a list of areas to remember to think about in preparing a strategy, and a discussion of what an “advance design” should ideally look like.

That fall, I changed the part of the map viewer that showed the details of a tile to use a standard list rather than a custom panel with “chits.” I also, as I proposed in a post last October, made each instance only know about one map, instead of a map and a “secondary map,” but made it possible to drag fixtures between windows instead of just between a window’s two maps.

Thinking beyond just the current campaign, I came up with the idea that Strategic Primer could be used in education.

I discussed “maintenance costs,” which won’t be added to this campaign in the form they took in the past, but probably will gradually appear in more granular costs.

I suggested that players might create flags to represent their forces—though the map viewer and other assistive programs still don’t support them.

I announced plans to port everything to Ceylon. This hasn’t happened yet, but once the language reaches 1.0 I’ll make another attempt.

One of the features that’s been on the roadmap for well over a year now that still isn’t implemented is changesets. I still hope that maybe I’ll get an implementation underway before the end of the year.

I wrote about fantastical and science-fictional elements in the game, and also “specialties,” “lines of research” into such things.

For any players who join this campaign in the future, and in future campaigns, the Starting Package will be somewhat different.

Early this year, I changed the way the advance database talks about farming. Instead of having a “Farm” advance for each thing that can be farmed, there’s a new “Crop” category of advances. Around the same time, I proposed that a rule be added to make the game’s model of hunting and the like more realistic. I also proposed moving game-world agriculture to a system of defined seasons.

Also early this year, I added the ability to search in the map viewer for things on tiles by name, “kind,” or ID number, including incremental searching, searching forward and backward, and searching across-then-down or down-then-across. And I extended scrolling using the arrow keys so that if Control (or Command) is held down each press moves five tiles instead of one. Later, I added the ability to scroll using a mouse wheel, and yet later a rudimentary zoom function that can also use a mouse wheel.

Later on, I added the first “user-visible” programs, other than the map viewer, to the suite, including an “app chooser” program (so that it doesn’t just open the map viewer every time), a program I use to run skill advancement for players’ workers, and fairly recently a program to organize a player’s workers into units, enter orders for those units, and generate a “proto-strategy” from that. I also wrote a program to generate a “report” from a user’s map; while the report generator can only be run from the command line with the appropriate switches, a slightly abridged version of the report is displayed as part of the worker-management interface.

Starting this February, I began to write documentation for the “assistive programs” beyond mere API documentation, starting with a “Tour of the Code” (controller, model, and view), then moving to end-user documentation of the map viewer, the worker advancement program (since it was the closest thing to a proper worker-management program there was at the time), and the fairly new worker management program. All this documentation is by now at least a little out of date, but while discrepancies may be obvious (a program now uses a “tree” in place of a pair of lists, for example), they are generally minor.

Over all this time, I’ve repeatedly returned to the issue of “worker advancement”; my most recent post, which links to previous ones, was this past March.

By this May, we had finally finished the eleventh turn, so I gave the usual turn summary.

In the latest released version of the suite, I increased the “system requirements” from Java 6 to Java 7. And in that same development cycle I started using Pivotal Tracker to track the roadmap again.

A couple of weeks ago, I suggested making deadlines to help improve the flow of the game.

And last week I introduced the main non-human races in the game-world.

That’s the news, most of it not really “news” anymore, and less well-organized than I would like … but this is already a month later than I wanted it to be. I plan to make these NEWS posts a regular feature here, perhaps every quarter, to prevent items from building up like this.

Any thoughts?


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.