Balancing and Tuning Social Simulation


We wanted the social aspect of the game to be simulated in a way to reflect the narrative choices players made while also realistically showcasing the challenges that  occur during an active evacuation based on compounding effects of many individual decisions. To make this happen, we identified five household types, and three potential choices for each house. Players learn about the choices, and dilemmas people face when making them, through a narrative dialog with each  of the five houses. We tried to make the storylines informative but also emotionally compelling. During one of our playtest sessions, a player stated "you make me really care about these people, I don't want to give them wrong information."

How Do Decisions Impact Simulation?

Let's take one example house: a house with two cars. Both adults in the house work and need to have access to their cars during the evacuation, plus it would be devastating to lose one of their cars in the fire if they left it behind. The resident also notes that they would like to be able to take more of their belongings, which would be possible if evacuating in two vehicles. However, through the dialog with the player this character comes to recognize the problems with the two-car evacuation, like the stress of being separated, and the fact that if everyone took two cars the congestion would be so bad that some people would not get out. This challenging situation is based on a real story that was shared at one of our community workshops where a family (two adults and two kids) split up between cars, and one made it out but the other perished in the fire. 

For the two-car house in the game, a compromise option is presented where one of the cars can be relocated to a safe parking lot ahead of time while the family takes the other car for the evacuation. How does this impact the simulation? Whatever choice this house makes will be matched by about 20% of the total houses in the simulation, so if they take two cars about 1 in 5 of the others houses will also take two cars. In the simulation the player can clearly see the increased congestion on the road. 

In a second example, one elderly resident is deciding whether to evacuate early, ask a neighbor for help, or wait until the evacuation order. Several house types have the "evacuate early" option, with the result that those cars start on the road first. If the elderly resident chooses to get help from a neighbor, then there is one less car on the road. If they wait for the notice, the car starts out late. Some house types also have slower cars: the elderly resident and the house with pets, both to reflect the situation where added challenges can slow down the residents' evacuation. One additional house has a decision about whether to pick their kids up from school, or trust the school's evacuation plan and evacuate themselves and wait for the school to contact them for next steps. Choosing to pick the kids up results in roughly 20% of the cars making an extra stop at the school before evacuating, which causes congestion around the school and blocks other cars whose evacuation route takes them past the school. 

Each car makes its own decisions with agent-based modeling. The number of cars on the road, the speed of the cars, and whether to make an extra stop are all determined by the social simulation of decisions of the residents based on conversations with the player. Beyond the evacuation plan, each car also may decide to turn around if they "see" fire or if they become stuck in traffic. An interesting byproduct of this is that, despite the A* path-finding that directs the cars to follow the road, a number of conflicting priorities can cause a car to drive through the grass. While initially identified as a bug, we eventually embraced this abnormality as it reflects a likely real-world condition where too many conflicting priorities, especially the sight of fire, could lead some drivers to abandon the road and drive through the grass to escape. 

Leave a comment

Log in with itch.io to leave a comment.