Zombie Apocalypse Simulation Chris Reisinger



From this document you will learn the answers to the following questions:

Who can use the simulation to create scenarios?

What is one of the main goals of the simulation?

What type of game is used to simulate a zombie apocalypse?

Similar documents
Earn Money Sharing YouTube Videos

Kings of War (2015) - Official Errata

Learn How to Create and Profit From Your Own Information Products!

Welcome to Northern Lights A film about Scotland made by you.

USEFUL TERMS Crowdfunding getfunding.com.au Rewards Keep It All Campaigns All or Nothing Campaigns

A Guide to Social Media Marketing for Contractors

15 Most Typically Used Interview Questions and Answers

Britepaper. How to grow your business through events 10 easy steps

FAQ Exodus Proxima Centauri 07/2013

13 Ways To Increase Conversions

THE SME S GUIDE TO COST-EFFECTIVE WEBSITE MARKETING

OPERATIONAL EXCELLENCE REDEFINED

Why Your Business Needs a Website: Ten Reasons. Contact Us: Info@intensiveonlinemarketers.com

Analysis of Micromouse Maze Solving Algorithms

The 2014 Ultimate Career Guide

FIELD GUIDE TO LEAN EXPERIMENTS

There are a number of superb online resources as well that provide excellent blackjack information as well. We recommend the following web sites:

Exploring Media. Time. Activity Overview. Activity Objectives. Materials Needed. Trainer s Preparation. 30 minutes

How to Start a Film Commission

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras

V. Measuring Banner Ad Success a. Branding b. Measuring i. Clicks on the ad ii. Visiting the advertiser s site c. Succeeding

send and receive MMS

WHITE PAPER: Optimizing Employee Recognition Programs

Using Emergent Behavior to Improve AI in Video Games

Average producers can easily increase their production in a larger office with more market share.

Subversion Integration for Visual Studio

ntier Verde: Simply Affordable File Storage No previous storage experience required

How can I improve my interviewing skills? MATERIALS

see, say, feel, do Social Media Metrics that Matter

Chapter 1: Learning the basics of a Google AdWords Campaign

Economics. Worksheet Circular Flow Simulation

LESSON PLANS. Contents

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at:

Your Guide To Crowdfunding With Superior Ideas

Next Generation Tech-Talk. Cloud Based Business Collaboration with Cisco Spark

Facilitation 101: Roles of Effective Facilitators

REPUTATION MANAGEMENT SURVIVAL GUIDE. A BEGINNER S GUIDE for managing your online reputation to promote your local business.

Intro to the Art of Computer Science

VAY-ZON. Light Gun System. Quick Start Guide. VAY-Zon from Forest Electronic Developments

INTRODUCTION TO TEAMWORK AND GROUP DEVELOPMENT CORPORATE LEARNING COURSE TEAMBUILDING BLOCK SEMINAR 3.2

Newspaper Ad Sales: Earn More With Modular

How To Choose Help Desk Software For Your Company

Design Sprint Methods. Playbook for start ups and designers

Fun Learning Activities for Mentors and Tutors

PROMOTIONAL GIFT THAT WORKS BEST FOR MAGENTO SITE

HOST TEAM with Church Online

Protecting Movies from Piracy with Microsoft DRM by Jonathan Lewin

YouTube SEO How-To Guide: Optimize, Socialize & Analyze Your YouTube Presence

Telemarketing Services Buyer's Guide By the purchasing experts at BuyerZone

ecommerce and Retail Rainforest QA enables ecommerce companies to test highly visual user interfaces and customer experience and flow.

The Economics of. Software as a Service (SaaS) VS. Software as a Product. By Scott Sehlhorst

BRIGHTSERVE SW 80 TH CT MIAMI, FL PHONE:

Crude: The Oil Game 1

How To Make A Successful Online Game On Runescape

Chapter 1 Introduction to Correlation

Television Advertising is a Key Driver of Social Media Engagement for Brands TV ADS ACCOUNT FOR 1 IN 5 SOCIAL BRAND ENGAGEMENTS

A realistic way to make $100 a day

Scheduling. Getting Started. Scheduling 79

TIBCO Spotfire Guided Analytics. Transferring Best Practice Analytics from Experts to Everyone

Developing and Delivering a Winning Investor Presentation

THE STAY INTERVIEW KICK START GUIDE. 5 Simple Steps to Dramatically Improve Engagement & Retention

STB- 2. Installation and Operation Manual

ENHANCING YOUR WEBCAST EXPERIENCE

R e f e r e e s G u i d e l i n e s Issued by Director of Refereeing

MOST FREQUENTLY ASKED INTERVIEW QUESTIONS. 1. Why don t you tell me about yourself? 2. Why should I hire you?

Faculty of Science and Engineering Placements. Stand out from the competition! Be prepared for your Interviews

Topic: Passing and Receiving for Possession

A Guide to Cover Letter Writing

webinars creating blog posts customer quotes CONTENT MARKETING for MINISTRIES video tutorials lead strategy inform sharing A publication of

2014 V1.0. LiveText e-portfolios

These Retail Specific Programs Are Guaranteed To Be A Hit With Your Group!

Chunking? Sounds like psychobabble!

HOW TO USE DATA VISUALIZATION TO WIN OVER YOUR AUDIENCE

BPM: Chess vs. Checkers

Themes. Best wishes. Michael Beale Youth Development Officer

How 4K UHDTV, 3G/1080p and 1080i Will Shape the Future of Sports Television Production How the production formats of today will migrate to the future

Dom Jackson, Web Support Assistant Student Services Information Desk

Media Training Quick Reference Guide

WELCOME TEAM CAPTAINS!

Starting a Booktalk Club: Success in Just 12 Weeks!

The role of integrated requirements management in software delivery.

Georgia State University Social Media Toolbox. Prepared by: Terry Coniglio, University Relations Assistant Director, Social Media

MetaTrader 4 Backtesting & Optimization

A BUYING GUIDE ONLINE COMMUNITY PLATFORMS. Here s what your organization should look for when selecting and implementing an online community platform.

Quality Meets the CEO

Getting the Complete Picture on SQL Server Database Performance

Last Team Standing Creator GUIDE

Acts 11 : 1-18 Sermon

Newspaper Activities for Students

Decision Making under Uncertainty

Who s Winning? How knowing the score can keep your team moving in the right direction. Who s Winning?

Content and Design Strategies for Digital Signage

Communication Audit Chapel Hill Downtown Partnership

Golf League Formats and How to Run Them

Windows Server 2003 migration: Your three-phase action plan to reach the finish line

Hey there, fellow Wellness Advocate!

Design Analysis of Everyday Thing: Nintendo Wii Remote

Description of Services for Basic, Intermediate, and Advanced Website Packages

PRODUCTION. 1The Surplus

Benefits of Test Automation for Agile Testing

Transcription:

Zombie Apocalypse Simulation Chris Reisinger reisinger@cs.unm.edu It is common knowledge that sometime in the future the world is going to be taken over by zombies. Everyone has their own idea about what they would do in this situation. There are several video games that put players right into the action allowing them live out the zombie apocalypse, however these are usually static worlds geared towards giving the players an edge in achieving victory. What the world is lacking is a simulation that focuses primarily finding the viable strategies for a host of different situations. Unlike video games that are aimed at creating an immersive experience for the customer, this simulation will focus on generating viable strategies for survival when the zombies begin appearing. The program will come preloaded with several different scenarios that users may find themselves in and will also allow them create their own scenarios to help with contingencies we couldn't possibly foresee. In addition, each simulation will have a variety on configurable parameters allowing multiple strategies to be formed for the same scenario under different conditions. The application is going to be marketed to apocalypse survival enthusiasts. Anyone who has an interest in surviving the zombie apocalypse will want to use this product. In addition, it will also be marketed towards fans of zombie apocalypse based video games. Often this group has some of the most passionate opinions about proper strategies during an actual apocalypse. This program will be invaluable to world when the zombie apocalypse finally comes. Not only will it provide hours of entertainment to users by allowing them to simulate real survival situations, it will provide them valuable insight into strategies and techniques for surviving the real thing.

I. Introduction The intention of this product is to allow users to simulate a variety of potential situations that they may find themselves in during a zombie apocalypse. More than that, it should be a fun and entertaining experience. Users will want to use this application not only because of its practical applications but also because of the excitement of seeing a plausible strategy for survival played out right before their eyes. It will give them insight into new strategies or techniques that they may not have considered before. The simulation will allow for both humans and zombies to generate better strategies to meet their goals. Zombies will always be given a basic AI in the event that the users do not want them to evolve. Humans and zombies will be able to perform several different actions in the game world such as moving, attacking, and collecting resources. The strategies will be developed by a genetic algorithm under the hood. Details on how the algorithm will work will be discussed in greater detail later on. A GUI will show the progress of the algorithm in terms of fitness while it is running to give users a sense of progress. It will be designed as a web application which allow for a community to built up around it. The application will be sold for a small fee on the website which will range between 5 and 10 dollars. A limited use demo may be released for free which includes only preprogrammed scenarios without the ability to configure simulation parameters. The configurability of application will provide virtually unlimited reusability encouraging the users to run multiple simulations. Statistics about successful strategies and configurations will be stored allowing users in the community to share amongst themselves. In addition to allowing variable configuration parameters the users will also be given tools to create their own scenarios. Much of the allure of the product will come from the users ability to create real world scenarios that they are likely to find themselves in. They will be able to design the simulation map as well as dictate the resources that will be at the humans disposal.

The stakeholders for this project will primarily be the developers. In addition to coding they will also be handling the marketing, internal testing, and server administration for the product. There will also be outside testing conducted by the user base in the form of beta test releases. II. Motivation Everyone believes that they have the perfect strategy for surviving the zombie apocalypse. A simple google search reveals several thriving community sites based upon discussing strategies and techniques for survival. Check 10 random Facebook profiles randomly and you will almost assuredly see something about zombies on at least 1 page. It is currently a popular cultural phenomenon which is becoming even more popular as technology allows us to imagine what life would be like in those circumstances. Considering its current cultural relevance, right now is the perfect time to capitalize on it. It gives us the chance to create something entertaining for users that is also useful for a potential real life situation. III. Background There are several zombie apocalypse simulations currently available on the market. They usually come in the form of video games that drop the player right into the action. The player is then tasked with utilizing given resources to survive until the end of the level. The problem with these simulations is that they always incredibly static and offer little to no configurability in terms of environment or behavior. A few examples of this are the Resident Evil, Dead Rising, and Left 4 Dead games. The developers of these games develop them in such a way that specific strategies will be more successful. Each game emphasizes just a few aspects of the survival scenario, but after the player has figured out the strategy there is nothing left to be gained. Due to these limitation, they are not accurate simulations of a real world apocalypse. Left 4 Dead focuses mostly on the challenges of team dynamics in chaotic situations. The game

is designed to always keep players moving from place to place. There are even special events in the game that generate a continual horde of zombies until a special requirement has been fulfilled. Resident Evil focuses more on puzzle solving and story, which would hardly be relevant in a real world apocalypse situation. Dead Rising focuses on giving players creative way and fun ways to kill zombies using every day objects found in the environment around them. Each has a niche it is trying to fill but does not provide a well rounded experience. Genetic algorithms are a very common tool that are used to simulate the effects of evolution and applying it to a problem that needs to be solved. Surviving the zombie apocalypse essentially boils down to an evolution problem as only those who are strong and intelligent enough will survive. While genetic algorithms do not necessarily provide an optimal solution, they do tend to solve problems in unique ways that humans don't immediately see. IV. Previous Work I must admit that I do not have much experience in the field of genetic algorithms. I am currently taking CS 423 which partly focuses on teaching genetic algorithms. I am also taking CS 429 which focuses on machine learning, which is not directly related but still has relevant theory and information. I would not call myself a Zombie Apocalypse expert but I have played many of the different survival simulations discussed in the background section. I have also read several books about surviving the zombie apocalypse including "The Zombie Survival Guide". This experience will give me valuable insight into how zombies and humans would behave in certain situations which is arguably one of the challenging aspects of this proposal.

V. System Description Definitions Entity - Will be used to refer to anything that would be "sentient" in the game world. This will include humans and zombies. Item - Something that can be used or acquired by an entity. Action - Something that an entity can do that will have some sort of effect on the state of the world. Stats/Statistics - When talked about in terms of entities this term will be used to describe their physical and mental attributes. The Basics The core of this program is going to lie in the genetic algorithm that simulates different situations set during a zombie apocalypse. For simplicity sake, the algorithm will work on entities that live within a 2 dimensional 20x20 game board broken up into a grid. Each square on the grid will be able to contain exactly one of the following: human, zombie, or a wall. In addition, each square could potentially contain an item such as food, weapons, or ammunition. Humans and zombies will be able to exist in the same square as items simultaneously. Humans and zombies will each have a set of basic commands they can execute in the game board. Fitness and Scoring Each action will have a rating associated with it which will contribute to the evaluation of the strategies. Only one action will be allowed per turn per entity. These actions will include: Move: Humans and zombies will be able to move up, down, left, and right in the game board. Most movement actions will be rated neutrally. It will be up to the team to decide what they feel

constitutes a beneficial move and a detrimental move. An example scoring system may be: Fleeing: +1 points when health or ammo is low. -1 points when survivability is high. Pursuing target: Opposite of fleeing. +1 when survivability is high. -1 when survivability is low. Random movement: +/- 0 points. Movement towards items: +2 if need for item is needed. +0 if it is not currently needed. Pickup item: Most likely an action restricted to humans, it will allow humans to pick up items for use in survival. A preliminary scoring system for item pickup might look like: Picking up an upgraded weapon: +5 points. Picking up a downgraded weapon: -10 points. Picking up ammunition for current weapon: +2 points. Picking up wrong ammunition: -5 points. Eating food while hungry: +1 point. Eating food while not hungry: -10 points. Attack: Allows humans or zombies to attack something in an adjacent square. For humans with ranged weapons the range of this ability will be increased. Each attack will have a probability of hitting and missing. Head shots will yield a higher score but will have lower accuracy. An example of attack scoring would be: Head Shot: +5 points. Head shots always kill. Body or Leg Shot: -1 points if it does not kill. +1 point if it does kill. Attacking an empty square: -15 points. Attack miss: -2 points. Friendly Fire: -20 points. Additionally an additional penalty of - 25 points will be assessed if the entity dies. The each

generation will run for a configurable number of steps. Testing will need to be done to figure out a good default setting. When a human is killed by a zombie one of two things can happen. Either the human will die and be eaten by a zombie or if it is not eaten within a certain number of turns then it will resurrect as another zombie. This mechanic will allow for the zombie population to be maintained and also add an interesting aspect to zombie evolution. Map Generation Another user configurable parameter will be the number of humans and zombies that are inserted into the game world at the beginning of the simulation. There will be a safe zone in which only humans can initially spawn. Zombies will be randomly placed in all other locations of the map. Each entity will make a decision on a move or action simultaneously. Actions will then be resolved in order of entity statistics. In addition to humans and zombies being randomly spawned, items will also randomly spawn but in a more organized and distributed fashion. The map definition will provide a list of all items available to be spawned on the map at the beginning of ever generation. Entity Statistics Each entity will have the same basic statistics. Each of these will have minimum and maximum possible values which will be dictated by user configurable parameters. These stats will be determined on a random basis. Statistics will be used when calculating the success and order of actions in the game world. For instance, humans may an attribute named "Speed" which determines the order actions are resolved. Another stat may be "Endurance" which will dictate the health of the entity. The total list of stats should be discussed and decided upon by the development group. If the user wants some control over how stats are assigned they can simply set the min and max values to the same value.

Genetic Algorithm Given these game mechanics and scoring regiment, it will possible to evaluate the effectiveness of a given strategy. The genetic algorithm should be able to apply to both humans and zombies. The algorithm will be run on humans for a specified number of generations before switching to the zombie algorithm. Users will be able to define the max number of generations for zombies and humans individually as well as the number of generations computed before switching algorithms. Once the simulation is complete it will display the fitness of the algorithm as well as displaying it in user understandable terms. Each generation excluding the first will be generated by the previous generation. A percentage of the total population will be selected at the end of each simulation. In order to get a good spread of different strategies, the seeds for the next will be selected by drawing randomly from the pool of potential population. The probability that any given entity is picked will be determined by its fitness, where a higher fitness yields a higher probability of being selected. There will then be a 75% chance that two entities will be combined, taking attributes from both to create a new entity. If an entity is not chosen to be crossed with another, then it will continue to the next round. In most cases it will remain unchanged, but there will be a small chance (between 1%-5%) that 1 or more attributes will be randomly changed. The first human generation will be created entirely at random. Zombies will always start with the same basic strategy. This will ensure that zombies always have a viable strategy incase users do not want zombies to evolve. Simulation GUI One of the features that will make users enjoy this product will be the ability for them to see the strategies developed in action. Therefore it will be absolutely necessary that we provide some sort of graphical display on which the simulation can be played out in real time. This GUI may include but not necessarily:

Statistics about the current simulation. Display the stats of all entities currently in game. Probability of survival. A visual representation of real time events happening during the simulation. Control for variable simulation speed. User Definable Parameters The following is a preliminary list of all attributes that should be user definable: Simulation Parameters 1. Max number of human and zombie generations. 2. Block size of consecutive generations for zombies and humans. 3. Maximum number of actions per generation. 4. Scoring for actions. Entity Parameters 1. Min and max values for randomly generated stats. 2. Starting number of both humans and zombies. 3. Enable/Disable humans resurrecting as zombies. 4. Enable/Disable zombies eating humans. Scenario Creator One of the key features that will contribute to the success of the product is the custom scenario creator. This utility should make it easy for users to set up map in any way like. They will be able to define a layout for the map which will include placing walls and safety spawn locations for humans. They will also be able to choose different types of items that will be available for random placement

during simulation. Future/Additional Features Potential future/additional features could include: Allow users to input their own strategies so they can see how they perform versus what the computer generates. Add a parameter that would allow zombies to learn to use weapons. Human reproduction. Make humans require rest. Several different starting strategies for zombies. Deployment Website As a requirement for deployment a website to sell and distribute the product will necessary. The users will need to be able to create an account that they can link their purchase to. Currently the only plans for supported payment methods will be Paypal. Depending on the success of the product after deployment, we may consider offering payment by credit card as well. In addition to allowing users to create buy the product they should also have their own customizable profiles. These profiles could display a wide range information including statistics about recently run simulations and the most successful simulations run by the user. It is also a great place for users to share custom scenarios that they have created. VI. Challenges The greatest challenge that will faced with developing this product will be satisfying the consumer. The customers are going to be incredibly picky and sensitive to the underlying mechanics of

the system. As was stated earlier, just about everyone you'll talk to has some sort of opinion about the best way to survive during a zombie apocalypse. Additionally, they are not going to be particularly happy if they plug their strategy into the simulator only for it to tell them that it is horrible. The product needs to be developed in such a way as to take that responsibility out of the developers hands by making it completely user configurable. The second issue will be making the performable actions closely simulate what a real human/zombie would doing in a real life situation. Since these actions will not be definable at the user level it will be critical that a model that satisfies most users is developed. Another challenge will be convincing people that the strategies developed by the system are actually viable outside of the simulation. Obviously there is no real world metric for this, so it will be imperative that the strategy can be relayed to the user in a way that helps them to understand what the actual strategy is. The visualization of the best strategies will go a long way in helping with this. It will also be difficult convincing people that this is something that they should pay real money for. The interface will have to be very user friendly. There will be so many configurable components that the UI could quickly become very overwhelming. All configurable attributes will need to be clearly labeled and documented as to their exact functions. There will need to be some kind of compelling hook to keep users entertained while the simulation is running. Seeing measurable progress for each can be exciting because the user gets the impression that progress is being made. However, actually displaying the progress in an interesting way that makes sense to the average consumer will require finesse. VII. Timeline The following is intended to be a rough schedule for development of the project. In addition to setting deadlines development features it will also cover deadlines for documentation, marketing, and deployment, and testing. This timeline is intended to be front loaded to allow for some leeway later on in the development cycle.

Every week 1 1/2 to 2 hours need to be dedicated to client meetings. It is expected that code will be documented as it is developed. In addition, for each source code deadline it is expected that unit tests will also be completed where relevant. Week 1 Discuss spec and propose changes to the project. Make changes to this timeline where necessary. Assign roles and positions to team members. Set up development environments. Set up revision control and establish a system for recording bugs. Anyone unfamiliar with genetic algorithms should research and be comfortable with them. Week 2 Finalize and commit to project spec. Begin coding on the basic simulation world. Discuss and finalize statistics system for humans and zombies. Come up with a preliminary scoring system for the actions system. Week 3 Continue work on game world. It should be able to simulate a single strategy. Begin work on deployment website. Week 4 Begin work on the genetic algorithm. Human evolution will be first priority. Begin marketing research. Continue work on deployment website. Week 5 Finish work on human genetic algorithm. Begin work on algorithm for zombie evolution.

Begin work on marketing assets. Finish work on deployment website. Week 6 Finish work on zombie genetic algorithm. Begin testing to find viable scoring system for both human and zombie algorithms. Begin work on GUI to allow users to set program parameters. Begin work on visualization GUI. Week 7 Begin research to find optimal entity statistics for simulation for default. Research to find optimal number of generations to simulate by default. Begin work on scenario creator for users. Finish work on parameters GUI. Continue work on visualization GUI. Week 8 Finish work on scenario creator. Finish work on visualization GUI. Create intuitive way to display generated survival strategies to users. Begin resolving any outstanding bugs in log. Deploy marketing strategy. Create bug report and suggestion forums. Week 9 Release beta candidate via deployment website. Continue bug fixes.

Begin creating user documentation. Week 10 Release updated beta candidate. New feature freeze. Any outstanding features should be complete at this point. Continue with bug fixes. Finish user documentation. Week 11 Big push at fixing any outstanding bugs. A heavy focus on marketing this week. Week 12 Deploy live product. Continue heavy marketing. VIII. Budget The budget of a project can make or break it. The following will outline what I consider to be the minimum budget requirements for this project to be successful. Developers will be paid $15 per hour. Assuming 8 hours a day, 5 days a week for 12 weeks this will be approximately $36,000. $1000 month to rent an office. For 12 weeks this will be $3,000. $400 per developer for laptops and another $400 for desks, chairs, and basic office supplies. Assuming 5 developers this comes to $4,000. $1,000 for a web server to host the deployment website and community. Developers will not be offered benefits. All together this comes out to $44,000. It is important to keep in mind that this is a minimalist budget

and actual costs would probably be higher. It would be safer to assume that this project will require about $50,000 to be successful. IX. Conclusion The popularity of zombies in popular culture is currently at an all time high. It can be found everywhere from movies, television, video games, and even literature. It's also not showing any signs of slowing down. Now is the time to capitalize on this popularity by offering a product that will pique the interest of any zombie enthusiast. This will give us the chance to create a product that is entertaining for both individuals and online communities. It will give people a chance to see what kinds of strategies computers can come up with and compare them to their own. Assuming the initial release is successful they will later be able to see how their own strategies hold up in the simulation and perhaps even let the computer improve up it. By offering this product for a reasonable price we will ensure that it reaches the largest possible audience and remains accessible.