NetLogo User Community Models
## THE "ZOMBIES EAT EVERYBODY" MODEL
I built this model to have a little bit of fun with the idea of two competing, mutually competitive predators. Zombies are intended to remain a constant challenge to the human population, the environment randomized according to a set of fairly tightly constrained criteria. Humans have some hope of killing a straggling zombie or two, but will likely spend most of their time running and scavenging.
Over time, the humans are free to breed and mutate into the most survivable possible agents. Survivability is judged for this model on the number of ticks human agents are able to persist in each round. Genetic traits which influence survivability are 'courage' - the propensity to risk being bitten in order to get food & ammo, and 'speed' - the rate at which humans are allowed to run from the shambling horde.
## THE SYSTEMS SCIENCY BITS
This model uses a genetic algorithm to seek improving performance of a subordinate (badly outnumbered) predator through generational optimum seeking. Humans start off with a predeterimined sense of courage (risk taking for food) and a preset ability to run at a speed proportional to their zombie competitors.
The most long-lived of each successive generation (determined by survival duration) is interbred, with some variable chance for mutation, into what the author hopes will be ever more survivable generations.
Speed has no upper bound, and courage is allowed to turn into cowardice (negative courage) as merit for either trait demonstrates.
## RULES OF ZOMBIE ETTIQUETTE
Zombies are hungry, and will eventually starve if they don't manage to eat some tasty humans.
Zombies hunt humans using two independent senses. Each tick, zombies look for humans using their relatively short-ranged (3 blocks) eyes. If they see a human, they'll follow the closest one. If their eyes fail them, zombies sniff the air for human heat signatures. If they spot a heat signature, they'll follow it as best they're able until they're able to lock eyes on their prey.
Zombies will nibble at their human prey each turn until they wind down the human's hunger value, converting them to a zombie who will then join the hunt for human brains.
Once zombies starve to death or are killed, they turn into a spatter that retains the record of any human survival characteristics to be used for the next round.
## RULES FOR HUMANS
Humans are both hungry and scared, and will have to make choices every round as to whether or not they're willing to risk running for food while zombies are nearby. The balance of this choice is made on a trait called "courage", but the success of this choice can be significantly altered by a given human's speed. Humans also have a third trait called 'mutation'. The intent of this mutatable constraint on mutation is to find an evolutionary "sweet-spot" where the right amount of variation genetically evolves along with the genetic traits that mutation governs.
Humans have some ability to defend themselves against individual zombies, but a herd is likely to kill them quickly. For each pile of food they find, they also pick up a single shotgun shell. Humans are all assumed to have a shotgun ready, and to be dead shots at close range.
Each the end of each round, a set of progenitors will be chosen from those who managed to remain human longest, and their traits will be averaged into the baseline for the population of the next round.
## RULES FOR THE ENVIRONMENT
Each round the environment will spawn a number of food and ammo piles. Placement of these piles is random, and the number of piles is somewhat random as well (each patch makes a roll against a normal distribution, and the patch becomes food if the roll is more than 2.5 standard deviations from the mean).
## HOW TO USE THIS MODEL
The broad intention of this model is to gain some insight into the value of courage under duress. While the configurability of the model allows for a number of
## INTERESTING THINGS TO NOTICE
Pay specific attention to the emerging benefit of the two mutatable traits (courage/cowardice and speed). Going in, I really had no expectation for whether courage would be beneficial. My assumption was that no amount of speed gain is bad, but I figured I would likely clarify this over time.
What is particularly disheartening is that there comes a point when the challenge surrounding each human is so great that their best recourse for prolonged survival is complete cowardice. This also seems to atrophy the speed trait, leaving our humans effectively legless lumps, waiting to die. They starve quickly if they aren't eaten, but they still live longer than they would if they took any risk at all. :(
## THINGS TO TRY
What changes in very cold environments? (turn heat evap rate way up)
What happens to courage when speed is held static and cannot evolve? What
What happens to the benefit of courage when humans outnumber zombies (predation is eased)?
What happens to the stability of the model when mutation is rampant? When mutation is
## LOG OF TIME SPENT
~20 hours writing & rewriting code
(back to the NetLogo User Community Models)