Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2.

Slides:



Advertisements
Similar presentations
Information Processing Technology Office Learning Workshop April 12, 2004 Seedling Overview Learning Hierarchical Reactive Skills from Reasoning and Experience.
Advertisements

FT228/4 Knowledge Based Decision Support Systems Knowledge Engineering Ref: Artificial Intelligence A Guide to Intelligent Systems, Michael Negnevitsky.
Artificial Intelligence
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Software Process Models
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Machine Learning in Computer Games Learning in Computer Games By: Marc Ponsen.
Ai in game programming it university of copenhagen Reinforcement Learning [Outro] Marco Loog.
1 Reinforcement Learning Introduction & Passive Learning Alan Fern * Based in part on slides by Daniel Weld.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
An Introduction to Machine Learning In the area of AI (earlier) machine learning took a back seat to Expert Systems Expert system development usually consists.
Design and Evaluation of Iterative Systems n For most interactive systems, the ‘design it right first’ approach is not useful. n The 3 basic steps in the.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Principles and Methods
Robotics for Intelligent Environments
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
McGraw-Hill/Irwin ©2005 The McGraw-Hill Companies, All rights reserved ©2005 The McGraw-Hill Companies, All rights reserved McGraw-Hill/Irwin.
Course Instructor: Aisha Azeem
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
Sepandar Sepehr McMaster University November 2008
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
INTEGRATION OF ARTIFICIAL INTELLIGENCE [AI] SYSTEMS FOR NUCLEAR POWER PLANT SURVEILLANCE & DIAGNOSTICS.
S/W Project Management
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Artificial Intelligence in Game Design Problems and Goals.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Business Analysis and Essential Competencies
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Neural Networks AI – Week 23 Sub-symbolic AI Multi-Layer Neural Networks Lee McCluskey, room 3/10
Introduction to AI Engine & Common Used AI Techniques Created by: Abdelrahman Al-Ogail Under Supervision of: Dr. Ibrahim Fathy.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
1 CSC 8520 Spring Paula Matuszek Kinds of Machine Learning Machine learning techniques can be grouped into several categories, in several ways: –What.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
Formal Methods in Software Engineering
I Robot.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 Implementing Business/IT Solutions.
Artificial intelligence
Introduction to Software Development (Software Engineering - I)
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
A Roadmap towards Machine Intelligence
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Copyright Paula Matuszek Kinds of Machine Learning.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
RULES Patty Nordstrom Hien Nguyen. "Cognitive Skills are Realized by Production Rules"
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Network Management Lecture 13. MACHINE LEARNING TECHNIQUES 2 Dr. Atiq Ahmed Université de Balouchistan.
A Presentation on Adaptive Neuro-Fuzzy Inference System using Particle Swarm Optimization and it’s Application By Sumanta Kundu (En.R.No.
The Game Development Process: Artificial Intelligence.
Introduction to Machine Learning, its potential usage in network area,
CHAPTER 1 Introduction BIC 3337 EXPERT SYSTEM.
Done Done Course Overview What is AI? What are the Major Challenges?
CIS 488/588 Bruce R. Maxim UM-Dearborn
Teaching with Instructional Software
Analysis and Understanding
Introduction Artificial Intelligent.
Announcements Homework 3 due today (grace period through Friday)
Designing Intelligence
CIS 488/588 Bruce R. Maxim UM-Dearborn
Interaction with artificial intelligence in games
Skill Acquisition.
Presentation transcript:

Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2

2 Useful Game AI - 1 Perception Ability of NPC to detect what is happening in the game world (near or far away) Enemies, goals, collisions, and damage should be processed in a believable way Action Behaviors chosen by NPC without any apparent inputs Often determined by scripts or rules

3 Useful Game AI - 2 Reaction Behaviors triggered by game world related stimuli (usually the player ’ s actions) Learning Could be simply recording previous information (what worked and what did not) Is better if some generalization takes place (and NPC ’ s share some knowledge of player over time)

4 Opponents Any entity that tries to prevent player from achieving goals Opponent ’ s capabilities need to match player expectations and abilities ramp up as game progresses Perfect (cheatbots) opponents discourage good game play

5 Opponent Types Action opponents Should have classes of behaviors that can be easily identified by players (e.g. guards) Sports Opponents Should approximate player skills (e.g. reaction times, accuracy, tactical decision making) Board Game Opponents Often Mini-max search and book move libraries (handicap AI by reducing look ahead)

6 Allies NPC ’ s that work with player Concerns Recognition (opponents vs allies) Communication (allowing allies and player to share understanding of game information) Following/chasing behaviors (when to follow and when to act on their own) Party or squad behavior (groups that share abilities to support the player ’ s lead)

7 Traditional Approach In-game agents simulated as part of the game logic with 2D positions updated each clock tick (very slow) AI code can be separated from the game logic if the game agent has access to game state data as needed Agile development processes are used to build user interface and game logic from scratch incrementally Game AI requires lots of experimentation to get working right as increments evolve

8 Traditional Agents AI viewed as code fragment that manipulates data Single CPU controls all information processing and executes actions on behalf of the agents Agents are able to solve some problems for the player by not requiring micromanagement of all game objects

9 Traditional Guidelines Cut corners whenever possible to save development time without sacrificing efficiency Requiring both realism and efficiency argues for weak AI techniques

10 Traditional Weaknesses Dangerous to let AI access game information directly if changes are allowed Manually programming all AI behaviors is tedious and causes exponential growth in development times This approach scales up very poorly and fails to transfer examples well from one domain to another

11 Modern Approach CPU is not needed to deliberate every move for every object System behavior is distributed to reactive objects in the game environment Full systems are built incrementally by testing each set of new components as they come on line

12 Animats Animats are embodied systems situated in realistic environments as robots or NPC ’ s Animats simulate reactive creatures accurately meaning fewer aspects need to be faked Allow more complete separation of AI from game logic and simulation

13 Animat Benefits Interaction with environment is formalized to that is can be optimized using the best information sharing technique Learning techniques minimize processing power use to perform a particular behavior Can provide improvements in efficiency of the design and development pipeline

14 Embodiment An embodied agent is a living creature subject to the constraints of its environment The environmental constraints restrict the AI to the subset of actions plausible with the laws governing the simulation A standard agent can change its position to reach any reachable point in space An embodied agent will need to deal with obstacles since it does not have the ability to update its position directly (some trial and error is involved)

15 Formal Interfaces Provide hooks to agents using the game engine Allow agents to reside on different servers than the game engine Let engineers decide on the best mechanism to communicate data to the AI (messages, callbacks, abstract function calls, shared variables)

16 Performance Advantages of Formal Interfaces Lazy evaluation (information gathered only as needed) Event-driven (AI does not need to poll for data it is notified) Function in-lining (interfaces can be factored out by the compiler if needed) Custom optimizations (can be used to speed up queries) Batching (queries can be queued for later processing)

17 Learning Acquisition of new knowledge and abilities Motivation: Optimization (solving known puzzles off-line to allow for better game performance) Adaptation (continuously updating state knowledge on-line to deal with different playing styles during the game)

18 Learning Technology Supervised learning (algorithms presented with examples expected to generalize patterns) Reinforcement learning (feedback takes the form of a numeric reward following particular behaviors reward adapts policy over time) Evolutionary approaches (numeric rewards given for sequences of actions) Unsupervised learning (design provides performance metric rather than direct training)

19 Teaching Teaching (humans provide set of examples to help animat adjust its behavior) Imitation (animat copies behavior of another player) Shaping (animat completes sequence of successively more complex tasks) Trial and error (animat placed in environment and lets it try all actions on its own)

20 AI Development Process

21 AI Development Process - 1 Informal phases Analysis phase describes how existing design and platform affect general task Understanding phase provides precise definition of the problem and testing criteria Formal phases Specification phase defines the interfaces between the AI and the game engine Research phase investigates existing AI techniques and expresses theory operationally

22 AI Development Process - 2 Programming phases Development phase implements AI theory as a convenient AI module Application phase take problem definition and framework and uses AI module to solve problem Testing phases Experimentation phase uses testing to assess the current prototype focusing on tough cases Testing phase presents thorough series of evaluations using test case likely to be successful

23 AI Development Process - 3 Postproduction phase Optimization phase attempts to make actual implementation lean and mean The final product of this process is a single behavior The process is repeated for each new behavior The number of iterations can be reduced using a clever AI architectural design