当前位置: 首页 > news >正文

游戏AI实现-GOAP

GOAP原理:

GOAP(面向目标的行动规划,Goal - Oriented Action Planning) 旨在让智能体通过选择一系列行动来达成特定目标。它基于对世界状态的理解,每个行动都有前提条件和效果。智能体通过分析当前世界状态与目标状态的差异,选择能缩小这种差异的行动,直到实现目标。

关键组件:

世界状态(World State):用一组属性 - 值对来描述游戏世界的当前情况。例如,“playerHasAxe” 为true表示玩家拥有斧头,“woodCollected” 为0表示收集的木材数量为 0。世界状态会随着行动的执行而改变。
行动(Action):每个行动都包含前提条件(preconditions)和效果(effects)。前提条件是行动能够执行所必须满足的世界状态,效果则是行动执行后对世界状态的改变。比如 “砍树” 行动,前提条件可能是 “playerHasAxe” 为true,效果是 “woodCollected” 增加,“treeCount” 减少。
目标(Goal):也是用一组世界状态来定义代表智能体期望达到的最终状态。例如,目标可能是 “woodCollected>= 10” 且 “hasShelter” 为true。
规划器(Planner):负责搜索一系列行动以实现目标。常用的方法是 A* 算法的变体,通过评估不同行动序列的成本来找到最优解。成本通常基于行动的执行代价以及该行动对接近目标的贡献程度。

代码实现:

测试Demo实现:

未完待续。。。

参考书籍和链接:

《AI FOR GAMES》

Hybrid GOAP AI in Unity (Package Overview) (youtube.com)

Better AI in Unity - GOAP (Goal Oriented Action Planning) (youtube.com)

Goal-Oriented Action Planning Part 1 (youtube.com)

面向目标的 AI 行动计划 |Envato Tuts+ (tutsplus.com)

http://www.dtcms.com/a/98692.html

相关文章:

  • 【华为OD技术面试真题 - 技术面】- Java面试题(16)
  • 【免费】中国电子学会2025年03月份青少年软件编程Python等级考试试卷六级真题(含答案)
  • 解决obsidian无法加载社区的解决的尝试
  • DeepSeek-R1国产大模型实战:从私有化部署到内网穿透远程使用全攻略
  • 【Java】Java核心知识点与相应面试技巧(七)——类与对象(二)
  • c++游戏开发第一期
  • 【大模型基础_毛玉仁】5.3 附加参数法:T-Patcher
  • 《新凯来 :中国半导体设备制造行业从“跟随者”向“挑战者”的角色转变》
  • 【蓝桥杯速成】| 15.完全背包
  • docker pull lss233/one-api:latest 在哪里运行,作用是什么
  • 【VUE】day08黑马头条小项目
  • (三)点亮LED
  • ngx_http_core_merge_srv_conf
  • 外观模式(Facade Pattern):复杂系统的“统一入口”
  • Qwen-0.5b linux部署
  • 订单超时自动关闭:电商系统的技术难题与解决方案
  • 常用登录Linux系统的方法以及操作指南
  • Spring Cloud Gateway详细介绍简单案例
  • Js 主线程和异步队列哪个先执行
  • Yolo系列之Yolov4的改进及网络框架
  • Java入门知识总结——章节(二)
  • bluecode-20240913_1_数据解码
  • 【Kafka】分布式消息队列的核心奥秘
  • 3.29前端模拟面试
  • 【区块链安全 | 第八篇】多签机制及恶意多签
  • org.apache.maven.surefire:surefire-junit-platform:jar:2.22.2 Maven打包失败
  • 逗万DareWorks|创意重构书写美学,引领新潮无界的文创革命
  • 什么是贴源库
  • unique_ptr的详细介绍
  • 量子计算与项目管理:2025年颠覆性技术将如何重构任务分解逻辑?