On Wednesdays I write about my strategy game, Strategic Primer.
As I mentioned in the reports of the two turns in which this came up, the players have (several times already in the current campaign) made decisions and asked questions regarding exploration that went far beyond what I had thought to prepare.
So, as part of the suite of assistive programs I plan to write, and as something I need even without a program to do the number-crunching for me, I’ve been trying to come up with a good system for finding out what is in any given place, and what any given “person” passing through (or searching in more detail) will discover.
At present, each tile (a quarter of a square mile) has what is known in the map code as an “event,” one of 256 possibilities. Most of these are “nothing interesting here,” and many of the others are duplicates of each other too, but there are ruined and burned-out fortresses and towns of varying sizes (plus the occasional active town), mineral and stone deposits of various kinds (exposed or not), caves, and “signs of a long-ago battle here.” They were assigned utterly randomly, with no consideration for whether they were appropriate for the tile type.
When an explorer passes through, I determine an appropriate difficulty level based on the terrain, then roll (modified according to the rules governing levels in Jobs and skills) to find out whether the “event” was discovered. For more detailed investigation of “ancient battlefields,” ruined or burned-out towns or fortresses, and the like I’ve just made up something that sounded reasonable.
I and some of my players have been brainstorming for ideas of what any explorers might encounter that the player might be interested in. We (mostly they) came up with ruins from older civilizations, caves, independent towns, camps of nomadic peoples, abandoned fields, berry patches, meadows, orchards or groves of trees, various minerals (more than I’d thought of while putting the original list together), and various kinds of wildlife (including some that to us are utterly imaginary, like dragons and unicorns).
Any further contributions to that list are welcome (if you have a Google Wave account—or would like to participate in the discussion anyway, via an email-to-Wave gateway robot—you can ask me to add you to the Wave that holds the list), and part of what I wanted to ask your help in. But a bigger problem than brainstorming things that might be encountered anywhere in the world is designing some way to say, sensibly, “This player’s explorer, here, might encounter such-and-such, but that player’s explorer, there, can’t because it’s not there.” This is a problem of defining regions (where relevant) and, in RPG-speak, creating encounter tables. It wouldn’t be all that difficult to add another “event2” field to every tile on the map, create another list, and assign them randomly, but I now know better. On the other hand, I don’t want to create over six thousand encounter tables by hand, so I need some way of making the computer generate sensible data. Preferably deterministically, so that a second explorer who follows the first could encounter the same things without any tricks.