Description
Introduction
Unlike traditional approaches that use complex (and hard-to-maintain) behavior trees or finite state machines, GOAP NPC maintains the behavior of game characters simple, efficient and easy to use.
Here you can see a short video video showing an example scenario with different behaviors, and some explanations on how to create your own.
Goal-oriented action planning (GOAP) provides a generic and natural way to create non-player characters (NPCs) with Artificial Intelligence (AI). Used in modern commercial games (Shooters, Action RPG, etc.), it offers intelligent decision making with great scalability.
This system allows you to describe the behavior of your intelligent agents using ACTIONS and OBJECTIVES. Actions are separate tasks with their own preconditions, costs, and effects, while objectives are finishing conditions for the character’s PLANS. Thanks to the popular A* heuristic search algorithm, the GOAP system knows what actions to take to achieve certain goals, generating a dynamic plan, without having to define explicit transitions between states of the world.
This code plug-in represents a ready-to-use framework for developing and debugging (in C++ and/or Blueprints) of GOAP NPCs while maintaining optimal performance. We recommend that you watch this short video to get an idea of how to use the new features provided by this code plugin.
Technical
Functions
- Ready-to-use goal-oriented action planner in a single module.
- Heuristic search using algorithm A*.
- Framework compatible with C++/Blueprints.
- Customizable controller and action project templates.
Features
- Number of C++ classes: 5.
- Number of planes: 0.
- Supported development platforms: Windows, MacOS and Linux.
- Supported target build platforms: 64-bit Windows, 32-bit Windows, Android, MacOS, and Linux.
References
- Documentation: GOAP NPC Manual (PDF file).
- Project example: GOAP NPC Demo (GitHub repository).
- Important/Additional Notes:
List of changes to the GOAP NPC version (GoogleDocs).
You must log in to post a comment.