Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis.

Slides:



Advertisements
Similar presentations
Wall Building for RTS Games Patrick Schmid. Age of Empires.
Advertisements

Lecture 7: Potential Fields and Model Predictive Control
Comparing Effectiveness of Bioinspired Approaches to Search and Rescue Scenarios Emily Shaeffer and Shena Cao 4/28/2011Shaeffer and Cao- ESE 313.
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.
CSCI 347 / CS 4206: Data Mining Module 07: Implementations Topic 03: Linear Models.
Version 1.1, Jan. 2013Obstructions 1/26WW Winter School 2013 Developing Obstruction grids Arun Chawla The WAVEWATCH III Team + friends Marine Modeling.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
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
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
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
CSC344: AI for Games Lecture 5 Advanced heuristic search Patrick Olivier
1 Vision based Motion Planning using Cellular Neural Network Iraji & Bagheri Supervisor: Dr. Bagheri.
Reinforcement Learning in Real-Time Strategy Games Nick Imrei Supervisors: Matthew Mitchell & Martin Dick.
Soldier of Fortune 2: Double Helix Paris York CIS 588.
Texture Synthesis on Surfaces Paper by Greg Turk Presentation by Jon Super.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
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.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
Ant colony optimization algorithms Mykulska Eugenia
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.
1 CO Games Concepts Week 20 Matrices continued Gareth Bellaby.
August 31, 2005 Game Developer Conference Europe Killzone’s AI: Dynamic Procedural Tactics Guerrilla Games - 1 Killzone’s AI: Dynamic Procedural Tactics.
Intro to Raster GIS GTECH361 Lecture 11. CELL ROW COLUMN.
Artificial Intelligence in Game Design
Data Types Entities and fields can be transformed to the other type Vectors compared to rasters.
Search Engine Architecture
By Paul Richard and Jim Fitzgerald Chapter 3 – Controlling the Drawing Display.
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.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
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 GIS  Used to describe computer facilities which are used to handle data referenced to the spatial domain.  Has the ability to inter-
Scott Lindner 10/6/04 Pathfinding and Navigational Systems, cont.
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.
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
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.
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
1 CO Games Development 1 Week 9 - part 2 Pathfinding Considerations Gareth Bellaby.
Neural networks (2) Reminder Avoiding overfitting Deep neural network Brief summary of supervised learning methods.
1 CO Games Development 2 Week 13 Influence Maps Gareth Bellaby.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Tools and Libraries for Manycore Computing Kathy Yelick U.C. Berkeley and LBNL.
Positioning and Spatial Evaluation
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
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.
Search Engine Architecture
State Machines Chapter 5.
Real-time Wall Outline Extraction for Redirected Walking
Path Planning in Discrete Sampled Space
Workshop II UU Crowd Simulation Framework
Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis
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 worldPlace “hints” in the game world Analyze world and build a data structureAnalyze world and build a data structure  Dynamic Influence maps (establishes implicit boundaries between opposing forces)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: OpennessOpenness Area occupancyArea occupancy Area searchArea search Line-of-fireLine-of-fire Light levelLight level

Use of Spatial Database  Combine multiple layers to compute composite desirability values AI examines nearby cells, moves accordinglyAI examines nearby cells, moves accordingly Implicitly coordinates behavior of multiple AIsImplicitly 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

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

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 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 - html html html  Thief 3 video - _4.html  BSOD image -