571
社区成员
发帖
与我相关
我的任务
分享GOAP(Goal-Oriented Action Planning)框架是一种决策架构,通过对智能体制定目标,使智能体根据自己当前所处的状态和环境制定相应的行动计划。与传统游戏当中的FSM有限状态机等方法相比,GOAP框架智能体能够应对更加复杂的游戏场景。当前GOAP插件一般使用A*等算法搜索路径,不能接收过多的状态、动作内容,不能适应某些应用场景,而强化学习于环境、状态、行动、奖励机制的特点完美契合于GOAP框架,本课题将实现一个基于强化学习算法的GoapUE4插件。
本课题主要是在Ureal engine软件中实现基于goap决策算法的智能npc插件。目标导向型行动计划(GOAP)是代理的一种人工智能系统,让你能够计划一系列行动去满足一个特殊的模板。特殊的行动序列不仅依靠于目标,同时也依靠于世界和代理当前的状态。根据npc在环境中的信息决策出最佳和行动方案或者路线。
需求类型可分为功能需求、质量需求、设计限制、过程需求,本项目插件分析如下:

Goap行为插件主要面向游戏开发者和管理员。根据分析,游戏开发者主要可以使用以下功能,有以下用例。

本人在实践工程中主要负责强化学习算法部分,强化学习算法模块如下。

工程实践所使用的设计模式有:
1.代理模式:强化学习算法与Goap插件主体之间是独立的,为降低耦合,采用代理模式。
2.工厂设计模式:Goap插件中定义的动作等所需实例化的对象较多,使用工厂设计模式。
3.单例设计模式:强化学习算法是唯一的,使用单例设计模式。
对应的强化学习场景、算法Agent的UML图如下:

采用的开发平台和框架为:
算法开发平台:Python
强化学习框架:parl/tensorflow
强化学习工具库:gym
服务器:Gpu云服务器
Goap插件开发平台:UE4
演示Demo开发平台:UE4
作者:487