The other day a friend mentioned something about a game design about the Covid-19 pandemic. I thought it was a cute idea and immediately saw the design in my head. I have given it about 20 minutes of thought, and here it is.
Per Crawford’s First Law, we begin by listing the verbs available to the player:
Urge social distancing
Close schools, cinemas, conferences, and restaurants
Close all nonessential businesses
Urge people to stay home
Mandatory lockdown People may leave the house ONLY to go to essential businesses
That’s it: just five verbs. They can be handled with a single menu.
Output will consist of a time graph showing five variables: unexposed, sick, dead, recovered, and GDP as a percentage of its annual average as of December 1st, 2019. Output will be represented as percentage of the population.
The turn length is one week. At each turn, the player gets the most recent numbers and can change the policy setting. Perhaps we could get away with a turn length of one month.
The game proceeds until the number of unexposed is less than 1% of the population.
At the end of the game, the player can compare their performance with the performance of other countries, including, of course, the USA. The data for that is available at https://ourworldindata.org/coronavirus#all-charts-preview. This is a long page; be sure to scroll through it.
Inasmuch as you’ll want to update the country data frequently, you’ll need to make this a web game. It should be trivial to implement in JavaScript; I was tempted to do it myself but decided that this is such an easy design that I should encourage other people to implement it.
What makes the game interesting is the trade-off between the economy and the health of the population. Of course, if too many people die, that will affect the economy, too.
Algorithms
My own belief is that the algorithms used to calculate the behavior of the system in response to the player’s choices should be obvious, but I’ll present them here anyway.
Each policy option will diminish the GDP by a percentage based on the number of people who lose their jobs as a consequence of the current policy option. Don’t forget that there are lots of secondary job losses as an indirect consequence of the policy. For example, if you close all restaurants, then the cooks and waiters lose their jobs, but so do the truck drivers who deliver the goods to the restaurants, and the farmers who grow the fresh food for the restaurants. Thus, you need a table of GDP loss arising from each policy level. I’ll just make up numbers here, but you’ll want to do a little research to get better numbers.
Urge social distancing: 0.1%
Close schools, cinemas, conferences, and restaurants: 10%
Close all nonessential businesses: 40%
Urge people to stay home: 60%
Mandatory lockdown: 75%
These numbers apply ONLY for policies that extend over an entire year. For the effect of a policy in a single week, divide by 52. If you want to be snazzy, you could include an amplification factor that covers the loss of even more secondary jobs as the economy shuts down over a long period.
For the spread of the pandemic, we could use any of the standard epidemiological models, but they are designed to handle subtleties that we don’t need to consider. Here’s a simpler approach:
First, let’s define some terms for our calculations:
Np: the number of people in the country
Nw: the number of people that a typical person encounters in a week’s time
Nc: the number of people who have the disease and are contagious
Nh: the number of people who have the disease and are hospitalized
Nd: the number of people who die from the disease
Ni: the number of people who have had the disease who have recovered and are now immune
Pi: the probability that a contagious person will infect a person they encounter
Ph: the probability that an infected person will be hospitalized
Pd: the probability that an infected person will die.
Pc: the probability that a person will contract the disease in any given week
These definitions allow us to define some simple equations:
Pc = Nw x Nc/(Np - Ni) x Pi
The total number of people who will be infected in any given week is then:
Nc = (Np - Ni) x Pc
= (Np - Ni) x Nw x Nc/(Np - Ni) x Pi
= Nw x Nc x Pi
The number of people who will be hospitalized is then:
Nh = Nc x Ph
The number of people who will die is:
Nd = Nc x Pd
This will reduce the total population by the number of people who die:
Np = Np - Nd
Let’s assume that the incubation time (the time between infection and sickness) is zero; let’s also assume that an infected person either dies or recovers instantly. If you want to get snazzy, you can insert the time delays for these factors.
Ni = Nc x (1 - Pd)
That’s all it takes to build this game. This should be a piece of cake to build. If you do decide to build a version, please feel free to ask questions, and please notify me when you get it up on the web.