吃豆人|现今理所应当存在的NPC,却是前人数十年的沉淀,游戏AI的发展史( 三 )


利用Gambit , 玩家可设定出合自己心意的战斗模式 , 有技术的话更可连首领战都全自动 , 全程不用玩家操作 。 但相对地 , 一些较有用的Gambit , 如目标范围较广及指示使用强力魔法或道具等指示 , 则需要在游戏较后盘才可取得 , 算是我方实力越来越高的另类反映 。
让AI自行学习
FMS的好处是设算方式较简单 , Debug也容易 , 因此长久以来均是游戏常见的AI制御方法 , 不过FMS必须要程序员想定各种场面输入状态 , 随着游戏复杂化 , 以此形式设计的AI很难能全方位对应千变万化的游戏场面 , 于是另一种AI形式——Autonomous Agent渐渐在电子游戏界中发展及流行 。
相对于FMS要指示AI行动 , Autonomous Agent则是把决定权交由AI负责 , 而AI则要从大量反复尝试中 , 找出最佳的行动模式 。 听起来 , 要AI自行学习好像十分困难 , 但其实早于1990年红白机上最后一款《DQ》(勇者斗恶龙)——《DQIV》中已有实装AI学习系统 。

红白机版《DQIV》的战斗系统最大特征 , 就是除主角之外玩家不能操控其他同伴 , 只能透过「节约咒纹」之类的作战选项作简单指示 , 行动则完全交由AI负责 。 基本上 , 同伴AI主要是以FSM形式设计 , 但有关敌人耐性方面却具备简单的学习功能 。
当同伴面对从未见过的敌人使用咒纹 , 而被该敌人的耐性属性挡下时 , 同伴会有一定确率明白到不能再以这类属性攻击该敌人 , 在下次战斗时会减少使用 。 可是这不代表AI会马上学习到 , 当AI再被敌人的耐性属性挡下咒纹时 , 学习等级有一定确率会再提升 , 从而进一步减少使用 。 到了最高的第3等级时 , 同伴便会完全不使用耐性属性来攻击相关敌人 。

《DQIV》的AI学习只限于敌人属性上 , 设计非常简单 , 随着技术发展 , 学习方法已不再单纯限于确率之上 , 时下其中一种常见的有进化形式 。 举个例子 , 开发组把AI操作的NPC放入与敌人战斗的场面 , 目标是战胜敌人 。 这时AI可以选择向不同方向回避、反击、使用道具甚至不作任何行动等形形式式操作 , AI反复尝试过各种操作多次后 , 选择能生存最久的行动——例如回避 , 作为下世代学习的准备 。
接下来AI的首个行动便决定是回避 , 然后再跟之前一样作不同行动尝试 , 选择能生存最长的行动 , 并以此作第二世代的基本 。 如此类推 , AI在经过成千上万次的尝试后 , 终能找到打倒敌人的方法 。 开发组再把已学习完成的AI放入敌人身上 , 玩家作出与之前学习时的对手相同行动的话 , AI便知道要如何应对 , 过程不涉及任何开发组的指令 。

说到这类游戏AI的最经典 , 必不能错过PS的《Astronoka》 。 在此作中 , 玩家是一名未来的宇宙农夫 , 在外太空星系种植架空蔬果 。 除了培育、改良品种等基本功外 , 玩家还需要对付每天来袭的外星害虫 , 不过他们具有高度学习能力 , 绝对不是容易应付的对手 。

推荐阅读