游戏AI的深度学习、神经网络...

2018-08-07 10:49:37 190

提起游戏中的AI,似乎和我们现在谈论的人工智能是两个完全不同的东西。可当今天我们为人脸识别技术惊艳时,却忘了我们在上古时代的游戏CS1.5里被电脑爆头的恐惧。

当然,研发和运行成本所限,游戏AI中很少应用到神经网络、深度学习等等现在流行的技术,但游戏AI也绝不仅仅像是王者荣耀中人机比赛中那么简单。

首先我们要知道一点,游戏AI的愚蠢并非技术所限,是因为它们被设计来更好的陪伴玩家游戏,给予玩家成就感,而不是把玩家揍成狗(LOL末日人机笑而不语)。另外,游戏AI的强大,很多时候也不是因为技术,而是机器可以更准确的看到你的技能范围,有着更稳定的走位不受状态和情绪的影响。

不过在我们玩过的游戏中,的确有一些让我们感受到AI的存在,《模拟人生》系列就是最好的例子。在知乎有过一个问题叫“你在模拟人生中经历的最感动的事情是什么?”,里面有大量关于游戏中角色自我行为的讨论。

没错,在这个游戏中,你细致的设置过角色的星座、性格、喜好后,它会按照设定进行自我行动,配上游戏题材,几乎和人类无疑。

做到这一点,依靠的是“行为树”。行为树和此前介绍过的决策树非常相似,通过状态枚举、流程控制来设计游戏中人物的行为。只是相比决策树单纯的通过各个节点进行IF,THEN的判断,行为树中充满了条件节点、动作节点、选择节点、顺序节点等等更复杂的东西。再加上一些随机动作,行为树下的NPC几乎可以以假乱真。

图片关键词


如上图所示,黄色矩形为执行节点,白色字体为条件节点。模拟人生人物在“吃饭”这一组合节点中,首先要判断自己是否饥饿、冰箱里是否有食物,如果结果都是“是”,就会执行做饭这一行为。

现在很多游戏中的NPC都采取了行为树技术,尤其是在MMORPG中。根据自身数值和周围环境对自己的行为作出判断执行,听起来似乎很容易理解,不过在FIFA、实况足球等等车球枪游戏中,AI又是如何进行团队协作的呢?多层状态机是解决方案之一。

状态机本身是一种很基础的计算理论,挑选出可以描述问题的变量和影响问题的外部变量,对各个有效状态进行动态分析,找到动作和状态的对应关系。最后确定目标问题的初始状态,就可以执行对应动作。

实现团队协作,需要设置多层状态机配合目标设定。将团队协作分为1+X层,其中1是为团队状态机,负责判断团队整体状态和动作,X则是各个角色需要完成动作的多层状态机设置,像是最起码的跑步路线,到再上一层的射门、传球,继续下去可以有射门角度、传球速度等等细节。在这一逻辑之上,还有很多锦上添花的部分,像是游戏内数据的概率统计、随机动作等等。据说也有一些游戏已经引入了神经网络,比如FIFA、使命召唤等等。

电话咨询
课程大纲
精英导师
QQ客服