Is random weather in role-playing games too random? Using simple Markov chains to make RPG weather more realistic (Markov Chain Weather Part 1)

Weather is important in role-playing games. This is especially true in wilderness and seafaring exploration adventures, where poor weather can affect navigation, travel speed, and visibility. In this post, I'll describe a method to generate random weather using a simple Markov chain (see the end of the post for the tables).

Nearly all RPGs provide some way to randomly generate weather and include its impacts. One of the problems with random weather tables is that they tend to be “too random”. Rolling once a day on a random weather table can result in the weather jumping unrealistically between different types (Storm! Cold Weather! Hot Weather! Storm! etc.). Real weather isn’t completely random all the time. For example, mid-latitude weather tends to flip between regimes of unsettled stormy weather and regimes of settled weather. When the weather is unsettled things do indeed feel random as the passage of storms and fronts bring rain, snow, and strong winds. But when the weather is settled we can get the same conditions day after day, for example, during a summer heatwave or a winter cold spell (both of which are often associated with anticyclonic blocking conditions).

Making random weather less random

Photo by Craig Sunter (CC BY 2.0)
Some very complex weather schemes have been developed to try and solve this problem. For example, there is a D&D weather scheme in Dragon Magazine 137 that uses 19 random tables to generate random RPG weather. The GM is then encouraged to roll up 30-days of weather in advance and then rearrange the individual days so that the weather evolves in a manner consistent with historical patterns. A lot of effort to work out whether it is raining in your RPG!

Another method is to use historical weather observations from a location on Earth similar to the campaign setting (www.wunderground.com is a great resource for this). Historical observations will of course change from one regime to another in a realistic way. However, using historical observations requires some preparation and there’s always the sense you are deciding in advance the impact the weather will have in your game (for example, will the months ahead be stormy or not). It is also harder to incorporate fantastical weather (for example, a radiation storm in a post-apocalyptic setting) when using historical observations..

A more elegant solution to generating random weather are hexflowers. The weather is generated by performing a “random walk” across a 19-hex grid, each hex corresponding to a weather type. As you can only move one hex per day, the randomly generated weather evolves more gradually. However, real weather can sometimes shift very rapidly from one regime to another and it is more difficult to capture this behaviour in a hexflower. Hexflowers are also slightly more complicated to use than rolling on a random table.

“Less random” random weather using a simple Markov chain

A different way to create random weather and yet retain realistic variations is to expand on the idea of the weather flipping between “Settled” and “Unsettled” regimes using a procedure known as a Markov chain. The basic idea is to roll once per day to determine if the weather remains Settled or Unsettled, or if it flips to the other weather regime. There is then a second roll to determine the weather type. The second roll is done once per day during an Unsettled weather regime to mimic the passage of storms and weather fronts. During a Settled regime only one roll is made for the weather type, which then persists until the weather flips to the Unsettled regime again.

The tables below describe a scheme for generating realistic spring or fall (autumn) weather for a location similar to Southern England. Hopefully you’ll find this fairly simple to follow (or at least no more complicated than other RPG schemes) - let me know in the comments. A document with the weather tables, including tables for summer and winter, can be found here

Spring and Fall Weather Scheme

1. Roll 1d20 each day to determine if the weather remains Settled or Unsettled, or if it changes regime.

2. Now determine the type of weather, which depends on regime:

For a Settled Weather Regime:
At the start of the regime, roll 1d20 to determine the type of Settled Weather. The type of Settled Weather persists until the weather becomes Unsettled.

For an Unsettled Weather Regime:
Roll 1d20 each day to determine the type of Unsettled Weather.

Note that the Visibility column in the tables above refers to the long-distance visibility of navigational landmarks for some D&D 5e hexcrawl rules I'm developing.

It’s also worth noting that this procedure is rather general and can be adapted in a number of ways. In the next post on this series, to show the flexibility of Markov Chains I've taken the same method and developed tables for Post-Apocalyptic and Hell-like settings 

Edit: The above post was edited on the 09/10/21 to sharpen the introduction regarding the concepts of randomness and weather. Original text "Real weather tends to vary over a few days, e.g. mid-latitude weather tends to flip between regimes of unsettled stormy weather and regimes of settled weather (for example, heatwaves in summer or cold spells in winter associated with anticyclonic conditions)."


Comments

Popular posts from this blog

Barrow of the Two Brothers: One Page Dungeon

Creating localized RPG weather using a simple Markov Chain - an example of a foggy swamp (Markov Chain Weather Part 3)