NOTE: I submitted the model to the NetLogo website, and it can now be found in applet form (and downloaded) here.
After discovering that my previous Zombie Infection Simulator post had gotten a mention on SquidTalk, and found that they were expecting a release in a few weeks, I thought I ought to try not to disappoint them. However, my previous simulator was, to put it nicely, rather rough around the edges, so I spent a lazy afternoon re-writing it. Without all the extra garbage cluttering up the code, it ran a little faster, and exhibited some new behaviors I hadn’t seen before. I also built in a simulator mode that includes the walls seen in the original version of the simulator, although that mode is somewhat broken.
Flocks of humans form as they did in the previous version. Nothing new, really.
The infection has started. I don’t know if it’s visible or not, but the zombies are displaying a great deal more organization, thanks to a greatly improved directional targeting method. Thank goodness for towardsxy.
The infection is spreading rapidly, and, as seen in the previous version, social order is beginning to degenerate. I know it’s not exactly obvious in this still picture, but note the dense little group of humans just above the large group in the center, to the upper left of the cluster of zombies. This group actually broke away in a coordinated fashion when some of its members panicked and fled. I’d expect to see runaway parties like this in a real zombie infection.
Social order begins to falter. Human flocks are beginning to be broken up by panic, and there aren’t enough fighters to rally them.
The little simulated society begins to break down. A few groups are still together, but they’re beginning to collapse as the onslaught continues. The zombies are much more organized in Version 2.0, which actually puts them at a great advantage over the humans. Not only do they form flocks, but they are much more effective hunters, so they tend to infiltrate human groups and pick them off and infect them before panic can disperse them.
As I said in the introductory paragraph, I added a secondary mode to the simulator complete with walls. Since there is still a bug in my simulator, and all the flocks tend to become oriented towards the South, the flocks tend to get “stuck” to the Southern walls of the buildings, where they become immobile. Also, panic is able to spread through the walls. So, I guess I’ll leave fixing these bugs for Version 3.0.
AZIS 2.0 (sounds like the name of a guided missile or something, doesn’t it?) can be found in applet form at here.
February 3, 2008 @ 6:01 pm at 6:01 pm
hey, do you think it would be possible to make it into an .exe? otherwise great work. Do the are the zombies slower than the humans? How does the zombie targeting system work?
February 4, 2008 @ 12:52 pm at 12:52 pm
I’ll do what I can, but being only a part-time computer geek, I’m not sure that I’ve got the skill to convert it to an .exe.
I elected not to make the zombies slower than the humans, since the “zombie virus” I’ve always imagined is more like rabies than the viruses you see in the movies: It doesn’t make people shambling idiots, just paranoid and very aggressive.
As for the zombie targeting system, it’s very simple: NetLogo comes pre-built with a method called “towards,” which just returns the angle towards any particular agent. What the zombies do is pick a random human within (I think) a 5-square radius and set their heading (using the “towards” function) to that of that chosen human.
February 4, 2008 @ 6:23 pm at 6:23 pm
nice work!
May 25, 2008 @ 10:12 pm at 10:12 pm
Nicely done, nicely done.
June 26, 2008 @ 8:47 pm at 8:47 pm
The downwards movement has to do with the flocking behaviour, there seems to be something wrong with the mean heading command – maybe the pseudo-random number generator is a bit less than random.
June 26, 2008 @ 8:50 pm at 8:50 pm
The downwards movement has to do with the flocking behaviour, there seems to be something wrong with the mean heading command – maybe the pseudo-random number generator is a bit less than random. Perhaps world wrap around should be disabled – but it caused a pileup when I tried it after some editing.
July 1, 2008 @ 3:59 pm at 3:59 pm
Yeah, I figured that the problem probably had something to do with the random-number generator. I did try to do a kind of double-randomization, but that didn’t help.
May 19, 2009 @ 5:35 pm at 5:35 pm
you should make a 3.0,but add features,like have you played zombie 4? or the incredible zombie machine,sorry i am working on a flash game with a big simulator but im usin flash 8 so.. yah
any way play zombie 4 and try using their…engine..
May 20, 2009 @ 12:32 pm at 12:32 pm
Great post / Will come back again soon!
August 26, 2009 @ 5:27 am at 5:27 am
Not knowing that a zombie-model already exists in NetLogo, I programmed one myself. Although my approach is different to yours, you might be interested.
You can find my model here:
http://web.student.tuwien.ac.at/~e0250890/netlogo/
Would be glad to know what you think of it.
September 21, 2009 @ 5:52 am at 5:52 am
If I may make a recommendation, I feel that a button to spawn panicking humans and fighter humans would be a nice edition, as I’ve often found myself resetting the simulation trying to get a bunch of a panicky people, a fighter or two but no zombies.
November 4, 2009 @ 3:08 pm at 3:08 pm
hey um im not good with programing or anything but i think i might know a way to get rid of the south-moving gremlin you know how civis follow fighters just make fighters able to kill zombs more efectivly and a higher chance to become fighters then civis will follow the fighters and fighters dont go down screen
May 10, 2010 @ 11:15 pm at 11:15 pm
would it be possible to link me JUST the basic program without the glitz and glamor? i wanna see how it will work without guns and anything extra. just wanna see the infection rate and such. U’d be really kind if you sent it to me =)
thanks
December 23, 2018 @ 3:39 am at 3:39 am
hello! this is a fantastic website and i always appreciate the information posted below. Bookmarked and shared. Thanks once more!