Thursday, September 1, 2011

Happy New Year, Greyhawk


Easy Calendar Techniques

One of the things stressed in the original game of D8D was the importance
of recording game time with respect to each and every player character in
a campaign. In AD&D it is emphasized even more: YOU CAN NOT HAVE A
MEANINGFUL CAMPAIGN IF STRICT TIME RECORDS ARE NOT KEPT.
--Gary Gygax, Dungeon Master's Guide

One of my recommendations for better game mastering techniques was to keep a calendar.  It seems really mundane, but it's a simple document for structuring information that yields significant benefits.  One of the challenges of the DM is Information Architecture; how do you structure the information at the table to easily track NPCs, the setting, adventure details, important PC notes, etc?  It must combine long term storage with ease of use at the table.  We have sandbox structures, one-page adventures, NPC index cards, word documents, wikis, paper notebooks.  A printed calendar is another simple tool.

For each campaign world year, I build a calendar for the entire year in a spreadsheet - a row for each day.   Next step is to calculate weather for each day of the year; I use the probable home base or general sandbox location for the locus.  There's an excellent article in Dragon 137 (Weathering the Storms) that provides simple formulae and weather patterns for a range of climates based on terrain and latitude.  I find they're detailed enough for fantasy gaming and the formulas are easy to plug into Excel for calculating daily weather month by month - they provide temperature, precipitation, and wind.

Next up, I bust out the D&D Rules Cyclopedia to generate the chance for various annual Domain events (and then randomize the month and day for the occurrence).  The domain tables provide a mix of natural events and intrigue; they were originally printed in the D&D Companion book.

You end up with a schedule of weather and events for the sandbox area for the next calendar year, and a handy tool for marking the passage of time.  Will it take 3 weeks to copy that scroll back in town?  Then you know it will be day X and month Y when adventuring resumes; you'll be able to quickly describe the weather and set the tone.  The calendar is a handy tool for marking key notes right on the print out - here is the day so-and-so died, this is when we started the new delve, etc.  The ongoing benefits are excellent.

The standard Greyhawk calendar has some built-in holidays and feast weeks; I add some local holidays to the mix as well; for instance, the King of Keoland requires that all the vassal states like Sterich celebrate the founding of Keoland.

The last thing I do as we roll into a new calendar year is have the players advance their character ages one year.  I'm not interested in tracking individual birthdays for disposable PCs, so advancing everyone's character age at the same time is simple.  Since Gothic Greyhawk is using LL and the Advanced Edition Companion these days, we're using the AD&D 1E age tables via the AEC.

Here's a quick snapshot from the current spreadsheet; the campaign recently crossed into year cy577 in Greyhawk terms, so it's basically January.  Sterich is around the 35° latitutde area, giving it a warm climate with dry winters; January (Fireseek) is the wettest winter month.  A good rule of thumb is to drop the temperature 5° every 1,000 feet for altitude, so Barovia (at 8,000 feet - similar to Nederland in my old home area of Boulder, Co) is closer to 10° and snowing when the calendar indicates 40° and rain for the lowlands.



Once you've got the spreadsheet formulas built, it's simple to generate a new year's worth of weather and events.  My calendars see heavy use in the ongoing campaign; like a good map, I get significantly more out of it than what I put in.

11 comments:

  1. Ok I'm looking at 137 now and I have to ask...how did you translate any of this to Excel??? Maybe I'm missing something....

    ReplyDelete
  2. Ah, I hear ya. You do need to be able to put some formulas in excel - here are some samples that can get you started.

    This is a simple function for generating a random number between 1 and 100 (a percentile roll):

    =RANDBETWEEN(1,100)

    Then I just us a lot of IF statements (and nested IFs).
    For instance, this one checks a random roll (in cell A9) against the temperature formula to determine if a given day is 32, 40 or 50°.

    =IF(A9<6,32,(IF(A9>94,50,40)))

    A9 is the random result.
    A9<6 represents a roll of 1-5 = 32°.
    A9>94 represents a roll of 95-100 = 50°.
    and everything else ends up at 40°.

    Below is what a longer series of nested IFs looks like to generate the type of precipitation (if the precipitation % chance came out "Yes").

    =IF(E9="yes",RANDBETWEEN(1,6),0)

    =IF(F9=1,"mist",IF(F9=2,"drizzle",IF(F9=3,"steady",IF(F9=4,"strong",IF(F9=5,"pounding",IF(F9=6,"downpour","no rain"))))))

    I have a series of columns that generate the random numbers and apply formulas from the article, and then just concatenate the results into a single column for easy pasting into the actual calendar worksheet.

    Hope that helps a little! I'm no programmer, but you can get a lot done in excel with some basic formulas.

    That article is definitely asking for a talented web programmer to build a simple weather generation program!

    ReplyDelete
  3. Ah, ok I understand now. I had no clue how to produce a random "roll" in excel.

    And the rest helps clear that all up. Thanks!
    Can't wait to put this together. Add some extra flavor and usefulness for my campaign.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Here's how you break that down with one of these IF statements.

    There are 3 outcomes to the roll - less than 5 = A, greater than 50 = B, and the condition you want, which is everything else (things that fall between 5 and 50 = C).

    Here's how you check for C with one of these. Let's say X is your random result.

    =IF(X<5,A,(IF(X>50,B,C)))

    Reading right to left, it says if X is less than 5, use result A; if X is greater than 50, use result B; everything else is C. Voila.

    ReplyDelete
  6. Whoops - I posted a response to the one you nuked, SilentJudas - guess that means you got it?

    ReplyDelete
  7. I suppose that there is an AND function in Excel which would allow you to do four or more values. I see that there is one in OpenOffice.org's Calc.

    ReplyDelete
  8. In short, with multiple LESS THAN AND GREATER THAN statements it just didn't want to work (even with ands), despite a bit of research, so I simply shorted the temps to RANDBETWEEN the temp gauges.

    Either way I have it worked out now. Thanks for all that.

    ReplyDelete
  9. Would you be willing to make your spreadsheet available to us as an example? Some of the things you've done are things that I am not sure how to do, and I'd like to see exactly how you have them set up.

    ReplyDelete
  10. Actually, never mind. I think I know what to do. The advantage of having more sheets helps out a lot.

    Is there a way to make it so that I don't have to type in every box, when there are so many similar boxes? For instance, it's the same set of calculations for day 10 as it is for day 110, but do I have to manually enter the formulas in each line?

    ReplyDelete
  11. This is awesome! I'm going to give it a shot and hope that the Excel you shared in the comments gets me there; my Excel knowledge is good but not great.

    ReplyDelete