跳到内容

使用 XNA/AI 创建游戏/简介

来自维基教科书,开放世界中的开放书籍

游戏始终为开发人工智能提供了环境。因此,在过去的几十年中,它成为游戏最重要的组成部分之一。如今,拥有复杂 AI 的游戏是顶尖技术。您在许多游戏中会需要一些更简单的算法,也需要一些更复杂的算法。它被用于许多情况,例如

  • 控制 NPC
  • 寻路
  • 动态游戏难度平衡
  • 战斗 / 战斗

早在 20 世纪 70 年代的游戏开发初期,程序员和开发人员就与游戏人工智能领域面对面地接触。但当时的 AI 很简单,可以说是比较谦逊,这种状态直到几年前才改变。

"AI 已悄然从游戏界的红发继子女转变为该行业闪耀的明星" - Steve Rabin,AI 游戏编程智慧,2002 年,第 3 页

第一款以单人模式为特色,因此在初期就拥有 AI 的游戏,例如 Atari 游戏“Qwak!”,并没有像我们今天所描述的那样拥有 AI。敌人的移动大多是预先定义的,并作为模式存储。只有当硬件改进,例如微处理器的加入,允许进行更多计算,才能实现更多随机元素。由此产生的游戏包括太空侵略者、银河战机和吃豆人。这些游戏展示了例如不断提高的难度级别、复杂多样的敌人移动、取决于玩家输入的事件,甚至每个敌人的不同个性。随着 20 世纪 90 年代新游戏类型的出现,新的 AI 工具被开发和使用。这些工具中包括有限状态机。在更新的游戏中,AI 成为游戏的核心方面。AI 的改进不仅取决于给定的硬件组件。实际上,这无疑是一个非常重要的方面。有一些问题无法在没有大量处理器资源的情况下解决。但应该补充的是,在游戏开发初期,程序员并没有认真对待 AI。大多数情况下,AI 是在完成所有高优先级任务后才完成的。[1]

如今,AI 已登上游戏阶梯,成为最高优先级任务。

AI 必须实时计算(在游戏过程中),因此(良好)性能非常重要,以便让游戏顺利运行。为了确保这一点,在算法中有很多简化、变通方法和作弊行为,这些行为近似于玩家的理想行为。因此,它们既快又智能。当性能是一个重要问题时,很明显,对所有可能的决策进行暴力破解并不是处理游戏 AI 中此类情况的最佳方法。

另一个重要的事实是,即使计算机玩家可以玩得完美,也不应该这样做。在这个主题中,“作弊”是一个很大的词,因为计算机知道所有事实,并且拥有关于游戏世界的各种信息,因此可以让 AI 玩家了解一些他们在现实中不可能知道的事情。玩家必须认为自己是在与真正的敌人对战,而不是与计算机对战,这就是为什么首先 AI 必须是可以被击败的(不是无敌的),而且它必须表现得像人类(犯错,在某些情况下随机行动等)。如果 AI 没有以这种方式行事,那么游戏很快就会让玩家感到厌倦,或者如果玩家没有获胜的机会,就会感到沮丧。一些游戏使用近似算法而不是完美的解决方案,并在它们的算法中实施“错误”(或更差)的决策。

几个经验法则和启发式方法,足以提供良好的游戏体验

参考文献

[编辑 | 编辑源代码]
  1. Steve Rabin (2002). AI 游戏编程智慧. Cengage Learning.
  • iSteffi
  • LWAGNER
华夏公益教科书