Pandemic and Social Manipulation Simulator

Welcome to PathoGen! This is a program designed to simulate the progressive spread of multiple interacting "viral conditions" through a large population.

For example, it can model not only the exponential spread of a physical virus, but also the spread of ideas, beliefs and practices that can slow down - or accelerate - the transmission of that virus.

It can also be used to simulate the manipulation and influence of a population on a grand scale through the spread of ideas. You can simulate government actions and observe their impact on the population's behavior and condition.

Originally concieved during the 2020 Novel Coronavirus pandemic, the same mechanics can potentially be applied to a wide variety of societal, political, and epidemiological circumstances.

I will probably make a game out of it, but until then feel free to experiment with the engine.

By clicking the "Edit Scenario" button you can modify all variables in the simulation and create a scenario as complex as you like. There is no online distribution system, but you can download your scenario onto your computer and upload it to reload it.

Important Info

As with all simulations, PathoGen is a simplified model of real life. Some inaccuracies are to be expected.

Most importantly, remember the rule of simulations: Garbage In, Garbage Out. If you feed PathoGen faulty data you can use it to demonstrate anything. As many of the numbers that go into an experiment are likely speculative, the result should not be viewed as authoritative in any sense.

However, it CAN be used to test and refine theories by checking to see if the simulated results roughly correspond to reality.

Technical Details: The Meaning of terms in PathoGen


A trait is an attribute that an individual person may or may not have. Traits may be permanent or temporary, and may have one of several different effects.

Every quality that differentiates one person from another is called a trait. For disease simulations, they may represent symptoms of the disease, whether or not the person has gained immunity, whether they are alive or dead, or whether they are performing a behavior that makes them more or less susceptible to infection.

Traits can also represent beliefs, emotions, or political affiliations. Traits may interact with other traits, like curing them, or making a person more or less susceptible to acquiring a trait.

In PathoGen, every trait is either "on" or "off". No person may have a "partial" trait. However, traits CAN develop into new traits with different properties.


Transmissions create virtual "viral particles" that are emitted into the environment due to a particular effect - either a trait or a government action. Viral particles will apply one or more effects upon "infecting" a person - generally, applying or removing traits.

Transmissions can be basic diseases - for example, an "infected" trait may release particles that apply the "infected" trait. However, PathoGen simulates EVERYTHING as a "viral particle". For instance, physicians (people with a "physician" trait) can emit particles that cure the infection, or apply a "hospitalized" trait that reduces the person's chance of death.

Transmissions can also represent psychological effects. For example, government broadcasts may transmit "fear of infection" particles that make people more likely to take precautions against infection, and frustrated people may transmit "mistrust of government" particles that make people less likely to be influenced by these warnings.


Progression is similar to transmission, except it transmits the "viral particles" to the one who emitted them, instead of releasing them into the environment.

Example progressions for diseases include the disease growing worse, recovering, developing antibodies, or dying.

Example progression for behaviors include quarantine leading to frustration, and frustration leading to mistrust of the government.


Vectors represent the means by which a viral particle is applied. This is mainly relevant because some traits may make a person more or less susceptible to particles applied through a particular vector.

Examples of vectors include air or water transmission, mass media or independently produced videos.

Vectors may have "seeking" behavior, which lets them apply greater "weight" to people with particular traits. For instance, a physician's "cure particles" should apply a greater weight to sick or injured people, which models the fact that physicians will not waste their time trying to cure healthy people.

Progression also operates through vectors; so modification of progression vectors may make a person more or less likely to progress to another stage.


These are actions that the player can perform while the simulation is running. Each action creates a controller (like a checkbox or a slider) that controls the release of a specific transmission.

Technical Explanation: What happens each step

Each simulated day, a series of events play out in the following order:

First, all people release a number of viral particles based on their current traits. "Progress particles" are also released onto the person who emitted them, but do not actually "infect" them yet. Government transmissions are released as well.

Second, these particles move around and "infect" a portion of the population at random. The number who are infected is based on what traits they had BEFORE this infection phase. So if a person is infected by a disease and a trait that protects from that disease on the same day, the disease will take effect. If an individual has a trait applied and removed on the same day, the trait will be applied.

Third, the populations are updated with the traits they gained or lost during the infection phase.

Known Limitations of PathoGen

In PathoGen, every trait is either active or inactive. This is unlike real life, where most traits come in a spectrum. However, as long as you model each trait as though it is the average of a real life population, the effective results over an entire population should generally correspond to reality.

For the same reason, traits do not "develop" over time in PathoGen (as this would require tracking the development period of every individual person). Instead, every "progress" event has a specific probability of occuring each day, in each person. This means that diseases with a very long incubation period, but comparatively little variation in their development time, cannot easily be modeled in PathoGen. Most bacterial, viral, and psychological conditions should be accurate as long as you put in the average likelihood to progress to the next step.

PathoGen does not model birth rate. This will change in the future.

PathoGen does not model movement between cities; while it is possible to create multiple sites they will simply run in parallel. This will change in the future.