Giter Site home page Giter Site logo

goap_npc_demo's Introduction

GOAP NPC Plugin DEMO

Hi there!

We are a group of students from the Faculty of Computer Science at the Complutense University of Madrid. We have developed, as part of our final degree project, a plugin for Unreal Engine 4 called GOAP NPC. This plugin aims to help with the creation of Artificial Intelligence on Non-Player Characters, based on using a Goal Oriented Action Planning (GOAP) architecture.

Most developers usually use Behavior Trees to decide what the NPCs can do. It is very intuitive and easy to get started with. However, as the complexity of the scenario grows, it becomes really hard to handle. That's when GOAP comes into play. One of the most important differences with Behavior Trees is the ability of GOAP to react to external changes and dynamically modify the plan during runtime. You can obtain more information about GOAP here.

Currently we are contacting developers who have a minimum of knowledge about developing videogames with Blueprints on Unreal Engine to ask for help in testing our tool and sharing their experience. The test involves the creation by the developer of a simple controller for a NPC with a few actions and both kind of planners (first with Behavior Trees, and then using GOAP). You can access the survey here.

We greatly appreciate the help that you can provide us. It will be very useful to contribute to the improvement of our plugin, and to help everyone to better understand the usefulness of AI planning tools. If you have any questions or want to know more about it, please contact us by email.

Thank you very much!

  • Diego Romero, Mario Sanchez & Jose Manuel Sierra

To open the project

  1. Right click on the .uproject file and choose the "Generate Visual Studio project files" option.
  2. Wait for the .sln file to be generated and run it.
  3. While everything is loading in Visual Studio, you can open the project in Unreal or launch from VS.
  4. Right click on the .uproject file and choose the "Generate Visual Studio project files" option.
  5. Wait for the .sln file to be generated and run it.
  6. While everything is loading in Visual Studio, you can open the project in Unreal or launch from VS.

Demo hotkeys

Change AI goal:

  • { Z } Get Coin.
  • { X } Follow Character.

goap_npc_demo's People

Contributors

federicopeinado avatar narratechlabs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

goap_npc_demo's Issues

LGPL and Unreal EULA

Thank you for the project. You've did a great job.

I've noticed that you have set LGPL as the License for this repo.
I thought it's a bit strange to use LGPL for standalone application, so, I've decided to check on the Internet is it even possible.
And I found that according to Epic Games EULA you can't "combine" LGPL with Unreal Engine.
https://www.unrealengine.com/en-US/eula/unreal
5.a

You may not, and may not permit others to, combine, Distribute, or otherwise use the Licensed Technology with any code or other content which is covered by a license that would directly or indirectly require that all or part of the Licensed Technology be governed under any terms other than those of this Agreement (those licenses, the “Non-Compatible Licenses”). This means, for example, that you may not combine the Licensed Technology with code or content that is licensed under any of the following licenses: GNU General Public License (GPL), Lesser GPL (LGPL) (unless you are merely dynamically linking a shared library), or Creative Commons Attribution-ShareAlike License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.