电子游戏设计与制作(游戏中的人工智能)

www.hp91.cn

1 游戏人工智能发展

  • 硬编码(早期)
  • Pong(游戏中最早使用)
  • 格斗类游戏(推动了游戏AI的发展,预判玩家位置和行动)
  • 策略类游戏(极大推动)
  • 强化学习

2 游戏AI技术的分类

  • 确定型:基于固定领域知识,模拟简单的固定行为
  • 行为型:基于行为模式来模拟智能行为
  • 策略型:策略模拟

确定型AI算法

预先编入代码当中的可预测的行为(例如:物体的运动轨迹)

跟踪追逐:在每一帧中,智能体计算其到目标的前进方向,并根据其速度,前进一段距离
逃避算法:与前面的chasing算法基本相同,唯一区别是智能体沿着远离物体的方向移动

行为型AI算法

在这里插入图片描述
例如:吃豆人

3 智能体agent与基本感官系统

智能体需要对其周围的事件、环境、玩家控制角色及其他智能体做出反应。

Agent基本感官系统

在这里插入图片描述
该图片来源:页游www.laoshoucun.com页游

智能体感官系统组成

  • 所在队伍
  • 感觉(视觉、触觉。。。)

视觉:基于光线投射实现(缺点:并不是对视觉过程准确建模)
视锥:检测游戏对象与视锥是否重叠;从视野中心区到视野周边区域,游戏对象被检测到的可能性降低。
触觉:使用碰撞器检测

智能体感官系统设计

创新性组合(例如设计一个能感知魔法但没有视觉的NPC)

4 路径规划

路点法

物体移动路径事先确定

简单,是复杂寻路算法的基础。
使用该方法更容易微调AI智能体的行为
应用广泛(如TD类,祖玛)

A*启发搜索

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
该图片来源:页游www.laoshoucun.com页游

总结

  1. 将起始位置添加到Open表.
  2. 重复做以下步骤:
    a) 将Open表中具有F最小值的节点设为当前节点.
    b) 将该节点从Open表中移至Closed表.
    c) 对于当前节点的八个相邻节点:
    如果相邻节点为不可走区域或已经在Closed表中,对这些节点不做任何操作. 否则作如下操作:
    1)如果相邻节点没在Open表中,则添加入Open表。并将新加入Open表中的节点的父节点设为当前节点,并计算F、G、H值。
    2)如果相邻节点已经在Open表中, 比较新路径到该节点的G’与原G的大小:如果G’<G,则更改该相邻节点的G值为G’,重新计算F,并设其父节点为当前节点.
    d) 程序终止条件为:
    当目标节点被添加到Closed节点(标志路径已经被找到),或
    没有找到路径,并且开放列表已为空。
  3. 保存路径。 从目标节点开始,遍历所有父节点,直到起点为止。

NavMesh

  • 设置静态导航Navigation Static
  • 烘焙导航网格
  • 为玩家控制角色或NPC添加导航网格代理组件NavMesh agent
  • 通过脚本设置目的地

5 有限状态机(FSM)

自定义有限状态机行为

  • 为状态添加行为脚本
  • 行为脚本的事件函数

总结

  • 状态规模很大时,设计非常复杂。
  • 有限状态机一旦设计完成,难于动态变化。
  • 应用于游戏当中的可预测行为。

6 群体行为的模拟

核心:群聚算法

三条规则

  • 凝聚:个体都在其邻近个体的平均位置上运动。
  • 对齐:个体按其邻近个体的平均方向移动。
  • 分割:个体都要避免与其邻近个体发生碰撞。

在这里插入图片描述

7 模糊逻辑

模糊逻辑起源
1965年,美国著名控制论专家Lotfi Zadeh教授----模糊数学
基础为:模糊集合论

模糊逻辑的运算符
在这里插入图片描述

模糊逻辑的应用

  • 决策
  • 行为选择

使用模糊逻辑帮你的人工智能角色做出模糊的判断。

阅读 1.8k

www.coubai.com页游

10 声望
1 粉丝
0 条评论

www.coubai.com页游

10 声望
1 粉丝
文章目录
宣传栏