Boardgame mechanic to mimic wildfire
Posted: Tue Jan 24, 2017 1:52 am
So I'm playing with an idea for a boardgame (sort of a single player strategy game) about wildfire management, and I'm trying to work out a way to mimic the spread of wildfire across a map in a reasonably realistic way that does not feel time consuming. I'm looking for feedback on this or alternate ideas.
Additional goals are to minimize or eliminate the need to roll dice yet retain a measure of unpredictability.
My original idea was to play the game on a board that is roughly 13x13 hexes, using 53mm hexes. I want some room to build interesting terrain but I need to keep the number of hexes managable.
I'm looking for feedback on this or alternate ideas.
The idea that I have is this:
Each space/hex has a few characteristics:
Fuel Type
Terrain (is it going up, down, or level ground?)
Volatility of the fuel
There are environmental factors that represent the variables and unpredictability of wildfire from most to least variable:
Wind
Temperature
Humidity
Hexes/spaces have two values. First is a target number that must be surpassed in order to catch on fire that we'll call the volitility value. This is a number based on the volitility of the fuel (ie: grass, shrub, sparse timber, dense timber, etc...) modified by wind, temp, humidity, terrain, etc... The second number which we can call the combustion value, is how many turns the hex can burn before it burns out and it's current burn timer represents the base number to compare to adjacent hexes volitility score numbers.
When you check for fire spread, you add environmental modifiers (wind strength, temperature, humidity) to a hex's combustion value, to the next hex in the direction of the wind. If the total surpasses that hex's volatility value, it catches on fire.
Example: We have 1 hex of grass (combustion value 2) catch fire in a prairie, so we won't worry about elevation change. Grass has a volatility value of 3. In the absence of any wind on a flat ground it probably won't spread very far (at least in the scale the game will be dealing with). The scenario sets the starting conditions. It gets a gentle 1 point breeze as a modifier, but the day is hot, another 1 point modifier, and it's the middle of summer so it's pretty dry giving another 1 points, for a total of 3 points of environmental modifier. So on the first turn, the fire has a total of 5 points in the direction of the wind to overcome the volatility rating of 3 (the next hex is grass), which it easily does. The first hex loses one point of combustion, down to 1, while the hex that caught on fire starts at 2.
For the next turn, let's say the breeze veers off to the left one facing, blowing the original fire into chaparral. Chaparral has a volatility of 6 points, and a combustion value of 4. It burns a decent amount of time, gets hot, but is harder to ignite.
On the fire check round, the original hex has a combustion value of 1, and the environmental modifiers of 3 points. We'll give flanking contributing fire maybe a bonus of 1, something like that I haven't worked out the math yet, but the long shot is that only has a total value of 5, which does not surpass the volatility rating of chaparral. The grass fire was mostly burned out and the wind shift didn't catch the chaparral. There's still the 2nd grass hex and whatever the hell it's burning. It's hot enough on it's first turn to catch chaparral or grass.
Wind conditions change every turn, which represents a large-ish chunk of time. Temperature and humidity changes occur more slowly, with humidity changing generally every dawn and dusk. Temperature would generally change 4 times a day (Dawn, noon, dusk, midnight for simplicity).
There's other rules I'm playing with, like blowups to represent when conditions get *just* right and the fire goes from a steady pace to basically an explosion, but I want to have the basic mechanics down.
The general idea I have is that you calculate the environmental variable and then quickly run down the fire line and add terrain (uphill, downhill, or even terrain, nothing super fancy), flanking bonuses, and compare to the next hex in the wind's direction to see if it lit or not. Then you go through and reduce the combustion rating of every hex that's on fire. Then you move on. Each hex shouldn't take more than a moment to calculate.
The strategy game would then be to adjust the combustion ratings of fires already burning and the volatility of fuel sources in anticipation of where you think the fire will generally go. Wind may kick up or shift and blow through your fire defenses, you know that daytime temperatures will make the fire accelerate, but you don't know precisely how the fire is going to react.
I'd combine this with limited resources per turn that you can spend on fighting the fire. The further out you assign your resources the cheaper they are, but the less you can bet that they'll actually help, and it costs resources to move existing equipment and personnel into place. Scenarios dictate resources available and your economy pool every turn.
Questions? Comments? A lot of time would have to go into balancing the volatility and combustion values of fuel sources, but I think that's doable, and it should be even mathematical with little effort. Or am I barking up the wrong tree and should go back to concept?
Additional goals are to minimize or eliminate the need to roll dice yet retain a measure of unpredictability.
My original idea was to play the game on a board that is roughly 13x13 hexes, using 53mm hexes. I want some room to build interesting terrain but I need to keep the number of hexes managable.
I'm looking for feedback on this or alternate ideas.
The idea that I have is this:
Each space/hex has a few characteristics:
Fuel Type
Terrain (is it going up, down, or level ground?)
Volatility of the fuel
There are environmental factors that represent the variables and unpredictability of wildfire from most to least variable:
Wind
Temperature
Humidity
Hexes/spaces have two values. First is a target number that must be surpassed in order to catch on fire that we'll call the volitility value. This is a number based on the volitility of the fuel (ie: grass, shrub, sparse timber, dense timber, etc...) modified by wind, temp, humidity, terrain, etc... The second number which we can call the combustion value, is how many turns the hex can burn before it burns out and it's current burn timer represents the base number to compare to adjacent hexes volitility score numbers.
When you check for fire spread, you add environmental modifiers (wind strength, temperature, humidity) to a hex's combustion value, to the next hex in the direction of the wind. If the total surpasses that hex's volatility value, it catches on fire.
Example: We have 1 hex of grass (combustion value 2) catch fire in a prairie, so we won't worry about elevation change. Grass has a volatility value of 3. In the absence of any wind on a flat ground it probably won't spread very far (at least in the scale the game will be dealing with). The scenario sets the starting conditions. It gets a gentle 1 point breeze as a modifier, but the day is hot, another 1 point modifier, and it's the middle of summer so it's pretty dry giving another 1 points, for a total of 3 points of environmental modifier. So on the first turn, the fire has a total of 5 points in the direction of the wind to overcome the volatility rating of 3 (the next hex is grass), which it easily does. The first hex loses one point of combustion, down to 1, while the hex that caught on fire starts at 2.
For the next turn, let's say the breeze veers off to the left one facing, blowing the original fire into chaparral. Chaparral has a volatility of 6 points, and a combustion value of 4. It burns a decent amount of time, gets hot, but is harder to ignite.
On the fire check round, the original hex has a combustion value of 1, and the environmental modifiers of 3 points. We'll give flanking contributing fire maybe a bonus of 1, something like that I haven't worked out the math yet, but the long shot is that only has a total value of 5, which does not surpass the volatility rating of chaparral. The grass fire was mostly burned out and the wind shift didn't catch the chaparral. There's still the 2nd grass hex and whatever the hell it's burning. It's hot enough on it's first turn to catch chaparral or grass.
Wind conditions change every turn, which represents a large-ish chunk of time. Temperature and humidity changes occur more slowly, with humidity changing generally every dawn and dusk. Temperature would generally change 4 times a day (Dawn, noon, dusk, midnight for simplicity).
There's other rules I'm playing with, like blowups to represent when conditions get *just* right and the fire goes from a steady pace to basically an explosion, but I want to have the basic mechanics down.
The general idea I have is that you calculate the environmental variable and then quickly run down the fire line and add terrain (uphill, downhill, or even terrain, nothing super fancy), flanking bonuses, and compare to the next hex in the wind's direction to see if it lit or not. Then you go through and reduce the combustion rating of every hex that's on fire. Then you move on. Each hex shouldn't take more than a moment to calculate.
The strategy game would then be to adjust the combustion ratings of fires already burning and the volatility of fuel sources in anticipation of where you think the fire will generally go. Wind may kick up or shift and blow through your fire defenses, you know that daytime temperatures will make the fire accelerate, but you don't know precisely how the fire is going to react.
I'd combine this with limited resources per turn that you can spend on fighting the fire. The further out you assign your resources the cheaper they are, but the less you can bet that they'll actually help, and it costs resources to move existing equipment and personnel into place. Scenarios dictate resources available and your economy pool every turn.
Questions? Comments? A lot of time would have to go into balancing the volatility and combustion values of fuel sources, but I think that's doable, and it should be even mathematical with little effort. Or am I barking up the wrong tree and should go back to concept?