I'm running a sandbox campaign and I've been looking for a method of randomly determining the weather for the day.

Features I'm looking for:

  1. Low-to-medium handling time during play. Big tables are fine if they're easy to use. I'm fine if the system needs to be tuned or setup for my specific setting before play, but during play I want to quickly determine the results and move on.
  2. It has to give concrete results that I can immediately apply and don't require further interpretation. (I'm not interested in systems that merely suggest a vague weather state and leave me to fill in the details.) For example, "a bit hot, heavy rain, no winds" is something I can immediately apply to the situation of "they're in the badlands, so flash flooding is now a possible hazard". A result of "extreme weather" requires too much interpretation – it could mean the same but could equally mean tornadoes or blistering heat or something else.
  3. It has to take into account the prevailing weather, including seasons and local climate.
  4. My game is analogue, pen-and-paper only during play, though if a weather system uses a computer for before-play setup (say, to generate custom per-area tables) that's just fine.
  5. Ideally, it wouldn't require pre-generating specific weather results. When we sit down for a session, I don't have any idea whether play will encompass a few in-game hours or months of in-game time. (If it can pregenerate months of weather for multiple locations in a compact, printable form, that might work.)

My motives for wanting concrete results to work with are to a) eliminate my bias and avoid unnecessary DM fiat, and b) have weather trends emerge that even I don't expect.*

I don't just want "set dressing" for overland travel, I want weather because it's important to a medieval-ish society for agriculture and warfare – and therefore politically too. I want to be able to roll and tell the players something like, "The drought continues, and the desperate villagers demand your magic-workers do something. They're angry and superstitious…", or "The pass to the north is still under lots of snow. You're unlikely to get a lowlands army through there intact until the thaw." I want those sorts of things to naturally arise without me deciding to run a "drought plot" or capriciously blocking the players' plans.

I have the Wilderness Survival Guide† and I like the system in it conceptually (it hits features 2 and 3 easily), but its heavyweight implementation looks like it would be a pain to use quickly at the table. (I could be wrong. Telling me how you've make it work for your game would be a good answer.) There are lots of suggested systems floating around on the blog-o-tubes, but they're either too simple and suited only to set dressing or don't take into account existing weather. The WSG system's results are my ideal, but I'm looking for something that's better-designed to not have a ridiculous handling time.

I'm not looking for ways to make weather important since I've got the tools for that already, although if that's integrated into the weather system that's great.

Something you've made up, something posted online, or a specific print reference are all fine, though for print I'm not likely to accept an answer until I can find a copy so I can evaluate the system.

(This post is tagged because that's the style of game I'm running, but weather systems are often game-system agnostic so it gets that tag too.)

* Also, I live in a rainforest climate so my sense of what is "normal" weather is less than useful.
† My first-ever RPG purchase.

  • 4
    \$\begingroup\$ This is the "good form" of what would otherwise be a shopping question - it asks for a method to generate weather. That's on topic, as opposed to asking for a specific product. People can answer with a specific product, of course. \$\endgroup\$
    – mxyzplk
    Oct 20, 2016 at 2:08
  • \$\begingroup\$ @mxyzplk meta.rpg.stackexchange.com/questions/6547/… \$\endgroup\$
    – Tritium21
    Oct 20, 2016 at 2:32

10 Answers 10


Answering the tag I present you Empire Weather

The simple charts provide a glossary for seeding descriptions, accounting for prevailing weather, and an instant weather option as well. All using a single d10.

Belated Update... h/t @ryanfaescotland

Eight years and counting. I saw a recent upvote, and Ryan's comment. Yes I'm still using this chart. As recent as last week in my current D&D 5e in Greyhawk campaign (entering its almost fourth year!)

Dave Graffram simply makes it direct and with a dash of spice to make it setting relevant. IRL I had the opportunity to take a mountain hike that started off partly sunny. In the first 10 minutes of the hike, thunder. The guide said something witty about bear caves and trees being lightning rods. 30 minutes later, a thunderous downpour that lasted for the entire hike. Unprepared, the entire group was soaked to the skin. The trails became treacherous: roots and rock, covered in rain soaked bark and mosses, provided no perch for shoes. The hot day turned cool in the cloud cover and rain, then humid after the downpour.

I made a comment to my players in the following session about these experiences providing a frame for describing weather in the game, and justifying a liberal use of the Exhaustion rule in overload travel.

  • 2
    \$\begingroup\$ Credit for Empire Weather BTW goes to Dave Graffam of Dave's Games, formerly of Encroachment of Chaos, a WFRP 2e resource site archived at Winds of Chaos. \$\endgroup\$
    – javafueled
    May 7, 2012 at 15:54
  • 8
    \$\begingroup\$ This is what I'm using now. In using it, this answer has essentially taught me that the answer to my question is "good god don't try to do that". My ideal as expressed in the question is, I think, a pipe dream: I either need to accept complexity and high handling time, or abandon simulation for what's quick and flavourfully-effective. My current needs are served by the deceptively-simple Empire Weather table. \$\endgroup\$ Jun 20, 2012 at 1:07
  • \$\begingroup\$ Now four years on from my answer, I'll add that I still use this chart in my on-going campaign. I roll 1-2 weeks of weather, recording the roll on my campaign calendar (for continuity) and session flavor. Ancillary to this chart I also use a chart for the appearance of the WFRP Chaos Moon, Morrslieb. The appearance is recorded along side the weather on the calendar. \$\endgroup\$
    – javafueled
    Oct 18, 2016 at 15:39
  • 1
    \$\begingroup\$ @javafueled, you should add your comment into your answer, multiple years of experience using the same system is a great addition. You could even let us know if you are still using it an additional 3 years on from that comment! \$\endgroup\$ Sep 15, 2019 at 22:49

Here's a pen-and-paper take on it. It's going to be hard to balance determinism with ease of use (read: huge tables). This is my best attempt.

Use two small tables:

Roll on Table 1 for the general weather of a new area.

d10 Table 1
1 Sunny and comfortable
2 Cool but comfortable
3 Too Cold
4 Too Hot
5 Blistering
6 Frigid
7 Snowy
8 Rainy
9 Dry
10 Humid

Every day, roll on table #2. This result modifies your result from #1. A result of 6 is a potentially drastic modifier.

d6 Table 2
1 Warmer
2 Colder
3 Similar
4 Similar
5 Precipitation change
6 Reroll on Table 1

An example:

Day 1: Rolling a 7 on table 1 gives you a snow-covered region.

Day 2: Roll a 4 on table 2. The weather doesn't change much.

Day 3: Roll a 2 on table 2. The weather gets noticeably colder.

Day 4: Roll a 5 on table 2. This day has much heavier snow than normal and may impede travel.

Day 5: Roll a 6 on table 2. Roll a 5 on table 1. The heat wave is so sudden that the nearly all snow melts in a single day, causing severe flooding.

Day 6: Roll a 3 on table 2. The heat is relentless. Surely plot is afoot!

And so on...

If the rate of change is too aggressive you can roll on table 2 weekly, monthly, etc. Whatever fits your needs.


Why not use a real-world source? You can find real-world weather reports for almost the whole world online.

NOAA has weather maps, and you can check the weather by date, going back. And here's the main page for their climate center: NOAA climate center

  • 4
    \$\begingroup\$ I'm specifically looking for a weather-generation system, for the reasons above. Using historical data a) doesn't surprise me, which increases my unconscious bias since I know what's coming, b) doesn't give me a quick way of determining weather in a surprising location, such as if the players step through a portal from a plains onto a tropical island. Having to go look up tropical island data mid-game would be a problem. \$\endgroup\$ Apr 18, 2012 at 19:05
  • 4
    \$\begingroup\$ Though, I should also say that this could be a great answer for someone else and will probably help people who look up this question based on the title, so thanks! \$\endgroup\$ Apr 18, 2012 at 19:24
  • 3
    \$\begingroup\$ Whats great about this suggestion is you can select an area of the world with a very similar climate to that in your campaign world, and get very realistic weather patterns. \$\endgroup\$ Apr 19, 2012 at 19:08
  • 2
    \$\begingroup\$ Couple things: Pick an appropriate, similarly climated are on earth, and perhaps consult the almanac from a few years ago, in case you need multiple days of climate. Great Answer. As for "surprises", the GM should never be surprised by something like the weather, and probably should know if the adventure is going to switch to tropical island before it happens. \$\endgroup\$
    – JPicasso
    Oct 20, 2016 at 12:22
  • 1
    \$\begingroup\$ @JPicasso The question explicitly says this is for sandbox campaigns. If I know the game is going to switch to a tropical island long enough before it happens to generate paper printouts of weather data for possibly months of time (because sandboxes aren't time-linear either), then something has gone horribly wrong with my sandboxing. \$\endgroup\$ Dec 28, 2016 at 7:44

If you had access to the internet during your gaming sessions, I would highly suggest using WolframAlpha. A bit unconventional, sure, but extraordinarily impressive and precise. What you'd need to do is determine what "real world" date your fantasy date translates to, and figure out a geographically similar real-world location for each of your fantasy locations.

For example, let's say I've determined my campaign is using the weather of February 1, 1975 (the year doesn't matter, but this way you can increment the day by one to get continuous and realistic weather trends.) My PCs are crossing a great expanse of farmland, so I'll use weather from my own central-Illinois zip code: 61801. On February 1, 1975, it rained for several hours after midnight, with temperatures hovering just above freezing. Waking up to cold and dreary weather and heavy fog, the PCs decide they need a vacation and at around 7am decide to teleport to a tropical island. Now you just need to Google a good tropical island zip code (Hawaii's 96706 should do nicely) and pull up that weather. Unfortunately for your PCs, they teleported into the middle of a thunderstorm; thankfully it will stop raining in an hour and a half and they can enjoy the beach as the temperature rises to the low 70s.

Unfortunately, this will definitely require an internet connection; printing the weather for each day isn't feasible, and like you said in your comments you can't predict where your PCs will go. However, the weather should still be relatively surprising as long as you don't spoil it for yourself and look ahead, as weather is shown 24 hours at a time.

  • 3
    \$\begingroup\$ This type of approach is especially recommended if flight plays a role in your campaign -- you can't even set your altimeter by the output of a garden-variety random weather generator! \$\endgroup\$
    – Shalvenay
    Dec 16, 2014 at 5:43

An idea expanding @dpatchery's solution:

Build one or more tables, each for a different climate category (that is, precipitation, humidity, temperature, pressure would have their own tables). Build them as large as you like, but if their lengths are equal to a normal die you use it will be easier. The lines in each table should be ordered, e.g.

Temp table

  1. -20ºC
  2. -10ºC
  3. -5ºC
  4. 0ºC
  5. 5ºC
  6. 10ºC
  7. 15ºC
  8. 20ºC
  9. 25ºC
  10. 30ºC

(This table obviously assumes rolling a d10)

Now, for each table,

  • roll the initial climate with your die. Say you roll a d10 for the 10 different temperatures in your T table. You get a 7. It's 15ºC.
  • For the next day, roll a d4. 1 or 2 mean going back 1 or 2 lines in the table, 3 or 4 mean going forward 1 or 2 lines. Say you roll a 2. Means 2 lines back from item 7, so temperature drops to 5ºC.
  • if the initial roll puts you near or at the end of a table, simply go the other way, expand the table, use a circular table, or use a smaller die.
  • \$\begingroup\$ This is getting closer to the sort of thing I'm looking for, but the existing systems out there I've already looked over and rejected are this kind of thing but more complete. This does give me some ideas for streamlining the WSG system though, so +1. \$\endgroup\$ Apr 20, 2012 at 16:05
  • \$\begingroup\$ @AdrianoVaroliPiazza I want a system that takes location and season into account. Existing systems don't make a distinction between winter in the mountains and summer in a forest. Without that, players can't make informed strategic decisions related to weather and I'm better off not using any system at all. \$\endgroup\$ Apr 24, 2012 at 18:34

There are some reasonably simple systems here, so here's one that's a bit more complex. I've not playtested it at all, and I'm intentionally leaving a lot of it dangling, so there are a few spots where things are still a bit rough.

7th Sea's fiat-based weather system uses a grid to determine weather. The weather starts in the center, and the GM can spend points to move it along the temperature and intensity axes.

It looks something like this:

<-Colder     Hotter->
---------------------  ^
|   |   |   |   |   |  |
--------------------- Rougher
|   |   |   |   |   |
|   |   | * |   |   | 
|   |   |   |   |   | 
--------------------- Calmer
|   |   |   |   |   |  |
---------------------  V

Start with something like this. For the sake of simulation, I'd probably replace the intensity axis with precipitation, as that's likely to be more useful in simulation (although if you're really ambitious you can also add a third axis without too much difficulty).

Every (large time increment; nominally one week), roll on a movement chart for each axis. The movement chart would look something like this:

2d6 Movement
  2    -2
  3    -2
  4    -1
  5    -1
  6     0
  7     0
  8     0
  9    +1
 10    +1
 11    +2
 12    +2

For each cell in the grid, generate a table of weather events that can occur. Cells that are in the cold/high precipitation region would have things like snow storms, blizzards, continuation of previous weather, clear, etc. Hot / low precipitation would have things like dust storms and the like.

Roll on the cell table once every (small time increment; nominally one day).

To simulate different climates or seasons, add a modifier to the grid movement rolls. A desert might be +1 temperature/ -3 precipitation.


  • There's a lot you can do with the movement roll, if you're willing to add more complexity. For example, to make climates stabilize better in the middle rings of the grid you can assign an increasing "cost" to each grid square as it approaches the edge. The roll gives you movement points, and you move until you exhaust them. You can also use higher-value dice or percentiles to give you more fine tuned climates.

  • The more squares there are in the grid, the more detailed the results can be. But the more individual weather charts you need to fill out...

  • For a third axis, draw the grid multiple times, one above the other. Moving up means moving to the same coordinates in the grid above you on the paper. Likewise with moving down.


I don't have the time to do it, but you could randomize historical weather data like this.

Weather Underground stores historical weather data. It is accessible via a URL formatted like this:


For example, http://www.wunderground.com/history/airport/KHPN/2000/4/5/DailyHistory.html is the weather for KHPN (White Plains, NY) for April 5, 2000.

Replace $AIRPORT_CODE with a randomized ICAO code. Replace the dates with randomized values (probably safest to stay within the last 10-20 years. I am not sure how far back the data goes).

This would get you a starting day, then just go onward from there. Repeat for each new location your PC's travel to.

Don't worry about getting snow on a tropical island or tidal waves a thousand miles inland -- those sorts of things are juicy plot opportunities!

Your edit indicates that you don't have a computer available during play. This certainly makes this option a little less feasible. I would suggest printing out a handful of random locations with maybe 5 days of data and kept them in a notebook. Don't turn the page until you need a new location/day. Add additional data between sessions as needed.

  • \$\begingroup\$ Cool! I'm not using a computer at the table though, and I want to avoid needing pregenerated weather if I can. (One session can potentially cover less than a day or months of game time, and I won't know until we're playing.) But for some campaigns where a computer at the table works this would be useful… and suggests some coding I could do. \$\endgroup\$ Apr 18, 2012 at 19:34
  • \$\begingroup\$ @SevenSidedDie Understood. After seeing the edit I cried a little. But hopefully someone finds this useful :) \$\endgroup\$
    – dpatchery
    Apr 18, 2012 at 19:42

For my Bushido campaign (set in Japan) I picked a spot where there campaign would be in the real world. I then had a script which went to the Japanese weather site and downloaded the weather prediction for that day. Hence for each day in the campaign there is a real world, one for one weather match, only 4 hundred years out ;)

You could set your campaign in a real world place (just not tell the players) and collect weather reports and use them for that day. For example say you imagined your campaign being a bit like Germany, why not go to the German weather site and copy the weather from them every day. Each new day use a new prediction. Hence weather in the game now has a real world feel and is not random, seasons follow with there correct randomness.

  • \$\begingroup\$ That's a great idea! Best of all, if you cover a few days in the game, you can just pull up another nearby city's weather for the subsequent day(s). \$\endgroup\$
    – Pulsehead
    Apr 20, 2012 at 13:28

Weather is incredibly complex. A chart is never going to take into account seasonal variations, terrain, climate, and ground cover (which will impact movement more than weather generally). I find that its often better to make any weather generation system specific to the place and time. Weather wont vary much in certain areas at certain times of the year - a random system is likely to portray a world totally haywire. I "storyize" most of it - depending on the season we are in. I have a few weather based talking points i use when appropriate or if it turns out on a given day i make a check using whatever scale variation. My wildlife biologist player clued me in to how hopeless this can be to portray realistically - especially if you are trying to use random weather events. Its better to have benchmark points semi-scripted. I would just say theres a certain % chance its different from the previous day, then make a check to see what it is - sliding these values by season, and have some major interesting turning points semi-scripted/thought out.


I'm starting a new sandbox campaign, but I still haven't found a completely satisfactory solution. So this time I'm trying the advice to pregenerate weather, to make its application at the table fast, as inspired by a comment on "Inclement Weather in Your Games - Hand Wave or a Heavy Hand?" on Tenkar's Tavern.

To that end I'm trying out the hoary old Wilderness Survival Guide system and (slowly) pregenerating a year's worth of temperate weather for the six basic terrains it covers. It's not perfect (weather for neighbouring terrain has the possibility of diverging quite a bit), but should serve my purposes for a single group that sticks together. It's very slow to generate, but the results so far are looking satisfyingly like real-ish unpredictable weather. (So far, the first month of spring is unseasonably cold, but as wet as spring typically is.)

It's a good system, but a fiddly pain to use.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .