《Game AI Pro》第一章笔记:What is Game AI?

本篇博客为《Game AI Pro》的第一章读书笔记。

介绍

  • 游戏 AI 的作用是:帮助开发者为玩家创造一次难忘的游戏体验
  • 我们可以将 AI 划分为三类:学术 AI、电影 AI、游戏 AI

学术 AI

  • 学术 AI 的目的是设计一种智能代理(系统),能够感知环境并采取最可能获得成功的行动

电影 AI

  • 电影 AI 即虚构的角色,它的目的并不是为了采取最可能获得成功的行动,而是为了剧本而服务,帮助观影者获得最佳的观影体验

游戏 AI

  • 游戏 AI 与电影 AI 更加类似,目的是娱乐而非成功

创造体验

  • 我们可以从以下几个方面来对游戏 AI 如何创造难忘的体验进行阐述

暂停怀疑

  • 暂停怀疑是指玩家在游戏作者的引导下,暂时停止质疑游戏中的不合理情节,专心体验游戏
  • 一般玩家对游戏 AI 是比较宽容的
    • 只要 AI 行为基本合理,玩家就会自行为 AI 行为脑补合理的解释
  • 过分复杂的 AI 反而会让玩家觉得其行为是随机或是错误的,起到反效果
  • 在进行游戏 AI 设计时要避免“人工的愚蠢”,即采取了一个看上去明显错误或无意义的行动
    • 例如撞墙、卡顿、忽视玩家以及频繁地改变想法
    • 虽然某些行为对于人类来说是合理的(如频繁地改变想法),但是玩家可能会认为是算法缺陷
  • 可以通过一些方法来避免人工的愚蠢
    • 故意设计一些愚蠢的角色,如僵尸,他们的愚蠢行为玩家愿意接受
    • 显示 AI 的行为,如在其头顶显示其想法,表明其要做什么

反应性、不确定性和可控性

  • 在进行游戏 AI 的设计时,需要考虑的三个要素是反应性不确定性可控性
  • 反应性是指游戏 AI 能够根据感知环境并采取恰当的行动
  • 可控性是指 AI 的作者能够主动调整 AI 来保证玩家的体验
    • 可控性与反应性之间需要进行权衡,两者应该相互协调,不同的游戏对两者的需求有所不同

    • 下图给出了常用的 AI 结构在可控性与反应性之间的权衡关系

  • 不确定性是指我们希望在游戏角色中加入一些随机要素来使得其行为不会过于容易被玩家预测
    • 需要注意随机要素也应该具有一定的合理性,不至于出现明显的错误

简单性和扩展性

  • 游戏 AI 的开发是一个迭代的过程
  • 游戏 AI 中使用的算法通常都是比较简单的,易于理解与调试,同时具有较高的扩展性

技巧与作弊

  • 有时候游戏 AI 会采取一些作弊行为来给予玩家更好的游戏体验
    • 例如无限制地生成资源或是感知玩家位置

结论

  • 学术 AI 可以做很多伟大的事情,但是对于游戏来说是不需要的
  • 游戏 AI 只需要完成一件事情:帮助开发者为玩家创造一次难忘的游戏体验