This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
This document provides an introduction and overview of learning classifier systems (LCS), including:
1) It discusses the origins of LCS from Holland's vision of adaptive systems and genetic algorithms. Early implementations included Holland and Reitman's CS-1 system.
2) It describes two main types of LCS - Michigan-style systems which use a population of rules and reinforcement learning, and Pittsburgh-style systems which use a genetic algorithm on whole individuals.
3) It explains that Michigan-style LCS represent knowledge as a population of condition-action rules, use reinforcement learning to apportion credit, and apply a genetic algorithm to evolve the rule population over time.
This document summarizes a lecture on reinforcement learning and the Q-learning algorithm. Q-learning is a temporal difference learning method that allows an agent to learn optimal policies without needing a model of the environment's dynamics. The algorithm works by learning an action-value function (Q-function) that directly approximates the optimal Q-function through Q-backups without requiring a model of the environment. Pseudocode is provided for the basic Q-learning algorithm. Examples are also given showing how Q-learning can be used to learn an optimal policy for navigating a maze.
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture5-Part1Stavros Vassos
This document outlines a 6-lecture course on AI planning techniques and their applications to video games. It introduces the STRIPS planning framework and describes how planning domains can be specified using PDDL. It then presents the SimpleFPS planning benchmark, a PDDL domain for modeling NPC behavior in first-person shooter games. This domain represents an FPS game world using predicates and defines basic actions an NPC can perform. The document discusses how problem instances are generated for evaluating planners on SimpleFPS and presents preliminary results using two award-winning planners.
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
These are slides from a presentation given to provide an overview of our group research on artificial intelligence (specifically, artificially intelligence use to optimize strategy in game play).
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
This document provides an introduction and overview of learning classifier systems (LCS), including:
1) It discusses the origins of LCS from Holland's vision of adaptive systems and genetic algorithms. Early implementations included Holland and Reitman's CS-1 system.
2) It describes two main types of LCS - Michigan-style systems which use a population of rules and reinforcement learning, and Pittsburgh-style systems which use a genetic algorithm on whole individuals.
3) It explains that Michigan-style LCS represent knowledge as a population of condition-action rules, use reinforcement learning to apportion credit, and apply a genetic algorithm to evolve the rule population over time.
This document summarizes a lecture on reinforcement learning and the Q-learning algorithm. Q-learning is a temporal difference learning method that allows an agent to learn optimal policies without needing a model of the environment's dynamics. The algorithm works by learning an action-value function (Q-function) that directly approximates the optimal Q-function through Q-backups without requiring a model of the environment. Pseudocode is provided for the basic Q-learning algorithm. Examples are also given showing how Q-learning can be used to learn an optimal policy for navigating a maze.
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture5-Part1Stavros Vassos
This document outlines a 6-lecture course on AI planning techniques and their applications to video games. It introduces the STRIPS planning framework and describes how planning domains can be specified using PDDL. It then presents the SimpleFPS planning benchmark, a PDDL domain for modeling NPC behavior in first-person shooter games. This domain represents an FPS game world using predicates and defines basic actions an NPC can perform. The document discusses how problem instances are generated for evaluating planners on SimpleFPS and presents preliminary results using two award-winning planners.
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
These are slides from a presentation given to provide an overview of our group research on artificial intelligence (specifically, artificially intelligence use to optimize strategy in game play).
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
These slides are part of a course about interactive objects in games. The lectures cover some of the most widely used methodologies that allow smart objects and non-player characters (NPCs) to exhibit autonomy and flexible behavior through various forms of decision making, including techniques for pathfinding, reactive behavior through automata and processes, and goal-oriented action planning. More information can be found here: http://tinyurl.com/sv-intobj-2013
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
SLIDES WITH NOTES: http://bitly.com/rej-practical-ai
This talk is an introductory material for students and programmers aspiring for developing AI for games.
Talk is split into 2 parts - first part provides an overview on popular AI approaches in games and second part gives an outlook on technology that might be relevant for games AI in the future.
I gave this talk at Vilnius University as a guest speaker in the late October 2016.
The document discusses various techniques used for artificial intelligence in gaming. It describes how state machines and planning systems are used to simulate human behavior for non-player characters. State machines define a character's states and transitions between states, but have limitations. Planning systems allow characters to work backwards from objectives to determine paths and behaviors. Additional techniques include navigation meshes to guide character movement and online learning from player data. The goal is to improve gaming experiences by making characters seem intelligent through these simulated human behavior methods.
The document discusses planning and problem solving in artificial intelligence. It describes planning problems as finding a sequence of actions to achieve a given goal state from an initial state. Common assumptions in planning include atomic time steps, deterministic actions, and a closed world. Blocks world examples are provided to illustrate planning domains and representations using states, goals, and operators. Classical planning approaches like STRIPS are summarized.
Game playing in artificial intelligent technique syeda zoya mehdi
The document discusses game artificial intelligence and techniques used to generate intelligent behavior in non-player characters in computer and video games. It covers topics like machine learning, reinforcement learning, pathfinding algorithms, and different data structures used to represent game boards and chess positions. Game AI aims to create behavior that feels natural to the player while obeying the rules of the game. Various computer science disciplines are required to develop effective game AI, and different types of games require different AI techniques.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
These slides are part of a course about interactive objects in games. The lectures cover some of the most widely used methodologies that allow smart objects and non-player characters (NPCs) to exhibit autonomy and flexible behavior through various forms of decision making, including techniques for pathfinding, reactive behavior through automata and processes, and goal-oriented action planning. More information can be found here: http://tinyurl.com/sv-intobj-2013
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Stavros Vassos
This is a short course that aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple deliberation technique from academic artificial intelligence research can be employed to advance the state-of-the art.
For more information and downloading the supplementary material please use the following links:
http://stavros.lostre.org/2012/05/19/video-games-sapienza-roma-2012/
http://tinyurl.com/AI-NPC-LaSapienza
SLIDES WITH NOTES: http://bitly.com/rej-practical-ai
This talk is an introductory material for students and programmers aspiring for developing AI for games.
Talk is split into 2 parts - first part provides an overview on popular AI approaches in games and second part gives an outlook on technology that might be relevant for games AI in the future.
I gave this talk at Vilnius University as a guest speaker in the late October 2016.
The document discusses various techniques used for artificial intelligence in gaming. It describes how state machines and planning systems are used to simulate human behavior for non-player characters. State machines define a character's states and transitions between states, but have limitations. Planning systems allow characters to work backwards from objectives to determine paths and behaviors. Additional techniques include navigation meshes to guide character movement and online learning from player data. The goal is to improve gaming experiences by making characters seem intelligent through these simulated human behavior methods.
The document discusses planning and problem solving in artificial intelligence. It describes planning problems as finding a sequence of actions to achieve a given goal state from an initial state. Common assumptions in planning include atomic time steps, deterministic actions, and a closed world. Blocks world examples are provided to illustrate planning domains and representations using states, goals, and operators. Classical planning approaches like STRIPS are summarized.
Game playing in artificial intelligent technique syeda zoya mehdi
The document discusses game artificial intelligence and techniques used to generate intelligent behavior in non-player characters in computer and video games. It covers topics like machine learning, reinforcement learning, pathfinding algorithms, and different data structures used to represent game boards and chess positions. Game AI aims to create behavior that feels natural to the player while obeying the rules of the game. Various computer science disciplines are required to develop effective game AI, and different types of games require different AI techniques.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
1. Stavros Vassos, University of Athens, Greece stavrosv@di.uoa.gr May 2012
INTRODUCTION TO AI
STRIPS PLANNING
.. and Applications to Video-games!
2. Course overview
2
Lecture 1: Game-inspired competitions for AI research,
AI decision making for non-player characters in games
Lecture 2: STRIPS planning, state-space search
Lecture 3: Planning Domain Definition Language (PDDL),
using an award winning planner to solve Sokoban
Lecture 4: Planning graphs, domain independent
heuristics for STRIPS planning
Lecture 5: Employing STRIPS planning in games:
SimpleFPS, iThinkUnity3D, SmartWorkersRTS
Lecture 6: Planning beyond STRIPS
3. Artificial Intelligence and Video Games
3
Video Games:
Finite State Machines
Decision Diagrams
Behavior Trees
Goal Oriented Action Planning
Academic AI on agents:
Knowledge representation, First-order logic,
Classical planning, Planning with preferences, …
Belief-Desire-Intention architecture, Agent-based
programming, …
Probabilistic reasoning, Bayesian networks,
Utility theory, Markov Decision Processes, …
4. Artificial Intelligence and Video Games
4
Game engine:
C++
Creates game-world objects with (x,y,z) coordinates and
calculates what happens to them on every frame
E.g., a crate is up in the air on frame1. On frame 2 the
game engine will calculate the new position, etc
5. Artificial Intelligence and Video Games
5
Game engine:
C++
Creates game-world objects with (x,y,z) coordinates and
calculates what happens to them on every frame
E.g., a crate is up in the air on frame1. On frame 2 the
game engine will calculate the new position, etc
Same for non-player characters (NPCs)!
6. Finite State Machines (FSMs)
6
Video Games:
Finite State Machines
Decision Diagrams
Behavior Trees
Goal Oriented Action Planning
Academic AI on agents:
Knowledge representation, First-order logic,
Classical planning, Planning with preferences, …
Belief-Desire-Intention architecture, Agent-based
programming, …
Probabilistic reasoning, Bayesian networks,
Utility theory, Markov Decision Processes, …
8. Finite State Machines (FSMs)
8
NPC behavior based on high-level states
Energy OK
See small enemy
On Guard Fight
Losing fight
Run away
9. Finite State Machines (FSMs)
9
Traditionally one of the first techniques for NPC
behavior
Very simple to understand
Very simple to implement
E.g., directly using if-then-else statements
10. Finite State Machines (FSMs)
10
int NPC::think(){
if (state==ONGUARD && seeSmallEnemy()){
state=FIGHT;
makeScarySound();
}
else if (state==FIGHT && energy>30){
...
}
else if ...
}
11. Finite State Machines (FSMs)
11
Let’s see some code from a commercial game
HL2-SDK, npc_BaseZombie.cpp
lines 1828-1870
switch ( m_NPCState )
{
case NPC_STATE_COMBAT:
…
case NPC_STATE_ALERT:
…
}
12. Finite State Machines (FSMs)
12
Traditionally one of the first techniques for NPC
behavior
Very simple to understand
Very simple to implement
E.g., directly using if-then-else statements
Separation between the work of the programmer
and the game designers
But also simplistic in the behaviors that can be
expressed…
13. Behavior Trees (BTs)
13
Video Games:
Finite State Machines
Decision Diagrams
Behavior Trees
Goal Oriented Action Planning
Academic AI on agents:
Knowledge representation, First-order logic,
Classical planning, Planning with preferences, …
Belief-Desire-Intention architecture, Agent-based
programming, …
Probabilistic reasoning, Bayesian networks,
Utility theory, Markov Decision Processes, …
14. Behavior Trees (BTs)
14
NPC behavior based on more refined conditions and
strategies
Tasks have a common basic structure: they are given
CPU time to do something and return success or failure
Leaf tasks: check a condition or execute some code
Composite tasks: return value depend on child tasks
15. Behavior Trees (BTs)
15
NPC behavior based on more refined conditions and
strategies
Tasks have a common basic structure: they are given
CPU time to do something and return success or failure
Leaf tasks: check a condition or execute some code
Composite tasks: return value depend on child tasks
E.g., succeed if the
door in front of the
NPC is open
E.g., kick the door
in front of the NPC
16. Behavior Trees (BTs)
16
NPC behavior based on more refined conditions and
strategies
Tasks have a common basic structure: they are given
CPU time to do something and return success or failure
Leaf tasks: check a condition or execute some code
Composite tasks: return value depend on child tasks
?
E.g., succeed if any
of the child tasks
succeed
17. Behavior Trees (BTs)
17
NPC behavior based on more refined conditions and
strategies
Tasks have a common basic structure: they are given
CPU time to do something and return success or failure
Leaf tasks: check a condition or execute some code
Composite tasks: return value depend on child tasks
E.g., succeed if all
of the child tasks
succeed
18. Behavior Trees (BTs)
18
NPC behavior based on more refined conditions
and strategies
Sequence task and Selector task
→ ?
?
19. Behavior Trees (BTs)
19
NPC behavior based on more refined conditions
and strategies
→
Door Move
open? into room
20. Behavior Trees (BTs)
20
NPC behavior based on more refined conditions
and strategies
?
→ →
Door Move Move Move
open? into room to door
? into room
21. Behavior Trees (BTs)
21
NPC behavior based on more refined conditions
and strategies
?
→ →
Door Move Move Move
open? into room to door
? into room
→ →
Door Unlock Kick Door
locked? door door open?
22. Behavior Trees (BTs)
22
NPC behavior based on more refined conditions
Notethat no search is involved in this paradigm: the behavior
andtree is traversed as a kind of pre-defined program
strategies
?
→ →
Door Move Move Move
open? into room to door
? into room
→ →
Door Unlock Kick Door
locked? door door open?
23. Behavior Trees (BTs)
23
NPC behaviorisbased ondepends on the implementation,
Theway the tree traversed more refined conditions
and strategies over, keep track of the current node, etc
e.g., always start
?
→ →
Door Move Move Move
open? into room to door
? into room
→ →
Door Unlock Kick Door
locked? door door open?
24. Behavior Trees (BTs)
24
NPC behavior based on more refined conditions
and strategies
Non-deterministic sequence task and selector task
~→ ~?
~?
~
25. Behavior Trees (BTs)
25
NPC behavior based on more refined conditions
and strategies
?
→ →
Door Move Move Move
open? into room to door
~? into room
→ →
Door Unlock Kick Door
locked? door door open?
26. Behavior Trees (BTs)
26
NPC behavior based on more refined conditions
and strategies
Parallel sequence task (similar to sequence)
E.g., perform move actions
while also shooting at target
Also used to simulate
“state-like” behavior by
ensuring that a condition holds
27. Behavior Trees (BTs)
27
NPC behavior based on more refined conditions
and strategies
Decorator tasks (wrap objects with same interface)
Until
Invert
fail
28. Behavior Trees (BTs)
28
NPC behavior based on more refined conditions
and strategies
?
Until Attack Until Look
fail enemy fail around
Enemy Invert
in sight
Enemy
in sight
29. Behavior Trees (BTs)
29
One of the first commercial
video games that used BTs
is Halo2 (2004)
Simple to understand
Simple to implement
…
Separation between the work of the programmer
and the game designers
Offers the specification of fine-grained behaviors
30. Reactive Behavior
30
Both FSMs and BTs are reactive techniques
The NPC follows a pre-programmed strategy that
specifies how the NPC should react in the game
depending on the current state/node and conditions
that currently hold in the game-world
A sequence of actions that may be executed in the
game, e.g., [move to door, kick door, move into room],
need to be represented explicitly in the structure of
the FSMs or BTs
31. Reactive Behavior
31
Historically, the vast amount of video games with
NPCs use FSMs and BTs for NPC decision making
Simpleto understand/implement
Separation between programmers and game designers
Any extensions needed can be handled effectively
using programming tricks
The behavior is strengthened by extra information in
the game world that is carefully prepared for NPCs
34. Reactive Behavior
34
The situation today
Open worlds with increasing available interactions
NPCs need to be autonomous, with their own agenda,
goals, personality
36. Reactive Behavior
36
The situation today
Under these circumstances, maintaining the possible and
applicable interactions using reactive techniques
becomes complex and difficult
The need for more flexible techniques arises
38. Goal Oriented Action Planning (GOAP)
38
Video Games:
Finite State Machines
Decision Diagrams
Behavior Trees
Goal Oriented Action Planning
Academic AI on agents:
Knowledge representation, First-order logic,
Classical planning, Planning with preferences, …
Belief-Desire-Intention architecture, Agent-based
programming, …
Probabilistic reasoning, Bayesian networks,
Utility theory, Markov Decision Processes, …
39. Goal Oriented Action Planning (GOAP)
39
Replace the pre-defined strategies with a
description of goals and available actions
?
→ →
Door Move Move Move
open? into room to door
? into room
→ →
Door Unlock Kick Door
locked? door door open?
40. Goal Oriented Action Planning (GOAP)
40
Replace the pre-defined strategies with a
description of goals and available actions
Move Move Move
into room to door into room
Unlock Kick
door door
41. Goal Oriented Action Planning (GOAP)
41
Replace the pre-defined strategies with a
description of goals and available actions
Move Preconditions: Door open
into room Effects: In room
Move Preconditions: -
to door Effects: At door
Unlock Preconditions: Hold key
door Effects: Door open
Kick Preconditions: -
door Effects: Door open
42. Goal Oriented Action Planning (GOAP)
42
Replace the pre-defined strategies with a
description of goals and available actions
Move Preconditions: Door open In room
into room Effects: In room
Move Preconditions: -
to door Effects: At door
Unlock Preconditions: Hold key
door Effects: Door open
Kick Preconditions: -
door Effects: Door open
43. Goal Oriented Action Planning (GOAP)
43
Search in real-time for a strategy that achieves the
goal in the current state
Move Preconditions: Door open In room
into room Effects: In room
Move Preconditions: -
to door Effects: At door
Unlock Preconditions: Hold key
door Effects: Door open
Kick Preconditions: -
door Effects: Door open
44. Goal Oriented Action Planning (GOAP)
44
Advantages
Easy to manage a large number of generated
behaviors
Able to achieve different behaviors that satisfy the
given requirements under different conditions without
explicitly listing the resulting strategies
But it needs to solve planning problems in a few
frames!
45. Behavior Trees (BTs)
45
One of the first commercial
video games that used BTs
is Halo2 (2004)
Simple to understand
Simple to implement
…
Separation between the work of the programmer
and the game designers
Offers the specification of fine-grained behaviors
46. Goal Oriented Action Planning (GOAP)
46
One of the first commercial
video games that used GOAP
is FEAR (2005)
Not so simple to understand
Not so simple to implement
…
Not so clear separation between the work of the
programmer and the game designers
The specification of fine-grained behaviors is
actually tricky
47. Goal Oriented Action Planning (GOAP)
47
Some details about GOAP in
FEAR:
One AI programmer
responsible for NPC behavior
Idea: Different behaviors can
be achieved among characters
by using GOAP and providing
each character with same goals
but a different set of available
actions
49. Goal Oriented Action Planning (GOAP)
49
Simplifying STRIPS planning:
Literalsare stored as variables
(essentially having one argument)
The state is stored as an array of
a fixed size
Search goes up to depth …3
A* for path finding…
A* also for planning!
50. Reactive Planning Vs. Classical Planning
50
HALO2 (2004) FEAR (2005)
Since then BTs have Since then GOAP has
become a standard not picked up much
for NPC behavior speed
51. Reactive Planning Vs. Classical Planning
51
Behavior Trees Goal Oriented
Action Planning
52. Reactive Planning Vs. Classical Planning
52
Behavior Trees Goal Oriented
Action Planning
A combination of these techniques?
BTs
for reactive decision making
GOAP for tactical decision making
55. Bibliography
55
Material
Artificial
Intelligence for Games, Second Edition. Ian Millington,
John Funge. Morgan Kaufmann Publishers Inc., 2009.
Sections 5.3, 5.4