Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis

Slides:



Advertisements
Similar presentations
Lecture 7: Potential Fields and Model Predictive Control
Advertisements

Robot Sensor Networks. Introduction For the current sensor network the topography and stability of the environment is uncertain and of course time is.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Multiagent Probabilistic Smart Terrain Dr. John R. Sullins Youngstown State University.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Artificial Intelligence in Game Design Introduction to Learning.
Ch 12: Object-Oriented Analysis
Spatial Mining.
Geographic Information Systems Applications in Natural Resource Management Chapter 13 Raster GIS Database Analysis Michael G. Wing & Pete Bettinger.
Using Cellular Automata and Influence Maps in Games
Reinforcement Learning in Real-Time Strategy Games Nick Imrei Supervisors: Matthew Mitchell & Martin Dick.
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes,
Dr. David Liu Objectives  Understand what a GIS is  Understand how a GIS functions  Spatial data representation  GIS application.
GI Systems and Science January 23, Points to Cover  What is spatial data modeling?  Entity definition  Topology  Spatial data models Raster.
Neural Networks Slides by Megan Vasta. Neural Networks Biological approach to AI Developed in 1943 Comprised of one or more layers of neurons Several.
Tal Mor  Create an automatic system that given an image of a room and a color, will color the room walls  Maintaining the original texture.
Artificial Intelligence in Game Design Camera Control.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
Map Scale, Resolution and Data Models. Components of a GIS Map Maps can be displayed at various scales –Scale - the relationship between the size of features.
Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.
Survey of AI for games. AI vs. AI for games Traditional AI: – Made to handle unseen inputs, large state space – Too many options possible to compute an.
August 31, 2005 Game Developer Conference Europe Killzone’s AI: Dynamic Procedural Tactics Guerrilla Games - 1 Killzone’s AI: Dynamic Procedural Tactics.
Hashing Chapter 20. Hash Table A hash table is a data structure that allows fast find, insert, and delete operations (most of the time). The simplest.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis.
Intro to Raster GIS GTECH361 Lecture 11. CELL ROW COLUMN.
Artificial Intelligence in Game Design
Search Engine Architecture
Qualitative Spatial Analysis Chris Mansley. Qualitative Quantitative items are known, definable quantities (x,y) coordinates Remaining health Location.
Probabilistic Smart Terrain Dr. John R. Sullins Youngstown State University.
Glossary of Technical Terms Cellular Automata: A regular array of identical finite state automata whose next state is determined solely by their current.
Design Fundamentals of Stealth Gameplay in the Thief series
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 25 –Robotics Thursday –Robotics continued Home Work due next Tuesday –Ch. 13:
INTRODUCTION TO GIS  Used to describe computer facilities which are used to handle data referenced to the spatial domain.  Has the ability to inter-
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
Probabilistic Smart Terrain Dr. John R. Sullins Youngstown State University.
Roland Geraerts and Erik Schager CASA 2010 Stealth-Based Path Planning using Corridor Maps.
Lecture 3: Designing Parallel Programs. Methodological Design Designing and Building Parallel Programs by Ian Foster www-unix.mcs.anl.gov/dbpp.
CSCI 383 Object-Oriented Programming & Design Lecture 4 Martin van Bommel.
1 CO Games Development 1 Week 9 - part 2 Pathfinding Considerations Gareth Bellaby.
1 CO Games Development 2 Week 13 Influence Maps Gareth Bellaby.
Tools and Libraries for Manycore Computing Kathy Yelick U.C. Berkeley and LBNL.
Team Member AI in an FPS and Goal Oriented Action Planning.
Positioning and Spatial Evaluation
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
Application of Artificial Intelligence and Graphics to Support a Three-Dimensional Game Chris Cummings.
Simulation based verification: coverage
Movement in a full and dynamic environment using a limited influence map Paulo Lafeta Ferreira Artificial Intelligence for Games – CS 580 Professor: Steve.
Search Engine Architecture
State Machines Chapter 5.
The Experimental Method
Real-time Wall Outline Extraction for Redirected Walking
Dynamical Statistical Shape Priors for Level Set Based Tracking
Aaron Camm, Jeff Huggins, Steve Moskal, Patrick Cardwell
Fitting Curve Models to Edges
Bitmap, Vector, Pixels, Resolution, Metadata.
Path Planning in Discrete Sampled Space
Simple Techniques for Coordinated Behavior
Workshop II UU Crowd Simulation Framework
MURI Kickoff Meeting Randolph L. Moses November, 2008
UMBC Graphics for Games
© 2003 University of Wisconsin
Existing Simulator.
Tank Game Int 10 Unit 3 – Game Maker.
Artificial Intelligence in Games Week 7
Presentation transcript:

Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis

Purpose Dynamic environment – player’s actions are unpredictable, player can change environment (i.e. game has a physics engine) High levels of interactivity, coupled with dynamic environments, require sophisticated AI AI needs way to process information in environment

Example

Possible Representations Static Place “hints” in the game world Analyze world and build a data structure Dynamic Influence maps (establishes implicit boundaries between opposing forces) Want a solution that represents all relevant data

Spatial Database 2D grid overlaid on top of the game world Multiple independent layers superimposed on the same grid Most useful layers: Openness Area occupancy Area search Line-of-fire Light level

Use of Spatial Database Combine multiple layers to compute composite desirability values AI examines nearby cells, moves accordingly Implicitly coordinates behavior of multiple AIs

Openness Layer Needed for tactics which require certain amount of open space (ex – “Circle of Death”) Cells contain values that indicate how close it is to a wall/object If blocked, value = 0; else, value = 1 Propagate influence of 0-value cells to neighbors

Example Propagation 1 0.2 1 0.2 0.4 1 0.2 0.4 0.6

Uses of Openness Layer Can determine the direction of increasing/decreasing openness Can use this gradient to find the middle of the room (high openness) and the walls (low openness)

Area Occupancy Layer More for RTS games, “fog of war” Each unit propagates an area of influence around itself Cells with nonzero values are visible Units update grid values when moving (or created/destroyed) Used in other genres for AIs to know how populated an area of the world is

Uses of Area of Occupancy Layer Higher values if cells are closer to more agents Avoid moving into occupied areas when maneuvering Difference between “fog of war” and occupancy – values depend on distance between AI units for occupancy, not “fog of war”

Area Search Layer Games with stealth components, AI needs to search for player Scouts in RTS games, uncovering the map Initialize the layer to zero values Increment cell values as they enter AI agent’s view arc

Implementation for Stealth Games Guard considers surrounding area a “hidden map” Has clues to aid search; knows where to begin and where to look Store database of evidence, bias search towards it Decay database over time (randomly?) Automatically coordinates multiple NPCs

Thief 3

Line-of-Fire Layer For game genres with ranged weapons Want to ensure that AIs don’t block each others’ shots Each cell starts as zero When AI aims, propagates values in its viewing arc Each AI ignores its own contribution (temporarily subtract value before reading)

Light Level Layer Needed for games with dynamic lighting Stealthy characters/vampires would avoid light, guards would prefer light Initialize to 0s Each light source propagates values based on current radius, lighting type, intensity, etc.

Handling 3D Environments Single 2D grid can’t represent vertically overlapping areas Solution: transform grid into one of sub-grids Assign a sub-grid to each different height Works well for human environments

Updating certain areas constantly is a waste of time/memory Potential Issues Spatial database system could be a performance nightmare Large grid + high resolution + large # of AIs + frequent updates = Updating certain areas constantly is a waste of time/memory

Optimizations Pare size of the grid (make cells represent larger areas of environment) Don’t recalculate static layers Decompress sub-grids as needed Combine cells if all values are the same Use short-circuit evaluation Update cells only when used

Sources Tozour, Paul, “Using a Spatial Database for Runtime Spatial Analysis,” AI Game Programming Wisdom 2. HL2 video - http://www.zippyvideos.com/212120745294215.html Thief 3 video - http://media.pc.ign.com/media/015/015244/vids_4.html BSOD image - www.palindrom.agava.ru/en.intro.bsod.html