Zombies At My Conference
So I’m a fan of zombie things. Actually I’m a really big fan of zombie things. I’ve read all the Walking Dead comics and everything.
James is also a really big zombie fan. He’s read all the Walking Dead comic books too.
When we decided we would jointly enter Node Knockout 2013 as team Ox we knew we had to do a zombie related project. After some scratching of heads I came up with the idea of scraping conference information from Lanyrd and simulating a zombie apocalypse using details of real attendees and speakers. We’d layer gravitars upon street maps and walk them around. I wanted to do something with socket.io, so we came up with the idea of allowing multiple viewing of the same conference simulation.
Thus Zombies At My Conference was born.
You can search for a conference to watch (sourced from lanyrd) or join an already running simulation. Real attendee information is used to create the humans (and their images), then the simulation begins.
All viewers watching the same conference are seeing the same simulation play out and can influence the movement of the humans and zombies.
You can add and move around free beer markers to attract humans, or drop dubstep players to attract zombies (all zombies LOVE dubstep). Zombies will of course infect humans and things will go from bad to worse. Free beer and dubstep only lasts so long so be prepared to deploy more.
The simulation is all calculated on the server using natural simulation techniques and the movements are broadcast using socket.io to all viewer browsers keeping them all synchronised. Images processed with css to give them that zombie look.
What We Used
- Font Awesome for icons.
- Foundation Zurb for some styling.
- Lanyrd api courtesy of lanyrd npm module.
- vector2d-lib for vector maths.
- proj4 for coordinate system transformations.
- perlin-noise for smoother random motion.
- Craig Reynold’s steering algorithm for movement.
You can view the source code on GitHub.