Monday, May 21, 2012

Attrition System Complete (For Now)

Attrition For Overland Travel

This system abstracts the rigors of travel by calculating an attrition value that is applied as hit point damage for characters traveling overland. The primary factor for determining attrition is climate data, namely, temperature, humidity, and wind speed. These numbers are used to derive a hit point value that roughly corresponds to the impact of weather on the human body (heat stress, core body temperature, etc).

Climate Data

Apparent Temperature is a calculated value derived from temperature, humidity, and wind speed that is used to determine attrition. The best way to get good data is to use a historical database of weather (like this one). Use a city that your party is located near and a establish a base date from which to draw the data. For example, if my game session is May 1, 1618, I would map that date to weather data from May 1, 2010. Specifically, you will need the high and the low, average humidity, and average wind speed for the day.

Generating A Value

Use the attached spreadsheet and fill in the values that are shaded light blue. The attrition value in HP is the value highlighted in yellow. Use successive lines from the spreadsheet for successive days since attrition is cumulative.

Using The System During Play

The best way to use this sheet during play is to generate a month's worth of values. Whenever your party travels, delete all the prior days in that month and start counting forward from there. For example, if you populated the entire month of May 2010 as May 1618 and then your party traveled starting May 4th, delete the lines for the 1st through the 3rd.

The Mechanics

Attrition is calculated by using the Apparent Temperature in a correlation between temperature and mortality rate inspired by this reference. Apparent Temperature is a simplified Steadman equation. Two values are calculated, one based on the low temperature for the day and the other for the high temperature. They are then averaged as the day's attrition value.

Limitations And Common Sense

This system is only designed for creating a hit point effect for overland travel. It assumes people and draft animals are taking appropriate precautions against the weather, are fed and drinking, and traveling at a normal pace.

If these assumptions are not true, I don't change these mechanics. Rather, I increase travel time. For example, a heavy rain storm would slow the travel rate down by washing out roads, causing flash flooding, or washing out bridges or fords. So the damage calculation is the same, but the party is exposed to the elements for a longer period for time. If the party were eating only half rations, reduce their rate of travel as they can't keep a good pace up with an empty stomach. If they are under the effects of an Endure Weather spell, feel free to half the damage.

In the end, this calculation provides a realistic damage for travel; it is up to each DM to use common sense in integrating this into your game world. At least you have a strong foundation for adjudication.

The Importance of (Peer) Review

Did you look closely at the previous post's system for attrition? Did you plug in some numbers to test it out? Did you find out where the system works and fails? Did you notice how incomplete it is?

The post only details hot weather effects on attrition, what about cold weather? The heat index is only valid for temperatures above 80F and humidity above 40%, if you try to use the charts' equation for cold weather, you get nonsensical results.

What type of data we we plug in? High temperature, low temperature, average temperature? Desert travel can be brutally hot during the day and freezing cold at night, how does the above system take that into account?

So there's the direction for the next post, finding what the system is incomplete and making it more robust. Always push your design, always test the fringe cases, and always strive to make them better.

Tuesday, May 15, 2012

Attrition: New Design Ethos, or, Why Your Design Has Been Found Lacking

I've been kicking around the concept of attrition for overland travel for a while now. Let's re-establish the current foundation for this system.

Attrition accumulates per day, according to a base value added to a temperature/humidity factor. The next day, the base value is the previous day's final value, which is then added to the current day's temp/humidity factor. Rinse, repeat. Here's another way of looking at it:

Attrition(0) = Base damage + Climate factor
Attrition(i) = Attrition(i-1) + Climate Factor

Now the whole concept has been simplified to a single factor, that is temperature and humidity. Those two variables, also called the heat index, should cover the vast majority of the effects of weather on the human body. Precipitation will be factored indirectly, namely, heavy rainfall washes out (or covers with snow) paths and roads, which lengthens travel time, allowing for more attrition to take place.

Now here we are at a crossroads, what numbers do we use? D&D was built on pulling numbers out of assholes in order to answer this question. This is where your design fails too, you do not have to guess at any of these numbers at all. Thanks to the information age, you can find peer-reviewed research on pretty much any topic you want. There is no reason to be building systems out of fairy tale numbers of useless heuristics you just made up.

Ok, so where do we find this information? A quick google search lands me at the Center for International Earth Science Information Network, and a handy research article called "Climate Effects On Human Health". Why, there is even a section of predictive equations! Who would have thought of this, there already IS a system for determining how your environment affects you. All we have to do is translate it into hit points and we are off to the races.

So stop pulling numbers out of your ass for your designs and put in the same amount of time into basic research.

Ok ok, back to this system. Let's see what we can use: TMR = cycle + 0.10e[0.2(F[1] - 90)] This looks extremely similar to what I want, a "temperature-specific mortality ratio" expressed as a base value added to a function of temperature. But I want heat index, or a value that combines temperature AND humidity. Thank you NOAA:

We have all of our pieces now. Stick our predictive equation into a spreadsheet along with inputs for temperature and humidity. Input the above chart into the spreadsheet and perform a look-up to pull a heat index value to stick into the predictive equation. Then, tune the factors around the exponential term in the equation as well as the output so it translates into usable hit point numbers (nothing too small or too big).

Once the sheet is set up, it takes less than 1 minute to generate an attrition value for the day's adventuring or travel. In the end, you have a system that gives you an answer as fast as you can open a spreadsheet and the answer is based on our shared reality and science.

Oh, need to find climate data for input? You have a few resources from which to work.

Monday, May 14, 2012

Why Saving Throws Hurt the Game, Why They Are Needed

The moments that call for a saving throw represent the pinnacle of tension in D&D. They lie at the crossroads of defeat and success, of life and death, and can be the culmination of an evening or a year's campaigning. So why are we rolling a die at this high point? Why are we leaving the resolution of our shared time to random chance, no matter how intelligently or recklessly the game has been played?

The moments that call for a saving throw represent the mundane points of D&D: a pit placed in a hallway, a random trap rolled off some table, or the effects of a harsh environment. Again, random chance takes the place of smart/careless behavior and turns these aspects into something resembling adventuring attrition.

Saving throws are overused. When I first talked about taking attrition damage during overland travel, one commenter wanted to add a save to avoid a day's damage. Like you can really avoid the effects of the environment by being bad-ass? More likely, he was calling for saves because the PCs are precious and should be afforded every opportunity to survive/thrive regardless of smart/reckless play.

Well, the real reason saves are overused is because D&D is under-designed. How many mechanics are just rolled up into a saving throw? Spells, abilities, effects, poison, traps, magic items, the list goes on and on. Just throw a save on an action to create a lazy mechanic to adjudicate its effects. It isn't even a robust and elegant mechanic that could be applied to numerous situations; it is just lazy. Maybe the original designers ran out of creative steam and then we all just kind of turned a blind eye to this gaping hole in the game's mechanics. Or maybe we are blind to the failings of tradition.

Either way, saving throws are a boring, lazy, static mechanic that form an umbrella over countless actions and opportunities in game that could have mechanics designed to add tension, flow, and enjoyment to the game.

Friday, May 11, 2012

Saving Throws Vs Stats

I never really liked how saving throws worked in D&D. The concept of a roll to avoid some horrible fate seemed anti-climatic and antithetical to play, but that would be the topic of a different post. The mechanics themselves are rather stagnant.

At lower levels, saving throws are pretty poor and you don't really expect to make a save in most cases. At higher levels, saving throws can get so good that they can be meaningless. I'd rather have a mechanic that is interesting at all times. 3rd edition used scaling saves, but that really just devolved into the edition's min/maxing attitude; saves became binary, either you maxed out your save or DC or you didn't. Not too interesting there either.

The simple solution is to tie saves to stats, which are rather static. Roll a D20 and if you roll equal to or under the stat in question, you save. Saves stay relevant at all levels and the classes keep their unique quirks (thieves dodging fireballs, Clerics resisting mental effects). For NPCs/mobs without stats, we can make a quick correlation to HD. Maybe assume every stat is average (9), plus some fraction of their HD (half? third?). You will still have the monsters usual resistances/immunities (undead to mental effects) to guide any tweaks. Either way, saves for monsters are mostly "did he die yet or not" and are one more roll in combat; I'm not concerned with having a strict mechanic there.

In the end, stat-based saves makes sense with a nod towards realism. Hell, I am just as susceptible to my wife's ziti today as I was 8 years ago; my willpower hasn't really changed through my adult years. Soldiers get better at fighting, but they don't become wiser or more hardy with age. If you throw in the age effects on stats, you get a small movement in those stats to reflect aging, and that small tweak seems perfect enough.

Yea, nothing monumental.