zoukankan      html  css  js  c++  java
  • AI决策算法 之 GOAP (一)

    http://blog.csdn.net/lovethrain/article/details/67632033


    本系列文章内容部分参考自:http://gamerboom.com/archives/83622



    什么是GOAP? 
     
    引用原文的一句话 : 目标导向型行动计划(简称GOAP)是一种能够轻松呈现给你的代理选择的AI系统,也是帮助你可以无需维持一个庞大且复杂的有限状态机而做出明智的决策的机器。

    用处:
    以前我们经常使用FSM有限状态机来实现AI系统,但是当一个游戏的AI行为非常庞大的时候,那么有限状态机的代码是很庞大的,且大部分代码重用性非常低。 


    在这时也许有人会用行为树来开发AI系统,但是行为树是依赖设计者的固定架构的,很不灵活,做的选择不一定是最优选择,而且每次都要经过大量的逻辑判断,性能消耗严重。



    这时候使用GOAP是合适的,它会根据目标在环境中决策出最优的路线,从而达到看起来相对智能的AI,且代码的分层相对清晰,可读性高,重用性高。



    怎么实现?
    四个主要类:
    Agent: 代理, 主体,负责连接各个类,主要逻辑在这里运行
    Action: 动作, 可以被执行的动作,比如:拿东西,丢东西
    Planer:决策者, 通过各个类来决策出最优的路线供Agent使用
    IGoap:  数据提供者,提供给Agent目标和反馈是否成功失败等等

    除了上述类之外还需要一个简单的FSM有限状态机来辅助。

           我们在后面一一实现它们。


  • 相关阅读:
    移动 App 接入 QQ 登录/分享 图文教程
    Word 最后一页无法删除-解决办法
    Java快速入门-04-Java.util包简单总结
    Java快速入门-03-小知识汇总篇(全)
    SSM 框架-06-详细整合教程(IDEA版)(Spring+SpringMVC+MyBatis)
    二叉树的镜像
    浅析I/O模型及其设计模式
    远程方法调用(RMI)原理与示例
    树的子结构
    合并两个排序的链表
  • 原文地址:https://www.cnblogs.com/nafio/p/9137023.html
Copyright © 2011-2022 走看看