人工智能(AI)是最新的科技趋势之一,绝对是最具革命性的技术之一。 然而,正如我们可能已经多次提到的那样,人工智能并不是一项新技术,而只是一种终于找到了克服其局限性并充分发挥其潜力的方法的技术。
事实上,至少从 80 年代和 90 年代初期开始,至少从 80 年代和 90 年代开始就使用了第一个或多或少基本的 AI 的计算科学领域之一是…… [背景中播放不祥的悬疑音乐] 好吧,只是视频游戏。
说实话,我们甚至可以说,有限状态机 (FSM) AI 的第一个实际应用几乎与视频游戏本身一样古老,因为即使是广受欢迎的“吃豆人”也使用了这些经典计算模型之一(更多关于 这个稍后)。
我们过去玩的几乎所有游戏,以及我们仍在玩的许多现代游戏都使用基于 FSM 的 AI。 它不仅用于在玩家和其他角色之间生成某种程度上可信的交互,还用于实现游戏开发的其他关键元素,例如图形用户界面 (GUI)、输入处理、玩家控制和历史进程。 (阅读人工智能如何用于视频游戏?)
所以和我在一起,我们将一起钻到地壳下面,看看 FSM 到目前为止是如何影响我们的游戏体验的。
但要小心! 准备好迎接高水平的流行文化怀旧吧!
什么是有限状态机?
FSM 是一种抽象的计算模型,它一次可以存在于一个状态(当前状态),从有限的值中选择。 换句话说,每个状态都是唯一且相互排斥的,因此是有限的。 当机器可以在流程定义的转换中从初始状态切换到下一个状态时输入信号。
最著名的例子可能是交通灯。 它可能是绿色、黄色或红色,但一次不能超过一个。 当路人按下按钮(输入)时,它会从绿色过渡到黄色,然后从黄色过渡到红色。 一段时间后,它将恢复为绿色,完成一个循环。 (阅读如何在人工智能中使用有限状态机?)
结果是一个非常简单但优雅的模型,它提供了大多数游戏开发人员所需的所有答案,特别是因为它非常简单,甚至可以在没有编程的情况下使用。 游戏功能可以通过将 FSM 绘制成有向图来实现——这是一种简单易懂的格式,可以很容易地再次转换为状态表。
几十年来,FSM 一直被用于在资源有限的平台上模拟像样的 AI,例如 70 年代、80 年代和 90 年代的早期游戏机,以及来自同一时代的更简单的掌上游戏,例如 Tiger 游戏。
FSM 如何用于电子游戏?
在视频游戏行业中最明显和最广泛使用的 FSM 实现可能是创建基本有效的 AI。 有限状态可用于定义某些不可玩角色 (NPC) 的行为,例如攻击、漫游或奔跑。 (阅读最重要的游戏趋势。)
正如我们之前提到的,FSM 用于控制吃豆人的幽灵行为。 他们一次只能有一种操作模式,狩猎、追逐、死亡、等待复活。 后来,更多的现代游戏在 FSM 的坚实基础上加入了一些模糊逻辑,以增加一些不可预测性,并使角色感觉不那么机械和僵硬。
例如,在不朽的“突击队”、“刺客信条”或流行的“合金装备”系列等基于潜行的动作游戏中,每当敌人发现玩家时,他就会从空闲状态转变为警觉状态。 几秒后,如果玩家没有再次躲到安全的地方,NPC就会转入攻击状态,开始主动搜索。
这里的随机性只能在他们四处游荡时的敌人路径中找到,或者他们决定使用一种武器而不是另一种武器。 这就是 FSM AI 的最佳状态,您可能会发现它处于更复杂和更智能的行为的核心,例如这个数学模型所展示的——但绝对不是唯一的迭代。
用于界面、UI 和控件的 FSM
FSM 非常简单,可以用作支持所有玩家控制和处理的框架。 想想像“超级马里奥兄弟 2”这样的平台游戏。 您的角色可以站立或蹲伏,但绝不能同时站立。
角色蹲下一段时间后,他或她将转变为蓄力状态并开始闪烁——这种特殊情况会增加你的跳跃高度。 同样,《超级马里奥兄弟 3》中马里奥使用的所有各种强化道具,如火花、超级叶和星人,都不过是激活主角变形的状态(火马里奥、浣熊马里奥或无敌马里奥)。
同样的逻辑适用于其他形式的游戏状态,例如主菜单、暂停、加载、播放和退出。 即使是包含不同游戏模式的游戏,例如具有生存、创意、冒险、旁观者和硬核模式的“我的世界”,也使用 FSM 从一种模式切换到另一种模式。
从字面上看,每个包含固定状态的特征都是通过 FSM 系统构建的。 例如,如果游戏有天气系统(雨、雪、太阳等)、昼/夜循环、季节循环、地上与地下状态——好吧,FSM 很有可能控制着它们中的每一个。 当您在“魔法门之英雄无敌”系列中穿越不同地形时,或者当您在“奇迹时代 3”中在地上和地下移动时,想一想移动速度或攻击和防御加成的所有差异。
冒险游戏和角色扮演游戏中的 FSM
自最早出现以来,FSM 一直是所有角色扮演游戏/冒险游戏的基本组成部分。 例如,他们控制了老派冒险游戏中的所有顺序对话,例如“猴岛的诅咒”、“雷克斯星云与宇宙性别扭曲者”或“休闲套装拉里”系列。 FSM 还可用于创建复杂且高度分支的故事情节。
随着玩家在故事中前进,他可能会做出不同的选择,打开一条道路,同时关闭另一条道路。
其他游戏内元素也可能受到这些选择的影响,例如玩家的统计数据、对话结果和遇到的敌人类型,并且通常与多个结局相关联。 这种类型的非线性叙事的早期先驱包括大牌,如“Chrono Trigger”和“Fallout”。
然而,这种类型的游戏玩法多年来一直存在,甚至可以在现代故事丰富的游戏中找到,例如“质量效应”和流行的独立游戏“Undertale”。
我们学到了什么
如果您是技术爱好者或信息技术专家,那么您很有可能从小就经常玩电子游戏。 既然您已经阅读了本文,那么您已经亲身体验了 FSM 模型。 其实,除了享受这次怀旧之旅,你只是从不知状态切换到开悟状态!
您可能只需要集中注意力几秒钟就可以在您目前玩过的几乎所有游戏中发现 FSM 控制的功能,并且可能在您将来玩的大多数游戏中。