Player Modeling Chris Janneck 11/15/04. Overview Player Modeling for Adaptive Games –By Ryan Houlette –About the author The point of modeling –Regarding.

Slides:



Advertisements
Similar presentations
Artificial Intelligence 12. Two Layer ANNs
Advertisements

Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
Heuristic Search techniques
7.1. O SCARS & A RTIFICIAL I NTELLIGENCE Interim awards and introduction to game AI.
Adversarial Search We have experience in search where we assume that we are the only intelligent being and we have explicit control over the “world”. Lets.
RL for Large State Spaces: Value Function Approximation
Problem Solving by Searching Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 3 Spring 2007.
Fast Algorithms For Hierarchical Range Histogram Constructions
The State of the Art in Distributed Query Processing by Donald Kossmann Presented by Chris Gianfrancesco.
Intelligent Agents Russell and Norvig: 2
Machine Learning in Computer Games Learning in Computer Games By: Marc Ponsen.
Class Project Due at end of finals week Essentially anything you want, so long as it’s AI related and I approve Any programming language you want In pairs.
An Alternative Approach for Playing Complex Games like Chess. 1Alternative Game Playing Approach Jan Lemeire May 19 th 2008.
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Artificial Intelligence in Game Design Introduction to Learning.
Ai in game programming it university of copenhagen Statistical Learning Methods Marco Loog.
Planning under Uncertainty
Joost Westra, Frank Dignum,Virginia Dignum Scalable Adaptive Serious Games using Agent Organizations.
CSE 471/598, CBS 598 Intelligent Agents TIP We’re intelligent agents, aren’t we? Fall 2004.
Iterators T.J. Niglio Computer & Systems Engineering Fall 2003 Software Design & Documentation Object Behavioral.
Game Playing CSC361 AI CSC361: Game Playing.
And Just Games etc.. EVOLUTION OF COMPUTER GAMES PongOdyssey Beginning of the use of microprocessors ATARI VCS system bit.
CSE 471/598 Intelligent Agents TIP We’re intelligent agents, aren’t we? Spring 2004.
CS 282 Simulation Physics Lecture 1: Introduction to Rigid-Body Simulation 1 September 2011 Instructor: Kostas Bekris Computer Science & Engineering, University.
Neural Networks Slides by Megan Vasta. Neural Networks Biological approach to AI Developed in 1943 Comprised of one or more layers of neurons Several.
Data Mining and Decision Tree CS157B Spring 2006 Masumi Shimoda.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Challenge the future Delft University of Technology Digital testing: What do students think of it? E-merge, November 2014 Ir. Meta Keijzer-de.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Social Networking and On-Line Communities: Classification and Research Trends Maria Ioannidou, Eugenia Raptotasiou, Ioannis Anagnostopoulos.
1.Knowledge management 2.Online analytical processing 3. 4.Supply chain management 5.Data mining Which of the following is not a major application.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
An Introduction to MBT  what, why and when 张 坚
Artificial Intelligence in Game Design Lecture 22: Heuristics and Other Ideas in Board Games.
Artificial Intelligence in Game Design Behavior Trees.
Starcraft Opponent Modeling CSE 391: Intro to AI Luciano Cheng.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
Bell Work Write the answers on the left hand side of your IAN
Minimax with Alpha Beta Pruning The minimax algorithm is a way of finding an optimal move in a two player game. Alpha-beta pruning is a way of finding.
AI and Computer Games (informational session) Lecture by: Dustin Dannenhauer Professor Héctor Muñoz-Avila Computer Science and Eng.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Artificial Intelligence in Game Design N-Grams and Decision Tree Learning.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
Chapter 5: Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization DECISION SUPPORT SYSTEMS AND BUSINESS.
Application of AI techniques for Computer Games BSc Computer Games Programming, 2006 Julien Delezenne GAMES ARTIFICIAL INTELLIGENCE.
Learning & User Modeling Presentation By Brigette Swan.
Artificial Intelligence for Games Finite State Machines
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Rational Agency CSMC Introduction to Artificial Intelligence January 8, 2007.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
Rational Agency CSMC Introduction to Artificial Intelligence January 8, 2004.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Artificial Intelligence in Game Design Influence Maps and Decision Making.
CSE 471/598 Intelligent Agents TIP We’re intelligent agents, aren’t we?
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
Adversarial Search 2 (Game Playing)
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
The Utilization of Artificial Intelligence in a Hybrid Intrusion Detection System Authors : Martin Botha, Rossouw von Solms, Kent Perry, Edwin Loubser.
Introduction to Computing Systems and Programming Programming.
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions By Prechelt, Unger, Tichy, Brössler, and Votta Presentation by Chris.
The Game Development Process: Artificial Intelligence.
Artificial Intelligence in Game Design
CSCI1600: Embedded and Real Time Software
EGR 2131 Unit 12 Synchronous Sequential Circuits
CSCI1600: Embedded and Real Time Software
Presentation transcript:

Player Modeling Chris Janneck 11/15/04

Overview Player Modeling for Adaptive Games –By Ryan Houlette –About the author The point of modeling –Regarding AI The simplest model A higher-level model More complex modeling Concerns with modeling and AI

Ryan Houlette Stottler Henke Associates – –Developer of AI systems Intelligent Tutoring, Scheduling, KM, Security, etc. –SimBionic – AI agent toolkit Lead Software Engineer –Co-developer of BrainFrame system AI SDK for entertainment

SimBionic (Include AVI from

BrainFrame (Include Figures 1 and 2 from “Putting AI in Entertainment…”)

The Point of Modeling Why model? –To create a representation of some item or phenomena that can be (more) easily explored, tweaked, observed and tested Where do we model? –Engineering, Design, Simulations, Manufacturing, Business, Mathematics –And, yes, in AI Model-based reasoning, instead of Case-based reasoning

Modeling in AI So far, discussed modeling of computer AI –FSMs, Behaviors and Knowledge Rep/Sharing, Maps and Movement, … Today, discuss modeling of human player –Why? Aren’t humans inferior to our AI? For entertainment, player must have fun Not fun  not played  bad rep  game bombs Fun(g) = Challenge(g) + Usability(g) + Replayability(g) + SenseTickling(g)

Goals of Player Modeling Maximizing Challenge() –Use player model to generate actions that exploit player’s weaknesses Maximizing Replayability() –Since model is dynamic, AI never acts the same way twice: always a different game Improving SenseTickling() –Player thinks AI is “good” or “smart” if it adapts well to the player –Tickling the brain-sense

The Simplest Model What is the simplest kind of model? –Model = {(attribute, value), (attr2, val2]…)} –Model is a class of action/trait “counters” A trait value is modified when observed –Value increase when action observed –Value may decrease over time, or to maintain normalization –Example traits: “UsesSmokeGrenades,” “AvoidsMovingThroughEnemyChokepoints,” “MeleeAttacks,” “AutomaticAttacks,” “RocketAttacks,” “Slipstreams,” “BreaksIntoTurns,” “AcceleratesThroughTurns,” “OverSpeedLimit,” “EatsPizza,” etc…

The Simplest Model: Code (include code from 559, 560)

The Simplest Model: Updating Recognize when update should be made –Can be easy “UsesLaser” – count number of times fired –Or more difficult “CanDoTrickyJumps” – if player successfully makes known difficult jumps on map “CanDoWallJumps” – if player successfully jumps >1x and lands on higher ground Instruct model to update –Least Mean Squares training traitValue =  * observedValue + (1-  ) * traitValue –Normalize values 0 <= x <= 1 –0 = never happens, 1 = all the time, 0.5 = don’t know

Evaluating Simple Models Benefits –Easy to code and use –Getting and updating values straightforward –Good for statistics-tracking and display Shortcomings –Difficult to model higher-level behavior –AI choices will have to use many model traits and computations Ex: “Which side to defend?” “What units to produce?”

A Higher-Level Model Hierarchical Modeling –Higher-level node value combination of children’s values –Abstract node combination of concrete traits

Hierarchical Player Model (include Figure from 10.1)

Hierarchical Issues Similar to other hierarchical structures –Like Troop-based AI tactics –Propagation If values of concrete, leaf-nodes change, must propagate values up the tree –Easier & faster model state checking Can scan abstract nodes quickly instead of revisiting all of the concrete counters

More Complex Modeling Extract and extrude hierarchical model –Can achieve wide range of modeling by tweaking: What is abstracted? How higher-levels are computed from lower? Of what do leaf nodes keep track? How are leaf nodes designed?

Possible Tweaks Leaf nodes – track state instead of counter –Represent each leaf as a FSM Abstract nodes – predict instead of report –Represent higher-level nodes as N-grams Probabilistic directed graphs of frequencies of sequences A node to monitor “force” locations –Leafs may return a TroopLocation class (containing (x,y)s of units) instead of a value

Modeling Issues Model complexity-time tradeoff –More complicated = more time spent –Still need to reserve time for AI decision- making, rendering, and less-important things Decouple model from game = good –If model is data-driven (i.e. from an external file), can be modified without re-compiling –If model is lightly-coupled to rest of AI, even better

Utilization of the Model AI queries model, uses result in decision-making –Examples: If determining which kind of weapon to use, check: –Player’s weapon proficiency/usage counts If determining what kind of attack to use (flanking, head-on, air-based, etc.), check: –Which attacks have been most often repelled –Which attacks the Player uses –Where are units located If determining how to allocate patrols, check: –If Player is more stealthy, put more in hidden paths, or detect better in shadow –If Player is more Rambo, put more in open areas, with heavier artillery

Design of the Model “Habits and Preferences” semantics –“UsesSmokeGrenades” means how often player uses this weapon “Knowledge and Proficiency” semantics –“UsesSmokeGrenades” means how good the player feels about using this weapon There is a subtle, but important difference –If “UsesSmokeGrenades” = 1, What does that mean? How should the AI respond?

Other Player Model Uses Allow exporting / transferring player model –If multiple games use same model (or similar nodes), a new game can more quickly adapt –Allow multiplayer games to build more generic model, based on several players Allow player to view model –Lets them see where they can/should improve “Level completed” statistics screen –May reveal some intricacies about AI

References Introduction to Learning in Games – n.htm