如今的游戏行业正在日新月异的发展着。随着游戏画面的越来越逼真精细、操作反馈越来越真实、剧情和人物设计越来越细腻,今天的玩家们正在拥有一个越来越逼近现实世界的拟真游戏世界。近些年,AI技术也在不断发展,尤其是最近NLP模型ChatGPT的发布,都让人们意识到了人工智能技术的巨大潜力。人工智能技术当然在游戏中也有着应用,并且已经具有了很长一段的历史。下面将从时间发展的角度,对于几种人工智能技术进行介绍。
在电子游戏诞生后不久,游戏AI就随之诞生了。人们希望能够为机器赋予足够强大的智能,最好能够在人类的智力游戏中击败人类。例如井字棋,象棋、围棋等等。然而,这一时间段的游戏AI还十分原始,甚至不太能够以AI的标准将其定义。因为他们只是为游戏中的NPC编写了一些运行规则,即当玩家进行某些特定的操作时,NPC会做出相应的举动。
一个非常经典的案例是《吃豆人》。游戏中,玩家需要躲避4个小鬼的追赶,并吃到尽可能多的豆子。
吃豆人
这款游戏在当时获得了巨大的成功,并且也足够在游戏历史上留名。游戏中的四个“小鬼”就是通过AI来设计的。然而他们的行动逻辑非常简单:
- 红色:跟随玩家走过的路径。
- 粉色:以玩家行进路线的下一个路口为目标。
- 蓝色:以下一个路口后的路口为目标。
- 黄色:完全随机行动。
就是这些非常简单的逻辑,使得这四个小小NPC仿佛具有了智能,总是能够截住玩家的运动。然而这种逻辑只有在较为简单的游戏中可以使用。如果是像《红色警戒》这种策略类游戏,那就显得有些力所不及了。
状态机状态机,就是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。一个系统会有很多个状态,状态之间会通过检测输入的转移条件而进行转移,在转移的过程中会有很多的动作。如果将状态机应用于敌人AI的实现上,那么敌人的运行状态可以简单分为巡逻、战斗、死亡。开始时敌人为巡逻状态,检测到玩家后,进入战斗状态,被玩家击杀后进入死亡状态,如果玩家被击杀,就重新回到巡逻状态。这就构成了一个简单的状态机。大部分的游戏AI都是由这种方式来实现的,只是具体的逻辑要复杂很多,有些也会在其之上修改。
程序员的状态机
《只狼》这款游戏中,玩家可以和精英怪、boss进行真刀真枪的拼杀。这款游戏中的敌人行为AI,就是基于状态机进行了修改,被称作HTN——分层任务网络。它是把任务分为几种,之间的约束以网络形式表示。
- 原始任务,是可以执行的操作;
- 复合任务,是由一系列动作组成的复杂任务;
- 目标任务,是满足条件的任务。
游戏中,敌人的行为可以分为主动任务和被动任务。敌人AI默认进行主动任务,会根据与玩家的距离,判断释放不同的连招组合。当玩家做出动作后,敌人AI会检测到主角的动作,切换成被动任务,此时会进行躲闪、防御等动作。
如果你是狼,也好。。。
而像《崩坏:星穹铁道》里的小兵,就是非常简单的状态机了。没事时来回走走,看看风景;当看到玩家时,头上冒起红色感叹号,然后跑过来追击。
行为树AI也是现代游戏AI的主流方法。它的结构与设计比状态机更加复杂,但本质上也是通过逻辑判断,实现智能化的动作执行的。行为树是一种树形结构,通过不同类型的节点,来确定将要做哪一种操作。每次执行完成后,还会向父节点传递执行效果。由于节点类型有很多,例如顺序节点、条件节点、并行节点等等,因此能够实现较为复杂的敌人AI。比如:让敌人通过选择节点判断距离并攻击玩家,同时,通过并行节点判断自身血量是否过低,并且通过序列节点来后退并躲避玩家攻击。
行为树也被应用在了很多游戏中,例如《怪物猎人》中数量众多的怪物,其运行逻辑就是通过行为树来实现的。在与玩家战斗的同时,如果场景中乱入了另一种怪物,那么怪物有时就会放弃与玩家的战斗,转头去与另一只怪物进行领地争夺。
争夺地盘!
其他应用
随着AI技术的发展,也有更多的游戏开发者尝试将强化学习、深度学习等技术应用在游戏AI的塑造上来。一个很新的应用是斯坦福大学的研究人员使用chatGPT创建了一个有25个角色的虚拟小镇,其中每个角色都有自己的喜好、性格、生活方式等,并且可以互相交流信息,自行发展。虽然这个实验只运行了两天,但是它对于游戏行业的影响是轰动性的。这意味着玩家们可以拥有一个更加鲜活的虚拟世界。
此外,也有许多研究者、开发者尝试用强化学习的技术训练AI模型,测试它们在不同游戏上的表现。例如游戏《2048》,《贪吃蛇》等等。
B站视频
B站视频
这些尝试也为AI的发展指明了一个新的道路。如果敌人AI能够以玩家的操作为数据输入进行训练,那么就有可能让玩家自行训练出一个越来越强大的敌人。继续幻想下去,如果开发一个“AI训练师”的游戏,让玩家能够训练出自己的AI,并且能够在玩家之间传输AI数据,使得不同玩家的AI可以相互对战,感觉会很有意思。但是根据目前AI的智能水平,更可能的情况是训练出的AI挡住了一切正常的攻击,却被一记奇怪的操作手法击倒了。。。
游戏AI的技术依然在发展。相信未来我们能够看到越来越智能的游戏NPC。