Character AI: Sensing & Perception

Size: px
Start display at page:

Download "Character AI: Sensing & Perception"

Transcription

1 Lecture 22 Character AI:

2 Take Away for Today Sensing as primary bottleneck Why is sensing so problematic? What types of things can we do to improve it? Optimized sense computation Can we improve sense computation performance? Can we share sensing between NPCs? Sense event matching What are events and how are y represented? What is advantage of an event system? 2

3 Review: Sense-Think-Act Sense: Perceive world Reading game state Example: enemy near? Think: Choose an action Often merged with sense Example: fight or flee Act: Update state Simple and fast Example: reduce health? 3

4 Recall: Sensing Performance Sensing may be slow! Consider all objects Example: morale n knights, n skeletons Knights fear skeletons Proportional to # seen Count skeletons in view O(n) to count skeletons O(n 2 ) for all units Time per tick 3 units 2 units 1 unit 4

5 Recall: Sensing Performance Sensing may be slow! Consider all objects Example: morale n knights, n skeletons Knights fear skeletons Proportional to # seen Count skeletons in view O(n) to count skeletons O(n 2 ) for all units Time per tick 3 units 2 units 1 unit 5

6 Aggregation Idea taken from databases Unordered set of information Combine into single value Used in statistical analysis Examples: sum, avg, mode Decomposable Aggregates Split set up into subsets Aggregate on each subset Combine values from subsets Only for some aggregates avg = 8 (16,2) avg = 6 (12,2) avg = 8 (16,2) avg = 6 (12,2) avg = 7 (28,4) avg = 7 (28,4) avg = 7 (56,8) 6

7 Aggregation Idea taken from databases Unordered set of information Combine into single value Used in statistical analysis Examples: sum, avg, mode Decomposable Aggregates Split set up into subsets Aggregate on each subset Allows for fast parallel computation Combine values from subsets Only for some aggregates avg = 8 (16,2) avg = 6 (12,2) avg = 8 (16,2) avg = 6 (12,2) avg = 7 (28,4) avg = 7 (28,4) avg = 7 (56,8) 7

8 AI and Aggregation Trees Slide courtesy of Dave Mark Number of Allies Strength of Allies Number of Enemies Strength of Enemies Allied Strength Threat Ratio Enemy Strength Proximity to Base My Health Proximity to Leader Urgency My Morale Retreat % 8

9 AI and Aggregation Trees Slide courtesy of Dave Mark Number of Allies Strength of Allies Number of Enemies Strength of Enemies Map-Reduce Pipeline Allied Strength Do all sides at once using key-value pairs Threat Ratio Enemy Strength Urgency Proximity to Base My Health My Morale Proximity to Leader Retreat % 9

10 Influence Maps: Pathfinding and AI B A Slide courtesy of Dave Mark 10

11 Implementing Influence Maps Use pathfinding grid Track movement in square Track if friend or foe Keep count as a queue Count is sum of queue A B 1 0 Allows us to time out 1 0 Orwise, marked forever 1 Use queue as a predictor Look at rate of change Also valuable for AI Sensing is at grid, not NPC 11

12 Advantages of Influence Maps B A Influence data reflects changes Slide courtesy of Dave Mark 12

13 Advantages of Influence Maps B Add a priori assumptions A Slide courtesy of Dave Mark 13

14 Sensing: Perception Groups Vision: limited field of view Gives exact object location, information Limited by obstacles and range Little information (motion) at periphery Sound: omni-directional Gives direction & distances Requires you track sounds actions make Smell: omni-directional No direction or distance; proximity only Requires you track smells actions make 14

15 Sensing: Line-of-Sight 15

16 Sensing: Line-of-Sight 16

17 3D Line-of-Sight: Ray Casting 17

18 3D Line-of-Sight: Ray Casting 18

19 3D Line-of-Sight: Ray Casting 19

20 Sense Events Event: encoded sense data Tagged with sense type Pre-aggregated information Information self-contained Object with methods Class is sense type Sensing is event matching Each event has a type NPCs register for a type Send NPC registered events Check if event is relevant! Event: CharacterExposed! boolean isseen(npc guard); float distanceto(npc guard); Vector movedirection(); 20

21 Sense Event Matching sound sight sound Register events of interest Event Handler Game Loop sound smell 21

22 Sense Event Matching Notify of any matching events Event Handler Game Loop Check for any matching events 22

23 Sense Event Matching Notify of any matching events Event Handler Advantage: Sensing is Global, Not Local Game Loop Check for any matching events 23

24 Representing Events Lightweight Heavyweight Memory Player Memory Player CharacterExposed Reference to player CharacterExposed Copy of player 24

25 Representing Events Lightweight Heavyweight class Event {" Player ref;" Event(Player p) {" ref = p;" }" } Advantages Fast to create event No additional memory class Event {" Player ref;" Event(Player p) {" ref = p.copy();" }" } Advantages Stores past events Can be communicated 25

26 Simple Pub/Sub Architecture NPC Hashtable Event types are keys Values are lists of NPCs! tag1 Say NPC subscribes to e Each update cycle Generate all of events tag2 Complex Pub/Sub Query System System Game Loop Get NPCs for each event tag1, tag3 Send those events to NPC Process NPCs normally tag4 26

27 Simple Pub/Sub Architecture tag1 NPC Behavior tag2 Complex Pub/Sub Query System System Game Loop tag1, tag3 tag4 27

28 Restrict to nearby NPCs Have detection range Limits events sensed Spatial Optimizations Easy to combine with event matching system Works in both directions Nimbus: can see radius Aura: can be seen radius Area of interest management 28

29 Case Study: Thief Series 29

30 30

31 Line-of-Sight in Thief Long Distance Focused View Motion Detection Peripheral Vision Short Distance 31

32 Sounds in Thief Easier than vision Primarily distance-based Decays probabilistically Tag with level of interest Sounds can be blocked Not same as line-of-sight Use alternate level map Or tag your visible map Not physically realistic Echoes? Reflections 32

33 Sounds in Thief Sounds are general purpose Resuable framework Code is lightweight Encodes or senses Example: Smell Treated as pseudo-sound Generate like any sound * sniff * Again, ignores or factors * sniff * Wind direction Masking smells 33

34 Representing Events Lightweight Heavyweight class Event {" Player ref;" Event(Player p) {" ref = p;" }" } Advantages Fast to create event No additional memory class Event {" Player ref;" Event(Player p) {" ref = p.copy();" }" } Advantages Stores past events Can be communicated 34

35 Communicating Senses First Hand LOS Sight & Sound First Hand LOS Sight & Sound Second Hand Sight & Sound? 35

36 Alertness: Active Senses High Alert First Hand LOS Sight & Sound Medium Alert First Hand LOS Sight & Sound Second Hand Sight & Sound High Alert First Hand Sound 36

37 Thief: Sense Events and Aggregation Position Lighting Movement Exposure Sound System Visibility Sound Queue Viewcone Selector Viewcone Non-specific Spatial Events Look Listen Sense Pulse Receiver Game Mechanics and Configuration Inter-Agent Communication Ramp Up Delay Cool-down Capacitor Inter-Agent Observation 37 Sense Links

38 Summary Sensing is most expensive part of AI Each character looks at every object in game Often leads to O(n 2 ) behavior (bad!) Can optimize sense garing Aggregation is amenable to parallelization Can piggyback some data onto pathfinding Event matching inverts sensing problem Creation of sense makes a data event Forward event to relevant NPCs 38

the gamedesigninitiative at cornell university Lecture 20 Pathfinding

the gamedesigninitiative at cornell university Lecture 20 Pathfinding Lecture 20 Take way for Today What are primary goals for pathfinding? Identify advantages/disadvantages of * In what situations does * fail (or look bad)? What can we do to fix se problems? Why combine

More information

Principles of Computer Game Design and Implementation. Lecture 23

Principles of Computer Game Design and Implementation. Lecture 23 Principles of Computer Game Design and Implementation Lecture 23 We already learned Decision Tree 2 Outline for today Finite state machine 3 Creating & Controlling AI Behaviors Behavior: A Sequence of

More information

Situational Awareness: Terrain Reasoning for Tactical Shooter A.I

Situational Awareness: Terrain Reasoning for Tactical Shooter A.I Situational Awareness: Terrain Reasoning for Tactical Shooter A.I Situational Awareness The capability of an A.I. agent to reason is limited by the data its sensor's can acquire about the world The representation

More information

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?

More information

CS 387/680: GAME AI MOVEMENT

CS 387/680: GAME AI MOVEMENT CS 387/680: GAME AI MOVEMENT 4/5/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Reminders Check Blackboard site for

More information

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences

Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences Game AI: The set of algorithms, representations, tools, and tricks that support the creation and management of real-time digital experiences : A rule of thumb, simplification, or educated guess that reduces

More information

Total Recall: Automatic Query Expansion with a Generative Feature Model for Object Retrieval O. Chum, et al.

Total Recall: Automatic Query Expansion with a Generative Feature Model for Object Retrieval O. Chum, et al. Total Recall: Automatic Query Expansion with a Generative Feature Model for Object Retrieval O. Chum, et al. Presented by Brandon Smith Computer Vision Fall 2007 Objective Given a query image of an object,

More information

Where are we? Setup Sprites. Input. Collision Drawing Sprites. Initializing, loading, movement Parameters (color, alpha, scale, etc.

Where are we? Setup Sprites. Input. Collision Drawing Sprites. Initializing, loading, movement Parameters (color, alpha, scale, etc. Setup Sprites Where are we? Initializing, loading, movement Parameters (color, alpha, scale, etc.) Input Get input and respond to input Collision Drawing Sprites Next Advanced movement Various types of

More information

Hierarchical Dynamic Pathfinding for Large Voxel Worlds

Hierarchical Dynamic Pathfinding for Large Voxel Worlds Hierarchical Dynamic Pathfinding for Large Voxel Worlds Benoit Alain Lead Programmer & CTO, Sauropod Studio Hierarchical Dynamic Pathfinding for Large Voxel Worlds Hierarchical Dynamic Pathfinding for

More information

12 - More Steering. from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006

12 - More Steering. from Milligan, Artificial Intelligence for Games, Morgan Kaufman, 2006 12 - More Steering from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006 Separation commonly used in crowds, when all characters moving in roughly the same direction (repulsion steering)

More information

Problems with the Imperative 1 Method

Problems with the Imperative 1 Method Announcements Video Game AI: Lecture 13 Behavior Trees & Blackboards Nathan Sturtevant COMP 3705 HW #4 online Who is using the makefiles? Project online after class 4 lectures left after today Schedule

More information

The Drone War. Motivation and Introduction: Project Proposal

The Drone War. Motivation and Introduction: Project Proposal The Drone War Project Proposal COMS W4115 Programming Languages and Translators Columbia University, Fall 2012 Professor: Stephen A. Edwards Students: George Brink gb2280 Xiaotong Chen xc2230 Shuo Qiu

More information

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today CS 188: Artificial Intelligence Fall 2006 Lecture 5: Robot Motion Planning 9/14/2006 Local Search Methods Queue-based algorithms keep fallback options (backtracking) Local search: improve what you have

More information

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Announcements Project 1 due (yesterday)! Project 2 (Pacman with ghosts) up in a few days Reminder: you are allowed to

More information

CS 188: Artificial Intelligence Fall Announcements

CS 188: Artificial Intelligence Fall Announcements CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Dan Klein UC Berkeley Many slides over the course adapted from either Stuart Russell or Andrew Moore Announcements Project

More information

Simulation: Particle Systems

Simulation: Particle Systems Simulation: Particle Systems Course web page: http://goo.gl/eb3aa February 28, 2012 Lecture 5 Particle Systems Definition: Simulation of a set of similar, moving agents in a larger environment Scale usually

More information

Wave Properties. Page 1 of 13

Wave Properties. Page 1 of 13 Wave Properties Transverse and longitudinal waves Be able to describe the difference between longitudinal and transverse waves including examples of each (e.g. ripples / light for transverse & sound (compression

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 06 Sensor Systems Edirlei Soares de Lima Game AI Model Pathfinding Steering behaviours Finite state machines Automated planning Behaviour trees

More information

Tactical and Strategic AI

Tactical and Strategic AI DM842 Computer Game Programming: AI Lecture 8 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Scripting Action Management 2. Waypoint Tactics Tactical

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 FDH 204 Lecture 14 130307 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Stereo Dense Motion Estimation Translational

More information

LECTURE 5. Announcements

LECTURE 5. Announcements LECTURE 5 Announcements Falling Behind? Talk to us You still pass the class if you hand in all projects at the end of the semester Hand in even if you think you won t satisfy the playtesting requirements

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

LECTURE 7. Announcements

LECTURE 7. Announcements LECTURE 7 Announcements Minecraft 4 Feedback Looks good! A game that minimally involves platforms Not based on any game in particular Super Mario 64? Team Fortress 2? Completely up to you to make unique

More information

Programming Game Al by Example

Programming Game Al by Example Programming Game Al by Example Mat Buckland Wordware Publishing, Inc. Contents Foreword Acknowledgments Introduction xiii xvii xix Chapter 7 A Math and Physics Primer 1 Mathematics 1 Cartesian Coordinates

More information

GPU-based Distributed Behavior Models with CUDA

GPU-based Distributed Behavior Models with CUDA GPU-based Distributed Behavior Models with CUDA Courtesy: YouTube, ISIS Lab, Universita degli Studi di Salerno Bradly Alicea Introduction Flocking: Reynolds boids algorithm. * models simple local behaviors

More information

Bimodal Spatial Reasoning with Continuous Motion

Bimodal Spatial Reasoning with Continuous Motion Bimodal Spatial Reasoning with Continuous Motion Samuel Wintermute and John E. Laird University of Michigan 2260 Hayward St. Ann Arbor, MI 48109-2121 {swinterm, laird}@umich.edu Abstract Symbolic AI systems

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes

More information

the gamedesigninitiative at cornell university Lecture 9 Memory Management

the gamedesigninitiative at cornell university Lecture 9 Memory Management Lecture 9 Gaming Memory Constraints Redux Wii-U Playstation 4 2GB of RAM 1GB dedicated to OS Shared with GPGPU 8GB of RAM Shared GPU, 8-core CPU OS footprint unknown 2 Two Main Concerns with Memory Getting

More information

Memory Management: High-Level Overview

Memory Management: High-Level Overview Lecture 9 : High-Level Overview Gaming Memory (Last Generation) Playstation 3 256 MB RAM for system 256 MB for graphics card X-Box 360 512 MB RAM (unified) Nintendo Wii 88 MB RAM (unified) 24 MB for graphics

More information

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard Robot Mapping A Short Introduction to the Bayes Filter and Related Models Gian Diego Tipaldi, Wolfram Burgard 1 State Estimation Estimate the state of a system given observations and controls Goal: 2 Recursive

More information

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón CS 480: GAME AI STEERING BEHAVIORS 4/12/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly Also:

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology AI Fuzzy Logic and Neural Nets Fall 2018 Fuzzy Logic Philosophical approach Decisions based on degree of truth Is not a method for reasoning under uncertainty that s probability

More information

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors CS 188: Artificial Intelligence Spring 2006 Lecture 5: Robot Motion Planning 1/31/2006 Dan Klein UC Berkeley Many slides from either Stuart Russell or Andrew Moore Motion planning (today) How to move from

More information

LECTURE 6. Announcements

LECTURE 6. Announcements LECTURE 6 Announcements Minecraft 3 Feedback Infinite worlds! Terrain looks good Gameplay not super varied Happy Birthday Hassan! The Voxel Engine You re done with your first collision engine! Environment

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday

Notes. Video Game AI: Lecture 5 Planning for Pathfinding. Lecture Overview. Knowledge vs Search. Jonathan Schaeffer this Friday Notes Video Game AI: Lecture 5 Planning for Pathfinding Nathan Sturtevant COMP 3705 Jonathan Schaeffer this Friday Planning vs localization We cover planning today Localization is just mapping a real-valued

More information

Robotics and Autonomous Systems

Robotics and Autonomous Systems Robotics and Autonomous Systems Lecture 13: Navigation in LeJOS Richard Williams Department of Computer Science University of Liverpool 1 / 40 Today From navigation to motion control. 2 / 40 Navigation

More information

Lecture 3 Finite State Machines

Lecture 3 Finite State Machines Lecture 3 Finite State Machines CMPS 146, Fall 2013 Josh McCoy Readings First three will be posted right after class. First lecture: 19-35 Decision Tree lecture: 293-309 FSM/today's lecture: 309-333 All

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 05 Randomness and Probability Edirlei Soares de Lima Game AI Model Pathfinding Steering behaviours Finite state machines Automated planning Behaviour

More information

Addressing the Memory Wall

Addressing the Memory Wall Lecture 26: Addressing the Memory Wall Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2015 Tunes Cage the Elephant Back Against the Wall (Cage the Elephant) This song is for the

More information

Pathfinding. Pathfinding Planned Movement

Pathfinding. Pathfinding Planned Movement 345 Ludic Computing Lecture 10 Pathfinding Simon Colton & Alison Pease Computational Creativity Group Department of Computing Imperial College London www.doc.ic.ac.uk/ccg 1 Pathfinding Planned Movement

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 14 Caches III Lecturer SOE Dan Garcia Google Glass may be one vision of the future of post-pc interfaces augmented reality with video

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures CS61C L22 Caches II (1) CPS today! Lecture #22 Caches II 2005-11-16 There is one handout today at the front and back of the room! Lecturer PSOE,

More information

Shading, lighting, & BRDF Theory. Cliff Lindsay, PHD

Shading, lighting, & BRDF Theory. Cliff Lindsay, PHD Shading, lighting, & BRDF Theory Cliff Lindsay, PHD Overview of today s lecture BRDF Characteristics Lights in terms of BRDFs Classes of BRDFs Ambient light & Shadows in terms of BRDFs Decomposing Reflection

More information

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS

ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS ARTIFICIAL INTELLIGENCE: SITUATIONAL AWARENESS So first of all before we start, we have to ask our self: What s is situational awareness exactly. A Quick google search reveals that: WHAT IS SITUATIONAL

More information

1" 0" d" c" b" a" ...! ! Benefits of Larger Block Size. " Very applicable with Stored-Program Concept " Works well for sequential array accesses

1 0 d c b a ...! ! Benefits of Larger Block Size.  Very applicable with Stored-Program Concept  Works well for sequential array accesses Asst. Proflecturer SOE Miki Garcia inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 14 Caches III WHEN FIBER OPTICS IS TOO SLOW 07/16/2014: Wall Street Buys NATO Microwave Towers in

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 14 Caches III Asst. Proflecturer SOE Miki Garcia WHEN FIBER OPTICS IS TOO SLOW 07/16/2014: Wall Street Buys NATO Microwave Towers in

More information

Congestion Control In the Network

Congestion Control In the Network Congestion Control In the Network Brighten Godfrey cs598pbg September 9 2010 Slides courtesy Ion Stoica with adaptation by Brighten Today Fair queueing XCP Announcements Problem: no isolation between flows

More information

Automatic Scaling Iterative Computations. Aug. 7 th, 2012

Automatic Scaling Iterative Computations. Aug. 7 th, 2012 Automatic Scaling Iterative Computations Guozhang Wang Cornell University Aug. 7 th, 2012 1 What are Non-Iterative Computations? Non-iterative computation flow Directed Acyclic Examples Batch style analytics

More information

Platform Games Drawing Sprites & Detecting Collisions

Platform Games Drawing Sprites & Detecting Collisions Platform Games Drawing Sprites & Detecting Collisions Computer Games Development David Cairns Contents Drawing Sprites Collision Detection Animation Loop Introduction 1 Background Image - Parallax Scrolling

More information

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools

Particle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools Particle Systems Controlling Groups of Objects: Particle Systems Flocks and Schools A complex, fuzzy system represented by a large collection of individual elements. Each element has simple behavior and

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Damaging, Attacking and Interaction

Damaging, Attacking and Interaction Damaging, Attacking and Interaction In this tutorial we ll go through some ways to add damage, health and interaction to our scene, as always this isn t the only way, but it s the way I will show you.

More information

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have

More information

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Michael Comstock December 6, 2012 1 Introduction This paper presents a comparison of two different machine learning systems

More information

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement? Course Outline Video Game AI: Lecture 7 Heuristics & Smoothing Nathan Sturtevant COMP 3705 http://aigamedev.com/ now has free interviews! Miscellaneous details Heuristics How better heuristics can be built

More information

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

Chapter Seven Morgan Kaufmann Publishers

Chapter Seven Morgan Kaufmann Publishers Chapter Seven Memories: Review SRAM: value is stored on a pair of inverting gates very fast but takes up more space than DRAM (4 to 6 transistors) DRAM: value is stored as a charge on capacitor (must be

More information

the gamedesigninitiative at cornell university Lecture 12 Architecture Design

the gamedesigninitiative at cornell university Lecture 12 Architecture Design Lecture 12 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 32 Caches III 2008-04-16 Lecturer SOE Dan Garcia Hi to Chin Han from U Penn! Prem Kumar of Northwestern has created a quantum inverter

More information

CS 4649/7649 Robot Intelligence: Planning

CS 4649/7649 Robot Intelligence: Planning CS 4649/7649 Robot Intelligence: Planning Probabilistic Roadmaps Sungmoon Joo School of Interactive Computing College of Computing Georgia Institute of Technology S. Joo (sungmoon.joo@cc.gatech.edu) 1

More information

CS 343H: Artificial Intelligence

CS 343H: Artificial Intelligence CS 343H: Artificial Intelligence Lecture 4: Informed Search 1/23/2014 Slides courtesy of Dan Klein at UC-Berkeley Unless otherwise noted Today Informed search Heuristics Greedy search A* search Graph search

More information

EE382N (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I

EE382N (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I EE382 (20): Computer Architecture - Parallelism and Locality Spring 2015 Lecture 14 Parallelism in Software I Mattan Erez The University of Texas at Austin EE382: Parallelilsm and Locality, Spring 2015

More information

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000

Finding a Path. Advanced Pathfinding. Finding a Path. A* Pathfinding Search. Practical Path Planning 3/21/2016. Tile-Based Navigation Graphs IMGD 4000 3/21/2016 Finding a Path Often seems obvious and natural in real life e.g., Get from point A to B go around lake Advanced Pathfinding http://www.rocket5studios.com/tutorials/make-a-2d-game-withunity3d-using-only-free-tools-beginning-enemy-ai-with-a-pathfinding/

More information

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4.

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4. Table of Contents Introduction 1 Installation 2 Quick Start 3 Documentation Asynchronous Configuration Level Streaming Saving And Loading Slot Templates 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1

More information

Splunk Review. 1. Introduction

Splunk Review. 1. Introduction Splunk Review 1. Introduction 2. Splunk Splunk is a software tool for searching, monitoring and analysing machine generated data via web interface. It indexes and correlates real-time and non-real-time

More information

Acquisitional Query Processing in TinyDB

Acquisitional Query Processing in TinyDB Acquisitional Query Processing in TinyDB Sam Madden UC Berkeley NEST Winter Retreat 2003 1 Acquisitional Query Processing (ACQP) Cynical DB person question: what s really different about sensor networks?

More information

Feature selection. LING 572 Fei Xia

Feature selection. LING 572 Fei Xia Feature selection LING 572 Fei Xia 1 Creating attribute-value table x 1 x 2 f 1 f 2 f K y Choose features: Define feature templates Instantiate the feature templates Dimensionality reduction: feature selection

More information

the gamedesigninitiative at cornell university Lecture 13 Architecture Design

the gamedesigninitiative at cornell university Lecture 13 Architecture Design Lecture 13 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams

More information

Data Stream Processing

Data Stream Processing Data Stream Processing Part II 1 Data Streams (recap) continuous, unbounded sequence of items unpredictable arrival times too large to store locally one pass real time processing required 2 Reservoir Sampling

More information

The Five Rooms Project

The Five Rooms Project The Five Rooms Project The Assignment If an artist is given the task of graphically designing a surface, then he is also left to decide which creative processes will be active and which criteria will then

More information

(a) (b) (c) Fig. 1. Omnidirectional camera: (a) principle; (b) physical construction; (c) captured. of a local vision system is more challenging than

(a) (b) (c) Fig. 1. Omnidirectional camera: (a) principle; (b) physical construction; (c) captured. of a local vision system is more challenging than An Omnidirectional Vision System that finds and tracks color edges and blobs Felix v. Hundelshausen, Sven Behnke, and Raul Rojas Freie Universität Berlin, Institut für Informatik Takustr. 9, 14195 Berlin,

More information

AI/ML IRL. Joshua Eckroth Chief Architect / Assistant Professor of Computer Science i2k Connect / Stetson University

AI/ML IRL. Joshua Eckroth Chief Architect / Assistant Professor of Computer Science i2k Connect / Stetson University AI/ML IRL Joshua Eckroth Chief Architect / Assistant Professor of Computer Science i2k Connect / Stetson University Certain, closed systems: Well-defined inputs (e.g., bounded integers) Well-defined transformations

More information

Mettler Toledo Driver PTC Inc. All Rights Reserved.

Mettler Toledo Driver PTC Inc. All Rights Reserved. 2017 PTC Inc. All Rights Reserved. 2 Table of Contents 1 Table of Contents 2 3 Overview 3 Setup 4 Channel Properties General 5 Channel Properties Serial Communications 6 Channel Properties Write Optimizations

More information

CS 387: GAME AI TACTIC AND STRATEGY

CS 387: GAME AI TACTIC AND STRATEGY CS 387: GAME AI TACTIC AND STRATEGY 5/16/2017 Instructor: Santiago Ontañón so367@drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2017/cs387/intro.htm Outline Projects 1/2 Tactic and

More information

Routing Protocol comparison

Routing Protocol comparison Routing Protocol comparison Introduction to routing Networks allow people to communicate, collaborate, and interact in many ways. Networks are used to access web pages, talk using IP telephones, participate

More information

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams

I may not have gone where I intended to go, but I think I have ended up where I needed to be. Douglas Adams Disclaimer: I use these notes as a guide rather than a comprehensive coverage of the topic. They are neither a substitute for attending the lectures nor for reading the assigned material. I may not have

More information

(Lec 14) Placement & Partitioning: Part III

(Lec 14) Placement & Partitioning: Part III Page (Lec ) Placement & Partitioning: Part III What you know That there are big placement styles: iterative, recursive, direct Placement via iterative improvement using simulated annealing Recursive-style

More information

Caching Basics. Memory Hierarchies

Caching Basics. Memory Hierarchies Caching Basics CS448 1 Memory Hierarchies Takes advantage of locality of reference principle Most programs do not access all code and data uniformly, but repeat for certain data choices spatial nearby

More information

Information Retrieval and Web Search Engines

Information Retrieval and Web Search Engines Information Retrieval and Web Search Engines Lecture 7: Document Clustering December 4th, 2014 Wolf-Tilo Balke and José Pinto Institut für Informationssysteme Technische Universität Braunschweig The Cluster

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

lecture 18 - ray tracing - environment mapping - refraction

lecture 18 - ray tracing - environment mapping - refraction lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the

More information

Hot topics and Open problems in Computational Geometry. My (limited) perspective. Class lecture for CSE 546,

Hot topics and Open problems in Computational Geometry. My (limited) perspective. Class lecture for CSE 546, Hot topics and Open problems in Computational Geometry. My (limited) perspective Class lecture for CSE 546, 2-13-07 Some slides from this talk are from Jack Snoeyink and L. Kavrakis Key trends on Computational

More information

(Due to rounding, values below may be only approximate estimates.) We will supply these numbers as they become available.

(Due to rounding, values below may be only approximate estimates.) We will supply these numbers as they become available. Below, for each problem on this Midterm Exam, Perfect is the percentage of students who received full credit, Partial is the percentage who received partial credit, and Zero is the percentage who received

More information

Midterm Exam Solutions Amy Murphy 28 February 2001

Midterm Exam Solutions Amy Murphy 28 February 2001 University of Rochester Midterm Exam Solutions Amy Murphy 8 February 00 Computer Systems (CSC/56) Read before beginning: Please write clearly. Illegible answers cannot be graded. Be sure to identify all

More information

AI for Games Movement Behaviors

AI for Games Movement Behaviors DM842 Computer Game Programming: AI Lecture 1 AI for Games Movement Behaviors Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Seeking Wandering

More information

Introduction to Data Mining

Introduction to Data Mining Introduction to Data Mining Lecture #14: Clustering Seoul National University 1 In This Lecture Learn the motivation, applications, and goal of clustering Understand the basic methods of clustering (bottom-up

More information

Yokogawa Controller Driver PTC Inc. All Rights Reserved.

Yokogawa Controller Driver PTC Inc. All Rights Reserved. 2017 PTC Inc. All Rights Reserved. 2 Table of Contents Yokogawa Controller Driver 1 Table of Contents 2 Yokogawa Controller Driver 8 Overview 8 Setup 8 Channel Properties General 10 Channel Properties

More information

To Do. Advanced Computer Graphics. The Story So Far. Course Outline. Rendering (Creating, shading images from geometry, lighting, materials)

To Do. Advanced Computer Graphics. The Story So Far. Course Outline. Rendering (Creating, shading images from geometry, lighting, materials) Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 16 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir To Do Assignment 3 milestone due May 29 Should already be well on way Contact us for difficulties

More information

Block Size Tradeoff (1/3) Benefits of Larger Block Size. Lecture #22 Caches II Block Size Tradeoff (3/3) Block Size Tradeoff (2/3)

Block Size Tradeoff (1/3) Benefits of Larger Block Size. Lecture #22 Caches II Block Size Tradeoff (3/3) Block Size Tradeoff (2/3) CS61C L22 Caches II (1) inst.eecs.berkeley.edu/~cs61c CS61C Machine Structures CPS today! Lecture #22 Caches II 25-11-16 There is one handout today at the front and back of the room! Lecturer PSOE, new

More information

Course Outline. Advanced Computer Graphics. Animation. The Story So Far. Animation. To Do

Course Outline. Advanced Computer Graphics. Animation. The Story So Far. Animation. To Do Advanced Computer Graphics CSE 163 [Spring 2017], Lecture 18 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir 3D Graphics Pipeline Modeling (Creating 3D Geometry) Course Outline Rendering (Creating, shading

More information

Sensor Modalities. Sensor modality: Different modalities:

Sensor Modalities. Sensor modality: Different modalities: Sensor Modalities Sensor modality: Sensors which measure same form of energy and process it in similar ways Modality refers to the raw input used by the sensors Different modalities: Sound Pressure Temperature

More information

Part 11: Collaborative Filtering. Francesco Ricci

Part 11: Collaborative Filtering. Francesco Ricci Part : Collaborative Filtering Francesco Ricci Content An example of a Collaborative Filtering system: MovieLens The collaborative filtering method n Similarity of users n Methods for building the rating

More information

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations

CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations CrowdMixer: Multiple Agent Types in Situation-Based Crowd Simulations Shannon Blyth and Howard J. Hamilton Department of Computer Science University of Regina, Regina, SK, Canada S4S 0A2 {blyth1sh, hamilton}@cs.uregina.ca

More information

Principles of Computer Game Design and Implementation. Lecture 13

Principles of Computer Game Design and Implementation. Lecture 13 Principles of Computer Game Design and Implementation Lecture 13 We already knew Collision detection overlap test and intersection test Detailed view Mid-level view 2 Outline for today High-level view

More information

Mudd Adventure. A 3D Raycasting Game. CSEE 4840 Embedded Systems. Project Design 3/27/2014

Mudd Adventure. A 3D Raycasting Game. CSEE 4840 Embedded Systems. Project Design 3/27/2014 Mudd Adventure A 3D Raycasting Game CSEE 4840 Embedded Systems Project Design 3/27/2014 Mingrui Xu(mx2151) Wei Cao (wc2467) Bowen Dang (bd2384) Shijie Hu (sh3251) Table of Contents Introduction... 3 Hardware...

More information

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions

Class Overview. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 2. Problem Solving Agents. Problem Solving Agents: Assumptions Class Overview COMP 3501 / COMP 4704-4 Lecture 2 Prof. JGH 318 Problem Solving Agents Problem Solving Agents: Assumptions Requires a goal Assume world is: Requires actions Observable What actions? Discrete

More information

Experiencing MIS, 6e (Kroenke) Chapter 2 Business Processes, Information Systems, and Information

Experiencing MIS, 6e (Kroenke) Chapter 2 Business Processes, Information Systems, and Information Experiencing MIS, 6e (Kroenke) Chapter 2 Business Processes, Information Systems, and Information 1) Members of a team in a company need to understand business processes since they need to evaluate new

More information