PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

游戏人工智能的基础技术是什么

青灯夜游
青灯夜游 原创
2022-11-21 14:52:03 1277浏览

游戏人工智能的基础技术是“定性”。定性即行为或表现是特定的,而且可以预测的,没有不确定性;比如说塑造一个怪物角色,沿着xy坐标轴前进,往某目标点移动,直到该角色的xy坐标和目标点的坐标重叠。定性ai技术是游戏ai的基础;定性ai技术的结果是可预测的,效率高,易实现、理解、测试和调试。

本教程操作环境:windows7系统、Dell G3电脑。

游戏人工智能 的定义相当宽广而且灵活性很大。无论采取何种手段,只要能给人以某种智能程度的“错觉”,让游戏更能令人沉迷于其中,更具有挑战性,最重要的就是要更好玩,那才能看做是游戏 AI。

定性与非定性 AI

游戏 AI 通常分成两种,定性和非定性。

定性

定性即行为或表现是特定的,而且可以预测的,没有不确定性。具体实例可以是简单的追逐算法。比如说塑造一个怪物角色,沿着 XY 坐标轴前进,往某目标点移动,直到该角色的 XY 坐标和目标点的坐标重叠。

非定性

与定性行为相反,非定位行为有某种程度的不确定性,有点不可预测(不确定到什么程度与人们对所采用的的 AI 的方法的理解的难易程度有关)。具体实例是让非玩家角色学习到适应玩家的作战战术。这样的学习能力可以利用神经网络、贝叶斯技术或遗传算法得到。

定性 AI 技术是游戏 AI 的基础。定性 AI 技术的结果是可预测的,效率高,易实现、理解、测试和调试。虽然定性方法有很多,但是预先考虑各种场景以及明确写出所有行为的重担都会落在开发者的肩上。而且定性方法无法帮助NPC 学习并进化,玩家只要认真观察一下,就可以预测出 NPC 的定性行为。我们可以这么说,使用定性行为,会限制游戏软件的“寿命”。

非定性技术可以让 NPC 自己学习,并进化出新的行为,比如说突现行为(没有明确指示而出现的行为),让玩家在玩游戏时难以预测,增加游戏可玩性。开发者也无需事先预先所有可能的场景,写下所有明确的行为。

尽管非定性技术可以增加游戏的可玩性,但是长久以来,开发者对非定性 AI 保持距离(但现在已逐渐得到改变)。由于无法预测,就很难测试和调试(因为没有办法测试玩家所有可能的行动,以确保游戏软件不会出 Bug)。而且游戏开发人员面对的是不断缩短的开发周期,使得开发者难以全部了解最新的 AI 技术。

另一因素也限制了非定性技术的发展,最近开始,开发者把他们的注意力更多的放在图画的质量上(因为玩家都喜欢美的东西)。结果为了做出更好更快的图画技术,就没有时间开发更好的游戏 AI 了。

现有的游戏 AI 技术

有限状态机(finite state machine,FSM)是到处可见的游戏 AI 技术。第九章的时候我们会详细学习这部分,有限状态机的基本概念是列举出计算机控制的角色的一连串动作或状态,再利用 if-then 条件语句检查各类情况和满足条件,再根据判断结果执行动作或更新角色状态,或者在动作和状态之间做转换。

开发者时常会在模糊状态机(fuzzy state machine)中用到模糊逻辑,让最后执行的动作难以预测,减少必须以 if-then 语句大量列举条件的重担。在有限状态机中,你可能有“if 距离值为10且健康值为100,then 攻击”这样的规则,但是模糊逻辑与此不同,它允许你用不太精确的条件设计规则。比如“if 靠近而且足够健康,then 强力攻击”。模糊状态机将在第十章时详细介绍。

在各类游戏中,非玩家角色的基本任务是必须找出有效地路径。在战争模拟游戏中,非玩家角色的军队必须能够通过各种地形,避开障碍物,抵达敌军所在地。第一人称射击游戏中的生物,必须能通过地牢或者建筑物以便和玩家相遇或逃离玩家视线。这种场景是数不胜数的。毋庸置疑,AI 开发人员会很关注路径寻找。第六章中我们会谈一般的路径寻找技巧,到了第七章才会谈重要的 A* 算法

上述的一些技术,只是现有游戏 AI 技术的少数几种而已,其他还有以规则为主的描述性系统以及某些人工声明技术,种类繁多。人工生命系统是一种人造系统,可以展现出符合人性的行为。这些行为属于突现行为,其发展是结合各种低层次算法运作后的结果。后面我们会讨论人工生命的实例以及其他技术。

游戏 AI 的未来

游戏 AI 的下一件大事就是“学习”。游戏上市后,所有非玩家角色的行为,不再事先安排,游戏玩的越久,游戏就会更多地演化和学习,更具适应性。这样的游戏会跟玩家一起成长,玩家也难以预测游戏行为,因此能扩展游戏的生命周期。游戏会学习并演化,造成了游戏本身无法预测的特性。

“学习”与“角色行为反应”技术,属于上文提到过的非定性 AI 的范围,所以有相当大的难度。明确的说,这种非定性的“学习”AI 技术,要花更长的时间开发和测试。再者,要了解 AI 究竟会做什么也更加困难,这也使得调试变得更困难。这些因素是“学习”AI 技术得以广泛应用的巨大障碍。不过,这一切都在改变之中。

几个主流游戏都用了非定性 AI 技术,比如“Creatures”、“Black & White”、“Battlecruiser 3000AD”、“Dirt Track Racing”、“Fields of Battle”以及“Heavy Gear”。这些游戏的成功,重新点燃了人们对“学习”AI 技术的兴趣,诸如决策树、神经网络、遗传算法以及概率方法

这些成功的游戏软件,运用非定性方法时也搭配使用了传统的定性方法,只要在最适合并且需要的地方才使用非定性方法。神经网络不是仙丹,无法解决游戏软件中所有的 AI 问题,然而你可以在混合的 AI 系统中,解决特定的 AI 任务,借此获得令人印象深刻的结果。这样的话,你可以把 AI 中不可预测而且难以开发、调试和测试的部分隔离出来,同时又能让你的 AI 系统的大部分,都保持传统的形式。

更多相关知识,请访问常见问题栏目!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。