ZOMBIE MADNESS! Jack Smith Steve Mander-Jones OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION.

Slides:



Advertisements
Similar presentations
HTML Basics Customizing your site using the basics of HTML.
Advertisements

A New World Or People Keep Telling Me This is Ambitious By Jeremiah Lewis.
The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
AI for Connect-4 (or other 2-player games) Minds and Machines.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Pathfinding Basic Methods.
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
CSE 380 – Computer Game Programming Pathfinding AI
User Interfaces By Mathieu Leduc. What is the User Interface(UI)? Knows about any input/output hardware Translates player actions into actions in the.
Creating Rout Paths Using CAMMaster. Step 1 Import Gerber File. Import Gerber File. User Ctrl+W to window around data. User Ctrl+W to window around data.
Computer Science – Game DesignUC Santa Cruz Today Publish/Subscribe Design Pattern Delegates Sprite movement Particles.
Technical Advisor : Mr. Roni Stern Academic Advisor : Dr. Meir Kalech Team members :  Amit Ofer  Liron Katav Project Homepage :
Week 2 Design Examples and Designing for Change Alex Baker.
A review of A Panorama of Artificial and Computational Intelligence in Games G. N. Yannakakis & J. Togelius October 2014 Elizabeth Camilleri.
Chapter 14: Event-Driven Programming with Graphical User Interfaces
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
CORE MECHANICS. WHAT ARE CORE MECHANICS? Core mechanics are the heart of a game; they generate the gameplay and implement the rules. Formal definition:
Quoridor Classic Game Manager Kevin Dickerson April 2004.
Ch1 AI: History and Applications Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2011.
Unit 1 – Improving Productivity Elliot Hyde Instructions ~ 100 words per box.
Artificial Intelligence in Game Design Problems and Goals.
Game AI Fundamentals. What is Artificial Intelligence (AI)? Not easy to answer… “Ability of a computer or other machine to perform those activities that.
TECHNOLOGY. Computer games have always been driven by technology. For many years it was advances in graphics that changed the way computer games were.
Fundamentals of Python: From First Programs Through Data Structures Chapter 14 Linear Collections: Stacks.
Canyon Adventure Technology David Maung, Tristan Reichardt, Dan Bibyk, Juan Roman Department of Computer Science and Engineering The Ohio State University.
1 State Space of a Problem Lecture 03 ITS033 – Programming & Algorithms Asst. Prof.
Othello Artificial Intelligence With Machine Learning
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Art 315 Lecture 6 Dr. J. Parker. Variables Variables are one of a few key concepts in programming that must be understood. Many engineering/cs students.
CS 4730 Action vs. Interaction CS 4730 – Computer Game Design Credit: Several slides from Walker White (Cornell)
The Design Document The Design Document Introduction Game Mechanics Artificial Intelligence Characters, Items, and Objects/Mechanisms Story.
Z-Town Technical Details Ben Trivett, Drew Switzer, Cameron Jett, Ryan Southard Department of Computer Science and Engineering The Ohio State University.
1 Phase II - Checkers Operator: Eric Bengfort Temporal Status: End of Week Five Location: Phase Two Presentation Systems Check: Checkers Checksum Passed.
Connect Four AI Robert Burns and Brett Crawford. Connect Four  A board with at least six rows and seven columns  Two players: one with red discs and.
Computer Science 1172 Scratch Project on Artificial Intelligence and Computational Thinking Nicholas Crabtree Jiang Jiang Liu Thinking Speaking Writing.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
CHAPTER 10: CORE MECHANICS Definitions and Mechanisms.
HPC Checkers By Andy Block Ryan Egan. Table of Contents Overview of Checkers ▫Overview of Checkers ▫Rules of the Game AI Theory The Program ▫Board ▫Sample.
CS 4730 Game Architecture CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)
Monte-Carlo methods for Computation and Optimization Spring 2015 Based on “N-Grams and the Last-Good-Reply Policy Applied in General Game Playing” (Mandy.
New Working Title: F.U.C.K.3.d. Frag Unreal College Kids in 3D Beta Version Roger Davis Nick Martineau Jason Sabada.
Visual Basic Games: Week 4 Recap Parallel structures Initialization Prepare for Memory Scoring Shuffling Homework: when ready, move on to next game/chapter.
1 The main topics in AI Artificial intelligence can be considered under a number of headings: –Search (includes Game Playing). –Representing Knowledge.
Dead Run James Kelly, Mike Papo, Josh Lovatt. Basic Details Single Player Top Down Action game.
Why program retro machines? Aren't they obsolete? Why not do something more constructive?
AI Evaluation David Nowell CIS 588 2/14/05 Baldur’s Gate.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
With Prancing Porpoise Ink
Senior Project – Computer Science – 2015 Effect of Display Size on a Player’s Situational Awareness in Real-Time Strategy Games Peter Miralles Advisor.
Trojan Rabbits. (10/31) Functional minimum: Tile/Grid-based Game "Engine" (Shaun & Michael) Game Objects Created (Timothy) User Interaction Movement (Yan)
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Playing Tic-Tac-Toe with Neural Networks
 What is the game about?  Looking into the algorithm  Looking into the code  Complexity and conclusions.
Finite State Machines using Alice Stephen Cano CIS 4914 Senior Project Wednesday December 5th.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
What’s in a Game? Your Game! Based On: “Tutorial: What is a good game? By Mark Overmars Your Game! Based On: “Tutorial: What is a good game? By Mark Overmars.
Awesome Jungle Group Three: Antti Knutas Li Aoke Jifeng Xing.
WHAT ARE PLANS FOR? Philip E. Agre David Chapman October 1989 CS 790X ROBOTICS Presentation by Tamer Uz.
1 CO Games Development 1 Week 9 - part 2 Pathfinding Considerations Gareth Bellaby.
CSCE 552 Fall 2012 AI By Jijun Tang. Homework 3 List of AI techniques in games you have played; Select one game and discuss how AI enhances its game play.
The Stingray Example Program CMT3311. Stingray - an example 2D game May be useful as a simple case study Most 2D games need to solve generic problems.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Learning to use a ‘For Loop’ and a ‘Variable’. Learning Objective To use a ‘For’ loop to build shapes within your program Use a variable to detect input.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Recitation #3 Tel Aviv University 2016/2017 Slava Novgorodov
Application of Artificial Intelligence and Graphics to Support a Three-Dimensional Game Chris Cummings.
Movement in a full and dynamic environment using a limited influence map Paulo Lafeta Ferreira Artificial Intelligence for Games – CS 580 Professor: Steve.
Othello Artificial Intelligence With Machine Learning
3D Game Pitch Niki Farquhar
Presentation transcript:

ZOMBIE MADNESS! Jack Smith Steve Mander-Jones OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

PROJECT GOAL Our goal with this project was to put into practice the different AI techniques we’ve learned, in a cohesive and sensible manner. While we thought it was important to have a game that played well, we were also aware of the fact that AI comes first in this project. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GOALS The goal of the game, in it’s simplest form, is to escape the zombies by reaching the helipad. However, there’s distractions along the way! Zombies Roadblocks Player inability (not enough health/fuel) OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GAME MECHANICS - Players Players have the following attributes: Health Chainsaw Fuel If a player has enough fuel, they can slice through a zombie pack. However, if they don’t, they’ll lose health (and probably get eaten). OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GAME MECHANICS - Zombies Zombies are a simple bunch, they only really care about brains. Zombies react to situations depending on their fellow zombies actions. If a zombie sees another running, it’ll assume it’s got brains and follow it. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GAME MECHANICS - Pickups The player can find items that may be of use to them in their escape. These items are: Health packs Fuel canisters The health packs renew the players health, while the fuel can be used to increase the potency of the chainsaw. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GAME CONCESSIONS - Simulation We recognised early in the project that zombies aren’t the smartest of opponents. As such we deemed it necessary to provide a ‘simulation mode’ to our game. In simulation mode, the player is replaced by computer AI, to demonstrate our implementation of AI principles. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

GAMEPLAY – AI Requirements Must be able to use a pathfinding algorithm to traverse the tile based map. Must use an influence map to find areas of zombie concentration (Simulation mode only). Must use goal-oriented behaviour to determine actions.  Player – Get fuel? Get health? Escape?  Zombie – Wander? Follow for brains? OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

TILES We decided that a tile based 2D map was the easiest way to implement our environment. The map is generated by a text file with a 2D grid of numbers, e.g. A ‘W’ represents a game waypoint (used for pathfinding), a 0 represents a road (traversable) and a 1 represents a building (blocked). OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION W,0,0,0,0,W,0,0,0,0,W,0,0,0,0,0,0,0,0,W, 0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,0, …

TILES CONTINUED This map file is then transformed into a 2D array, where each tile is represented by a Tile object. This means we can traverse the array and find any tile based on a co-ordinate system. Waypoints are also saved in a separate table. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

USER INTERFACE OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

USER INTERFACE CONTINUED We chose to use PyGame to develop our game, as we liked the flexibility it offered when it came to placing sprites on screen. It made it easier to assign each tile a specific graphic and easily change the players and zombie sprite locations. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

PATHFINDING – Dijkstra With our waypoint system we are able to find the shortest path from one waypoint to any other on the map. We chose to implement Dijkstra’s algorithm as we needed a path where cost (tiles traversed) was a factor, and didn’t need the extra features of A*. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

TACTICAL AI – Influence Maps Each zombie on the map has a pre-defined level of influence. This influence effects the tile it’s based on, and the tiles in an area around it. The concentration of zombies in one area increases the influence across the areas tiles, and as such turns up as a blob. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

TACTICAL AI – Influence Maps The influence map is then used by the simulation mode AI to determine if they can safely traverse that path. They compare the fuel they have to the zombie influence in an area. If it passes a test, then they can carve their way through that path and continue on to freedom. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

TACTICAL AI – Decision Making The simulation player AI is based on a decision making model. If they need more fuel to get through a chosen path, they’ll go find it. If they need to get more health, they’ll search for a health pack. This allows them to adapt to random zombie movement and encounters. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

ZOMBIE AI The ‘simple’ behaviour of your traditional zombie is implemented in our game by a simple finite state machine. If the zombie can’t see a human, and can’t see any other zombie running after brains, then they’ll just wander around until something happens. OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

MISSING FEATURES Zombie overlord Vehicles More weapons Interactive buildings OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

WHAT WE’VE LEARNT That Dijkstra was one smart guy. Zombies aren’t the best models for smart AI. Great AI doesn’t make great gameplay (or any at all). OUTLINE > GAME OVERVIEW > IMPLEMENTATION > AI FEATURES > CONCLUSION

REFERENCES/CREDITS Zombies! Board game by Twilight Creations tutorials help files/wiki Zombie/chainsaw image from Resident Evil Brains appears courtesy of Thunderbirds