Advanced AI for Game Characters with Goal-Oriented Action Planning
Goal-Oriented Action Planning or GOAP is a powerful architecture used for controlling the behaviour of non-player characters. This AI technique was first developed for use in F.E.A.R. Its strength lies in the decoupling of character actions from one another such that plans can be created on the fly based on the characters set goals.
In this course you will be taken step by step through the development of a simple hospital simulation with patients, nurses and doctors represented by NavMesh agents. Together we will build-on, video by video, a GOAP library in C# that you can use to enhance the artificial intelligent behaviour of your own NPCs.
Course Information
Estimated Time: 40 Lectures, 8 Hours
Difficulty: Intermediate
Course Instructor
Penny de BylAuthor
I’m a full stack developer of most things computer sciency and academic with a true passion for teaching. I’ve been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I’ve also consulted for Unity, SAE, the Australian Institute of Entertainment and Wikitude. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide. My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.
Single Payment
$29.99
Get lifetime access to the video content, code and exercises for this single course.
Payment Plan
$12.99
per month for 3 total payments
Get full life-time access to the videos and resources of this course with 3 easy payments.
Introduction
Welcome
Lesson 1 of 3 within section Introduction.You must enroll in this course to access course content.
0
Join the H3D Student Community
Lesson 2 of 3 within section Introduction.You must enroll in this course to access course content.
0
FAQs
Lesson 3 of 3 within section Introduction.You must enroll in this course to access course content.
0
A Crash Course In Navigation Meshes
An Introduction to Navigation Meshes
Lesson 1 of 3 within section A Crash Course In Navigation Meshes.You must enroll in this course to access course content.
0
Setting up your own NavMesh
Lesson 2 of 3 within section A Crash Course In Navigation Meshes.You must enroll in this course to access course content.
0
Moving an Agent Around the Mesh
Lesson 3 of 3 within section A Crash Course In Navigation Meshes.You must enroll in this course to access course content.
0
Introduction to GOAP
Introduction To GOAP
Lesson 1 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Setting up a GOAP Environment
Lesson 2 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Preplanning the Agent Actions
Lesson 3 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
The World States
Lesson 4 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Actions
Lesson 5 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Agents
Lesson 6 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Introduction to GOAP
Lesson 7 of 7 within section Introduction to GOAP.You must enroll in this course to access course content.
0
Planning
The GOAP Planner Part 1
Lesson 1 of 5 within section Planning.You must enroll in this course to access course content.
0
The GOAP Planner Part 2
Lesson 2 of 5 within section Planning.You must enroll in this course to access course content.
0
Executing a Simple Plan
Lesson 3 of 5 within section Planning.You must enroll in this course to access course content.
0
Creating A Multistep Plan
Lesson 4 of 5 within section Planning.You must enroll in this course to access course content.
0
Plans that Require Multiple Agents
Lesson 5 of 5 within section Planning.You must enroll in this course to access course content.
0
Inventories
Adding More Resources to the World
Lesson 1 of 2 within section Inventories.You must enroll in this course to access course content.
0
Implementing an Inventory System
Lesson 2 of 2 within section Inventories.You must enroll in this course to access course content.
0
Complex Behaviours
Moving The Nurse
Lesson 1 of 3 within section Complex Behaviours.You must enroll in this course to access course content.
0
Adding Goal Challenge
Lesson 2 of 3 within section Complex Behaviours.You must enroll in this course to access course content.
0
Taking a Break
Lesson 3 of 3 within section Complex Behaviours.You must enroll in this course to access course content.
0
Building Functionality and Debugging
Adding a Doctor Challenge
Lesson 1 of 5 within section Building Functionality and Debugging.You must enroll in this course to access course content.
0
New Resource Models and Troubleshooting Part 1
Lesson 2 of 5 within section Building Functionality and Debugging.You must enroll in this course to access course content.
0
New Resource Models and Troubleshooting Part 2
Lesson 3 of 5 within section Building Functionality and Debugging.You must enroll in this course to access course content.
0
New Resource Challenge
Lesson 4 of 5 within section Building Functionality and Debugging.You must enroll in this course to access course content.
0
Reusing Actions on Other Agents
Lesson 5 of 5 within section Building Functionality and Debugging.You must enroll in this course to access course content.
0
Producing and Removing Resources
A Little World Refactoring
Lesson 1 of 3 within section Producing and Removing Resources.You must enroll in this course to access course content.
0
Monitoring Agent States
Lesson 2 of 3 within section Producing and Removing Resources.You must enroll in this course to access course content.
0
Responding to a New Resource
Lesson 3 of 3 within section Producing and Removing Resources.You must enroll in this course to access course content.
0
Interacting with the Environment
Dragging and Dropping New Resources
Lesson 1 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Dynamic Navmesh Baking
Lesson 2 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Repositioning and Rotating Resources
Lesson 3 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Deleting a Resource
Lesson 4 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Refactoring for a Multi-resource UI
Lesson 5 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
A UI to Work with Multiple Resources
Lesson 6 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Improved Repositioning
Lesson 7 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Moving the Camera
Lesson 8 of 8 within section Interacting with the Environment.You must enroll in this course to access course content.
0
Final Words
Some Final Words From Penny
Lesson 1 of 1 within section Final Words.You must enroll in this course to access course content.