Character AI: Sensing & Perception

Size: px
Start display at page:

Download "Character AI: Sensing & Perception"

Transcription

1 Lecture 21 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

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 Combine values from subsets Only for some aggregates avg = 8 (16,2) avg = 6 (12,2) avg = 8 (16,2) avg = 6 (12,2) 7

8 Aggregation Idea taken from databases Unordered set of information Combine into single value Used in statistical analysis Examples: sum, avg, mode avg = 8 (16,2) avg = 6 (12,2) avg = 7 (28,4) 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 = 7 (28,4) 8

9 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) 9

10 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) 10

11 AI and Aggregation Trees Slide courtesy of Dave Mark Number of Allies Strength of Allies Number of Enemies Strength of Enemies Proximity to Base My Health Proximity to Leader 11

12 AI and Aggregation Trees Slide courtesy of Dave Mark Number of Allies Strength of Allies Number of Enemies Strength of Enemies Allied Strength Enemy Strength Proximity to Base My Health Proximity to Leader 12

13 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 13

14 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 14

15 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 15

16 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 % 16

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

18 Related Approach: Tactical Managers Invisible NPC Assigned to NPC Group Performs all thinking Tactical Manager NPCs just follow orders Applications Protecting special units Flanking NPC NPC NPC NPC Covering fire Leapfrogging advance 18 Thinking and Acting

19 Protecting Special Units Slide courtesy of Dave Mark 19 Thinking and Acting

20 Protecting Special Units Slide courtesy of Dave Mark 20 Thinking and Acting

21 Protecting Special Units Slide courtesy of Dave Mark 21 Thinking and Acting

22 Protecting Special Units Slide courtesy of Dave Mark 22 Thinking and Acting

23 Protecting Special Units Slide courtesy of Dave Mark 23 Thinking and Acting

24 Protecting Special Units Slide courtesy of Dave Mark 24 Thinking and Acting

25 Protecting Special Units Slide courtesy of Dave Mark 25 Thinking and Acting

26 Protecting Special Units Slide courtesy of Dave Mark 26 Thinking and Acting

27 Protecting Special Units Slide courtesy of Dave Mark 27 Thinking and Acting

28 Performance: Loop Inversion Normal Sensing Inverted Sensing sound1 NPC Loop Sense Loop sound2 sight1 sight1 Loop over all NPCs Check what NPC senses Loop over sensations Send se to each NPC 28

29 Performance: Loop Inversion Normal Sensing Inverted Sensing sound1 NPC Loop Sense Loop sound2 sight1 sight1 Loop over all NPCs Check what NPC senses Loop over sensations Send se to each NPC 29

30 Sense Events Event: encoded sense data Tagged with sense type Pre-aggregated Information self-contained O(n) data is aggregated O(1) to combine w/ NPC Sensing is event matching Each event has a type NPCs register for a type Send NPC registered events Check if event is relevant 30

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

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

33 Event Handling in LibGDX MessageDispatcher Send with dispatchmessage delay (0 if immediate) sender (can be null) target (null for subscribers) type (user defined int code) data (object, like Box2D) Subscribe with addlistener NPC to receive message Type (int) to subscribe to Telegram Stores event message Entries of dispatchmessage Except for delay value Preaggregated sense in data Received by Telegraph Interface for receiver Implemented by NPC One method: handlemessage 33

34 Event Handling in LibGDX MessageDispatcher Send with dispatchmessage delay (0 if immediate) sender (can be null) target (null for subscribers) type (user defined int code) data (object, like Box2D) Subscribe with addlistener NPC to receive message Type (int) to subscribe to Telegram Stores event message Entries of dispatchmessage Except for delay value Preaggregated sense in data Received by Telegraph Interface for receiver Implemented by NPC One method: handlemessage 34

35 Recall: S-T-A Architecture Actor1 Controller Actor2 Controller Compute Sensing GameState Actor1 Actor2 35 Thinking and Acting

36 Recall: S-T-A Architecture Actor1 Controller Actor2 Controller Compute Sensing GameState Actor1 Actor2 36 Thinking and Acting

37 Recall: S-T-A Architecture Actor1 Controller Actor2 Controller Compute Thinking GameState Actor1 Actor2 37 Thinking and Acting

38 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 38

39 Case Study: Thief Series 39

40 40

41 Line-of-Sight in Thief Long Distance Focused View Peripheral Vision Short Distance 41

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

43 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 43

44 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 44

45 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 45

46 Custom Data in Events Lightweight Heavyweight Memory Target Memory Target ThiefExposed Reference to target ThiefExposed Copy of target 46

47 Custom Data in Events Lightweight Advantages Fast to create event No additional memory Disadvantages Must be used immediately Lost over frame boundary Ideal for fast decisions Heavyweight Advantages Can persist past frame Can retain as memory Disadvantages Must allocate memory Object ownership is tricky Ideal for communication 47

48 Communicating Senses 48

49 Communicating Senses First Hand LOS Sight & Sound 49

50 Communicating Senses First Hand LOS Sight & Sound First Hand LOS Sight & Sound 50

51 Communicating Senses First Hand LOS Sight & Sound First Hand LOS Sight & Sound Second Hand Sight & Sound 51

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

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

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

55 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 55

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

57 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 57

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

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

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

61 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 61 Sense Links

62 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 62

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior

the gamedesigninitiative at cornell university Lecture 20 Optimizing Behavior Lecture 20 2 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

More information

the gamedesigninitiative at cornell university Lecture 10 Game Architecture

the gamedesigninitiative at cornell university Lecture 10 Game Architecture Lecture 10 2110-Level Apps are Event Driven Generates event e and n calls method(e) on listener Registers itself as a listener @105dc method(event) Listener JFrame Listener Application 2 Limitations of

More information

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

the gamedesigninitiative at cornell university Lecture 23 Strategic AI Lecture 23 Role of AI in Games Autonomous Characters (NPCs) Mimics personality of character May be opponent or support character Strategic Opponents AI at player level Closest to classical AI Character

More information

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Grading Delays We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Due next week: warmup2 retries dungeon_crawler1 extra retries

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline Common Practices Artificial

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Common Practices Artificial Intelligence Claypool and Lindeman,

More information

Adjustable Group Behavior of Agents in Action-based Games

Adjustable Group Behavior of Agents in Action-based Games Adjustable Group Behavior of Agents in Action-d Games Westphal, Keith and Mclaughlan, Brian Kwestp2@uafortsmith.edu, brian.mclaughlan@uafs.edu Department of Computer and Information Sciences University

More information

Raven: An Overview 12/2/14. Raven Game. New Techniques in Raven. Familiar Techniques in Raven

Raven: An Overview 12/2/14. Raven Game. New Techniques in Raven. Familiar Techniques in Raven Raven Game Raven: An Overview Artificial Intelligence for Interactive Media and Games Professor Charles Rich Computer Science Department rich@wpi.edu Quake-style death match player and opponents ( bots

More information

An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game

An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game An Approach to Maze Generation AI, and Pathfinding in a Simple Horror Game Matthew Cooke and Aaron Uthayagumaran McGill University I. Introduction We set out to create a game that utilized many fundamental

More information

Principles of Computer Game Design and Implementation. Lecture 20

Principles of Computer Game Design and Implementation. Lecture 20 Principles of Computer Game Design and Implementation Lecture 20 utline for today Sense-Think-Act Cycle: Thinking Acting 2 Agents and Virtual Player Agents, no virtual player Shooters, racing, Virtual

More information

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Contents Decision making Search and Optimization Decision Trees State Machines Motivating Question How can we program rules

More information

Lecture 3: Wireless Physical Layer: Modulation Techniques. Mythili Vutukuru CS 653 Spring 2014 Jan 13, Monday

Lecture 3: Wireless Physical Layer: Modulation Techniques. Mythili Vutukuru CS 653 Spring 2014 Jan 13, Monday Lecture 3: Wireless Physical Layer: Modulation Techniques Mythili Vutukuru CS 653 Spring 2014 Jan 13, Monday Modulation We saw a simple example of amplitude modulation in the last lecture Modulation how

More information

CORC 3303 Exploring Robotics. Why Teams?

CORC 3303 Exploring Robotics. Why Teams? Exploring Robotics Lecture F Robot Teams Topics: 1) Teamwork and Its Challenges 2) Coordination, Communication and Control 3) RoboCup Why Teams? It takes two (or more) Such as cooperative transportation:

More information

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software lars@valvesoftware.com For the behavior of computer controlled characters to become more sophisticated, efficient algorithms are

More information

Multipath fading effects on short range indoor RF links. White paper

Multipath fading effects on short range indoor RF links. White paper ALCIOM 5, Parvis Robert Schuman 92370 CHAVILLE - FRANCE Tel/Fax : 01 47 09 30 51 contact@alciom.com www.alciom.com Project : Multipath fading effects on short range indoor RF links DOCUMENT : REFERENCE

More information

the gamedesigninitiative at cornell university Lecture 13 Data-Driven Design

the gamedesigninitiative at cornell university Lecture 13 Data-Driven Design Lecture 13 Data-Driven Design Take-Away for Today What is data-driven design? How do programmers use it? How to designers/artists/musicians use it? What are benefits of data-driven design? To both developer

More information

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats

Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings. Amos Gellert, Nataly Kats Mr. Amos Gellert Technological aspects of level crossing facilities Israel Railways No Fault Liability Renewal The Implementation of New Technological Safety Devices at Level Crossings Deputy General Manager

More information

NPC Awareness in a 2D Stealth Platformer

NPC Awareness in a 2D Stealth Platformer 32 How to Catch a Ninja NPC Awareness in a 2D Stealth Platformer Brook Miles 32.1 Introduction 32.2 From Shank to Ninja Noticing Things Other Than Your Target 32.3 Senses 32.4 Definition of Interest Sources

More information

2.1. General Purpose Run Length Encoding Relative Encoding Tokanization or Pattern Substitution

2.1. General Purpose Run Length Encoding Relative Encoding Tokanization or Pattern Substitution 2.1. General Purpose There are many popular general purpose lossless compression techniques, that can be applied to any type of data. 2.1.1. Run Length Encoding Run Length Encoding is a compression technique

More information

the gamedesigninitiative at cornell university Lecture 14 Data-Driven Design

the gamedesigninitiative at cornell university Lecture 14 Data-Driven Design Lecture 14 Data-Driven Design Take-Away for Today What is data-driven design? How do programmers use it? How to designers/artists/musicians use it? What are benefits of data-driven design? To both developer

More information

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS Eva Cipi, PhD in Computer Engineering University of Vlora, Albania Abstract This paper is focused on presenting

More information

CSCI 445 Laurent Itti. Group Robotics. Introduction to Robotics L. Itti & M. J. Mataric 1

CSCI 445 Laurent Itti. Group Robotics. Introduction to Robotics L. Itti & M. J. Mataric 1 Introduction to Robotics CSCI 445 Laurent Itti Group Robotics Introduction to Robotics L. Itti & M. J. Mataric 1 Today s Lecture Outline Defining group behavior Why group behavior is useful Why group behavior

More information

Lecture 13 Register Allocation: Coalescing

Lecture 13 Register Allocation: Coalescing Lecture 13 Register llocation: Coalescing I. Motivation II. Coalescing Overview III. lgorithms: Simple & Safe lgorithm riggs lgorithm George s lgorithm Phillip. Gibbons 15-745: Register Coalescing 1 Review:

More information

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS

Game Architecture. Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1 st edition CS 4455 1 Game Architecture The code for modern games is highly complex Code bases

More information

Artificial Intelligence for Games

Artificial Intelligence for Games Artificial Intelligence for Games CSC404: Video Game Design Elias Adum Let s talk about AI Artificial Intelligence AI is the field of creating intelligent behaviour in machines. Intelligence understood

More information

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón CS 480: GAME AI TACTIC AND STRATEGY 5/15/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

More information

Game AI CS CS 4730 Computer Game Design. Some slides courtesy Tiffany Barnes, NCSU

Game AI CS CS 4730 Computer Game Design. Some slides courtesy Tiffany Barnes, NCSU Game AI Computer Game Design Some slides courtesy Tiffany Barnes, NCSU The Loop of Life Games are driven by a game loop that performs a series of tasks every frame Some games have separate loops for the

More information

Multi-Robot Coordination. Chapter 11

Multi-Robot Coordination. Chapter 11 Multi-Robot Coordination Chapter 11 Objectives To understand some of the problems being studied with multiple robots To understand the challenges involved with coordinating robots To investigate a simple

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading ECE 476/ECE 501C/CS 513 - Wireless Communication Systems Winter 2005 Lecture 6: Fading Last lecture: Large scale propagation properties of wireless systems - slowly varying properties that depend primarily

More information

Game Programming Paradigms. Michael Chung

Game Programming Paradigms. Michael Chung Game Programming Paradigms Michael Chung CS248, 10 years ago... Goals Goals 1. High level tips for your project s game architecture Goals 1. High level tips for your project s game architecture 2.

More information

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading ECE 476/ECE 501C/CS 513 - Wireless Communication Systems Winter 2004 Lecture 6: Fading Last lecture: Large scale propagation properties of wireless systems - slowly varying properties that depend primarily

More information

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories AI in Computer Games why, where and how AI in Computer Games Goals Game categories History Common issues and methods Issues in various game categories Goals Games are entertainment! Important that things

More information

Data and Computer Communications. Chapter 10 Cellular Wireless Networks

Data and Computer Communications. Chapter 10 Cellular Wireless Networks Data and Computer Communications Chapter 10 Cellular Wireless Networks Cellular Wireless Networks 5 PSTN Switch Mobile Telecomm Switching Office (MTSO) 3 4 2 1 Base Station 0 2016-08-30 2 Cellular Wireless

More information

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?)

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?) Who am I? AI in Computer Games why, where and how Lecturer at Uppsala University, Dept. of information technology AI, machine learning and natural computation Gamer since 1980 Olle Gällmo AI in Computer

More information

CS 387/680: GAME AI TACTIC AND STRATEGY

CS 387/680: GAME AI TACTIC AND STRATEGY CS 387/680: GAME AI TACTIC AND STRATEGY 5/12/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

the gamedesigninitiative at cornell university Lecture 4 Game Components

the gamedesigninitiative at cornell university Lecture 4 Game Components Lecture 4 Game Components Lecture 4 Game Components So You Want to Make a Game? Will assume you have a design document Focus of next week and a half Building off ideas of previous lecture But now you want

More information

When it comes to generic 25mm Science Fiction skirmish games, there are really only two choices.

When it comes to generic 25mm Science Fiction skirmish games, there are really only two choices. 1 of 6 When it comes to generic 25mm Science Fiction skirmish games, there are really only two choices. Stargrunt II, which is a gritty, realistic simulation of near-future combat. And ShockForce, which

More information

CS 262 Lecture 01: Digital Images and Video. John Magee Some material copyright Jones and Bartlett

CS 262 Lecture 01: Digital Images and Video. John Magee Some material copyright Jones and Bartlett CS 262 Lecture 01: Digital Images and Video John Magee Some material copyright Jones and Bartlett 1 Overview/Questions What is digital information? What is color? How do pictures get encoded into binary

More information

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón

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

More information

PlaneShift Project. Architecture Overview and Roadmap. Copyright 2005 Atomic Blue

PlaneShift Project. Architecture Overview and Roadmap. Copyright 2005 Atomic Blue PlaneShift Project Architecture Overview and Roadmap Objectives Introduce overall structure of PS Explain certain design decisions Equip you to modify and add to engine consistent with existing structure

More information

the gamedesigninitiative at cornell university Lecture 8 Prototyping

the gamedesigninitiative at cornell university Lecture 8 Prototyping Lecture 8 What is a Prototype? An incomplete model of your product Implements small subset of final features Features chosen are most important now Prototype helps you visualize gameplay Way for you to

More information

Mobile & Wireless Networking. Lecture 4: Cellular Concepts & Dealing with Mobility. [Reader, Part 3 & 4]

Mobile & Wireless Networking. Lecture 4: Cellular Concepts & Dealing with Mobility. [Reader, Part 3 & 4] 192620010 Mobile & Wireless Networking Lecture 4: Cellular Concepts & Dealing with Mobility [Reader, Part 3 & 4] Geert Heijenk Outline of Lecture 4 Cellular Concepts q Introduction q Cell layout q Interference

More information

Suspending Disbelief: Bringing Your Characters to Life With Better AI. Steve Gargolinski Phil Carlisle Michael Mateas

Suspending Disbelief: Bringing Your Characters to Life With Better AI. Steve Gargolinski Phil Carlisle Michael Mateas Suspending Disbelief: Bringing Your Characters to Life With Better AI Steve Gargolinski Phil Carlisle Michael Mateas Two Sides of Character AI Representation Traditional AI Computer Science Communication

More information

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N Basic AI Techniques for NPC Behaviours: FSTN Finite-State Transition Networks A 1 a 3 2 B d 3 b D Action State 1 C Percept Transition Team Buddies (SCEE) Introduction Behaviours characterise the possible

More information

Swarm AI: A Solution to Soccer

Swarm AI: A Solution to Soccer Swarm AI: A Solution to Soccer Alex Kutsenok Advisor: Michael Wollowski Senior Thesis Rose-Hulman Institute of Technology Department of Computer Science and Software Engineering May 10th, 2004 Definition

More information

Sensor network: storage and query. Overview. TAG Introduction. Overview. Device Capabilities

Sensor network: storage and query. Overview. TAG Introduction. Overview. Device Capabilities Sensor network: storage and query TAG: A Tiny Aggregation Service for Ad- Hoc Sensor Networks Samuel Madden UC Berkeley with Michael Franklin, Joseph Hellerstein, and Wei Hong Z. Morley Mao, Winter Slides

More information

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS 4/28/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server

A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server Youngsik Kim * * Department of Game and Multimedia Engineering, Korea Polytechnic University, Republic

More information

E190Q Lecture 15 Autonomous Robot Navigation

E190Q Lecture 15 Autonomous Robot Navigation E190Q Lecture 15 Autonomous Robot Navigation Instructor: Chris Clark Semester: Spring 2014 1 Figures courtesy of Probabilistic Robotics (Thrun et. Al.) Control Structures Planning Based Control Prior Knowledge

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 01 - Introduction Edirlei Soares de Lima What is Artificial Intelligence? Artificial intelligence is about making computers able to perform the

More information

Privacy engineering, privacy by design, and privacy governance

Privacy engineering, privacy by design, and privacy governance CyLab Lorrie Faith Cranor" Engineering & Public Policy acy & Secur ity Priv e l HT TP ratory bo La 8-533 / 8-733 / 19-608 / 95-818:! Privacy Policy, Law, and Technology CyLab U sab November 17, 2015 ://

More information

VOL. 3, NO.11 Nov, 2012 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved.

VOL. 3, NO.11 Nov, 2012 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved. Effect of Fading Correlation on the Performance of Spatial Multiplexed MIMO systems with circular antennas M. A. Mangoud Department of Electrical and Electronics Engineering, University of Bahrain P. O.

More information

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 3: Cellular Fundamentals

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 3: Cellular Fundamentals ECE 476/ECE 501C/CS 513 - Wireless Communication Systems Winter 2004 Lecture 3: Cellular Fundamentals Chapter 3 - The Cellular Concept - System Design Fundamentals I. Introduction Goals of a Cellular System

More information

Chapter 3 Ahmad Bilal ahmadbilal.webs.com

Chapter 3 Ahmad Bilal ahmadbilal.webs.com Chapter 3 A Quick Recap We learned about cell and reuse factor. We looked at traffic capacity We looked at different Earling Formulas We looked at channel strategies We had a look at Handoff Interference

More information

Project = An Adventure : Wireless Networks. Lecture 4: More Physical Layer. What is an Antenna? Outline. Page 1

Project = An Adventure : Wireless Networks. Lecture 4: More Physical Layer. What is an Antenna? Outline. Page 1 Project = An Adventure 18-759: Wireless Networks Checkpoint 2 Checkpoint 1 Lecture 4: More Physical Layer You are here Done! Peter Steenkiste Departments of Computer Science and Electrical and Computer

More information

Swarm Intelligence W7: Application of Machine- Learning Techniques to Automatic Control Design and Optimization

Swarm Intelligence W7: Application of Machine- Learning Techniques to Automatic Control Design and Optimization Swarm Intelligence W7: Application of Machine- Learning Techniques to Automatic Control Design and Optimization Learning to avoid obstacles Outline Problem encoding using GA and ANN Floreano and Mondada

More information

Moving Path Planning Forward

Moving Path Planning Forward Moving Path Planning Forward Nathan R. Sturtevant Department of Computer Science University of Denver Denver, CO, USA sturtevant@cs.du.edu Abstract. Path planning technologies have rapidly improved over

More information

EEG473 Mobile Communications Module 2 : Week # (6) The Cellular Concept System Design Fundamentals

EEG473 Mobile Communications Module 2 : Week # (6) The Cellular Concept System Design Fundamentals EEG473 Mobile Communications Module 2 : Week # (6) The Cellular Concept System Design Fundamentals Interference and System Capacity Interference is the major limiting factor in the performance of cellular

More information

Simulation Case study

Simulation Case study CSA2181 (Simulation Part ) Simulation A simple distributed architecture for emergency response exercises A simple distributed simulation for support of emergency response exercises. Immersive Synthetic

More information

Advances in Antenna Measurement Instrumentation and Systems

Advances in Antenna Measurement Instrumentation and Systems Advances in Antenna Measurement Instrumentation and Systems Steven R. Nichols, Roger Dygert, David Wayne MI Technologies Suwanee, Georgia, USA Abstract Since the early days of antenna pattern recorders,

More information

Capturing and Adapting Traces for Character Control in Computer Role Playing Games

Capturing and Adapting Traces for Character Control in Computer Role Playing Games Capturing and Adapting Traces for Character Control in Computer Role Playing Games Jonathan Rubin and Ashwin Ram Palo Alto Research Center 3333 Coyote Hill Road, Palo Alto, CA 94304 USA Jonathan.Rubin@parc.com,

More information

What is Artificial Intelligence? Alternate Definitions (Russell + Norvig) Human intelligence

What is Artificial Intelligence? Alternate Definitions (Russell + Norvig) Human intelligence CSE 3401: Intro to Artificial Intelligence & Logic Programming Introduction Required Readings: Russell & Norvig Chapters 1 & 2. Lecture slides adapted from those of Fahiem Bacchus. What is AI? What is

More information

When placed on Towers, Player Marker L-Hexes show ownership of that Tower and indicate the Level of that Tower. At Level 1, orient the L-Hex

When placed on Towers, Player Marker L-Hexes show ownership of that Tower and indicate the Level of that Tower. At Level 1, orient the L-Hex Tower Defense Players: 1-4. Playtime: 60-90 Minutes (approximately 10 minutes per Wave). Recommended Age: 10+ Genre: Turn-based strategy. Resource management. Tile-based. Campaign scenarios. Sandbox mode.

More information

A multi-layer network perspective on systemic risk

A multi-layer network perspective on systemic risk A multi-layer network perspective on systemic risk Frank Schweitzer In collaboration with: R. Burkholz, A. Garas Chair of Systems Design Multi-layer network perspective on systemic risk Introduction www.sg.ethz.ch

More information

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT F. TIECHE, C. FACCHINETTI and H. HUGLI Institute of Microtechnology, University of Neuchâtel, Rue de Tivoli 28, CH-2003

More information

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics

the gamedesigninitiative at cornell university Lecture 5 Rules and Mechanics Lecture 5 Rules and Mechanics Lecture 5 Rules and Mechanics Today s Lecture Reading is from Unit 2 of Rules of Play Available from library as e-book Linked to from lecture page Not required, but excellent

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines 11 A haracter Decision-Making System for FINAL FANTASY XV by ombining Behavior Trees and State Machines Youichiro Miyake, Youji Shirakami, Kazuya Shimokawa, Kousuke Namiki, Tomoki Komatsu, Joudan Tatsuhiro,

More information

Procedural Content Generation

Procedural Content Generation Lecture 14 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

Procedural Content Generation

Procedural Content Generation Lecture 13 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

Design of Parallel Algorithms. Communication Algorithms

Design of Parallel Algorithms. Communication Algorithms + Design of Parallel Algorithms Communication Algorithms + Topic Overview n One-to-All Broadcast and All-to-One Reduction n All-to-All Broadcast and Reduction n All-Reduce and Prefix-Sum Operations n Scatter

More information

AN ARCHITECTURE-BASED MODEL FOR UNDERGROUND SPACE EVACUATION SIMULATION

AN ARCHITECTURE-BASED MODEL FOR UNDERGROUND SPACE EVACUATION SIMULATION AN ARCHITECTURE-BASED MODEL FOR UNDERGROUND SPACE EVACUATION SIMULATION Chengyu Sun Bauke de Vries College of Architecture and Urban Planning Faculty of Architecture, Building and Planning Tongji University

More information

HUFFMAN CODING. Catherine Bénéteau and Patrick J. Van Fleet. SACNAS 2009 Mini Course. University of South Florida and University of St.

HUFFMAN CODING. Catherine Bénéteau and Patrick J. Van Fleet. SACNAS 2009 Mini Course. University of South Florida and University of St. Catherine Bénéteau and Patrick J. Van Fleet University of South Florida and University of St. Thomas SACNAS 2009 Mini Course WEDNESDAY, 14 OCTOBER, 2009 (1:40-3:00) LECTURE 2 SACNAS 2009 1 / 10 All lecture

More information

Coding for Efficiency

Coding for Efficiency Let s suppose that, over some channel, we want to transmit text containing only 4 symbols, a, b, c, and d. Further, let s suppose they have a probability of occurrence in any block of text we send as follows

More information

UUIs Ubiquitous User Interfaces

UUIs Ubiquitous User Interfaces UUIs Ubiquitous User Interfaces Alexander Nelson April 16th, 2018 University of Arkansas - Department of Computer Science and Computer Engineering The Problem As more and more computation is woven into

More information

Balancing automated behavior and human control in multi-agent systems: a case study in Roboflag

Balancing automated behavior and human control in multi-agent systems: a case study in Roboflag Balancing automated behavior and human control in multi-agent systems: a case study in Roboflag Philip Zigoris, Joran Siu, Oliver Wang, and Adam T. Hayes 2 Department of Computer Science Cornell University,

More information

An Introduction to Spectrum Analyzer. An Introduction to Spectrum Analyzer

An Introduction to Spectrum Analyzer. An Introduction to Spectrum Analyzer 1 An Introduction to Spectrum Analyzer 2 Chapter 1. Introduction As a result of rapidly advancement in communication technology, all the mobile technology of applications has significantly and profoundly

More information

Page ENSC387 - Introduction to Electro-Mechanical Sensors and Actuators: Simon Fraser University Engineering Science

Page ENSC387 - Introduction to Electro-Mechanical Sensors and Actuators: Simon Fraser University Engineering Science Motor Driver and Feedback Control: The feedback control system of a dc motor typically consists of a microcontroller, which provides drive commands (rotation and direction) to the driver. The driver is

More information

3/23/2015. Chapter 11 Oscillations and Waves. Contents of Chapter 11. Contents of Chapter Simple Harmonic Motion Spring Oscillations

3/23/2015. Chapter 11 Oscillations and Waves. Contents of Chapter 11. Contents of Chapter Simple Harmonic Motion Spring Oscillations Lecture PowerPoints Chapter 11 Physics: Principles with Applications, 7 th edition Giancoli Chapter 11 and Waves This work is protected by United States copyright laws and is provided solely for the use

More information

The Value of Simulators for CBRN Reconnaissance Vehicle Training whitepaper

The Value of Simulators for CBRN Reconnaissance Vehicle Training whitepaper The Value of Simulators for CBRN Reconnaissance Vehicle Training whitepaper Photo courtesy CBRNS UK The Value of Simulators for CBRN Reconnaissance Vehicle Training A discussion of the options available

More information

SORTS: A Human-Level Approach to Real-Time Strategy AI

SORTS: A Human-Level Approach to Real-Time Strategy AI SORTS: A Human-Level Approach to Real-Time Strategy AI Sam Wintermute, Joseph Xu, and John E. Laird University of Michigan 2260 Hayward St. Ann Arbor, MI 48109-2121 {swinterm, jzxu, laird}@umich.edu Abstract

More information

Presents: Your guide to. Productivity

Presents: Your guide to. Productivity Presents: Your guide to Productivity The problem with productivity? Productivity is a challenge for every business owner. With so many calls on your time how do you prioritise when you should be doing

More information

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS BY SERAFIN BENTO MASTER OF SCIENCE in INFORMATION SYSTEMS Edmonton, Alberta September, 2015 ABSTRACT The popularity of software agents demands for more comprehensive HAI design processes. The outcome of

More information

14:332:231 DIGITAL LOGIC DESIGN. Gate Delays

14:332:231 DIGITAL LOGIC DESIGN. Gate Delays 4:332:23 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering all 23 Lecture #8: Timing Hazards Gate Delays hen the input to a logic gate is changed, the output will not

More information

Blending Autonomy and Control: Creating NPCs for Tom Clancy s The Division

Blending Autonomy and Control: Creating NPCs for Tom Clancy s The Division Blending Autonomy and Control: Creating NPCs for Tom Clancy s The Division Drew Rechner Game Designer @ Massive Entertainment a Ubisoft Studio Philip Dunstan Senior AI Programmer @ Massive Entertainment

More information

PRIORITY QUEUES AND HEAPS. Slides of Ken Birman, Cornell University

PRIORITY QUEUES AND HEAPS. Slides of Ken Birman, Cornell University PRIORITY QUEUES AND HEAPS Slides of Ken Birman, Cornell University The Bag Interface 2 A Bag: interface Bag { void insert(e obj); E extract(); //extract some element boolean isempty(); } Examples: Stack,

More information

Center for Cognitive Architectures University of Michigan 2260 Hayward Ave Ann Arbor, Michigan TECHNICAL REPORT CCA-TR SORTS:

Center for Cognitive Architectures University of Michigan 2260 Hayward Ave Ann Arbor, Michigan TECHNICAL REPORT CCA-TR SORTS: Center for Cognitive Architectures University of Michigan 2260 Hayward Ave Ann Arbor, Michigan 48109-2121 TECHNICAL REPORT CCA-TR-2007-01 SORTS: INTEGRATING SOAR WITH A REAL-TIME STRATEGY GAME Investigators

More information

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 6: Fading ECE 476/ECE 501C/CS 513 - Wireless Communication Systems Winter 2003 Lecture 6: Fading Last lecture: Large scale propagation properties of wireless systems - slowly varying properties that depend primarily

More information

Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1)

Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1) Computer Graphics (CS/ECE 545) Lecture 7: Morphology (Part 2) & Regions in Binary Images (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Dilation Example

More information

WI-LAN Inc. v. Alcatel-Lucent USA Inc. et al Doc. 182 Att. 2 EXHIBIT I. Dockets.Justia.com

WI-LAN Inc. v. Alcatel-Lucent USA Inc. et al Doc. 182 Att. 2 EXHIBIT I. Dockets.Justia.com WI-LAN Inc. v. Alcatel-Lucent USA Inc. et al Doc. 182 Att. 2 EXHIBIT I Dockets.Justia.com WIL-192825 United States Patent [19] Uola 111111111111111111111111111111111111111111111111111111111111111111111111111

More information

Chemistry Instrumental Analysis Lecture 10. Chem 4631

Chemistry Instrumental Analysis Lecture 10. Chem 4631 Chemistry 4631 Instrumental Analysis Lecture 10 Types of Instrumentation Single beam Double beam in space Double beam in time Multichannel Speciality Types of Instrumentation Single beam Requires stable

More information

Dynamic Strategic Planning, MIT. Overview

Dynamic Strategic Planning, MIT. Overview Dynamic Strategic Planning Overview Massachusetts Institute of Technology Overview Slide 1 of 12 Organization of Lectures INTRODUCTION PHASE 1: Recognition of Risk and Complexity Reality PHASE 2: Analysis

More information

PRIORITY QUEUES AND HEAPS. Lecture 19 CS2110 Spring 2014

PRIORITY QUEUES AND HEAPS. Lecture 19 CS2110 Spring 2014 1 PRIORITY QUEUES AND HEAPS Lecture 19 CS2110 Spring 2014 Readings and Homework 2 Read Chapter 2 to learn about heaps Salespeople often make matrices that show all the great features of their product that

More information

Intelligent Agents & Search Problem Formulation. AIMA, Chapters 2,

Intelligent Agents & Search Problem Formulation. AIMA, Chapters 2, Intelligent Agents & Search Problem Formulation AIMA, Chapters 2, 3.1-3.2 Outline for today s lecture Intelligent Agents (AIMA 2.1-2) Task Environments Formulating Search Problems CIS 421/521 - Intro to

More information

OFDMA and MIMO Notes

OFDMA and MIMO Notes OFDMA and MIMO Notes EE 442 Spring Semester Lecture 14 Orthogonal Frequency Division Multiplexing (OFDM) is a digital multi-carrier modulation technique extending the concept of single subcarrier modulation

More information

Image Processing for Mechatronics Engineering For senior undergraduate students Academic Year 2017/2018, Winter Semester

Image Processing for Mechatronics Engineering For senior undergraduate students Academic Year 2017/2018, Winter Semester Image Processing for Mechatronics Engineering For senior undergraduate students Academic Year 2017/2018, Winter Semester Lecture 8: Color Image Processing 04.11.2017 Dr. Mohammed Abdel-Megeed Salem Media

More information

Deblurring. Basics, Problem definition and variants

Deblurring. Basics, Problem definition and variants Deblurring Basics, Problem definition and variants Kinds of blur Hand-shake Defocus Credit: Kenneth Josephson Motion Credit: Kenneth Josephson Kinds of blur Spatially invariant vs. Spatially varying

More information

FPGA-capella: A Real-Time Audio FX Unit

FPGA-capella: A Real-Time Audio FX Unit FPGA-capella: A Real-Time Audio FX Unit Cosma Kufa, Justin Xiao November 4, 2015 1 Introduction In live music performance, it is often desirable to apply effects to the source sound, such as delay and

More information