AI改平博PINNACLE变游戏设计【游戏平衡篇】
近日,《2020年1-6月中国游戏产业报告》发布了。报告显示,今年上半年,中国游戏产业实际销售同比增长22.34%,随着游戏市场扩张,人口红利已逐渐消失,用户规模增长放缓,游戏行业竞争已愈发激烈。
伴随着用户争夺战的,还有越来越严格的游戏监管政策。2018年版号限制以来,游戏版号发放数量持续下降。监管层有意通过控制数量引导行业创新与品质升级。
针对这种趋势,“游戏出海”和“云游戏”再度成为热点话题。但不论哪种选择,对于游戏厂商而言都是一场优胜劣汰、适者生存的考验。而AI或许能够为游戏开发者们加速游戏创新、打造精品游戏、创造更优体验,抢占更多的市场份额提供更多可能性。
在游戏发展的早期,AI其实就已被用于解决游戏设计难题了,如上世纪80年代风靡全球的经典街机游戏《吃豆人》。
在这款游戏里,玩家需要躲避四种不同颜色怪物的追击,同时吃掉迷宫里的所有豆子。这4种不同颜色的怪物采用了不同的追击算法,因此不会排着队追击玩家,而是从不同路径、以不同方式对玩家进行围追堵截。在《吃豆人》中,游戏角色第一次表现出了丰富的个性。此外,游戏还采用了Meta AI,针对不同水平的玩家动态调整难易程度,以提供更个性化的游戏体验。
随后,越来越多的电子游戏开始将AI技术与游戏结合。在这些游戏里,AI大多扮演的还是游戏中的怪物或Boss的角色,主要目的是为了带来更好的游戏体验和控制难易程度。
近年来,随着视频游戏的不断发展和技术的更迭进步,AI在游戏中开始有了更多的角色和功能。比如在《巫师3》里,AI可以基于设定好的动作和场景自动生成过场动画,其中的镜头位置、角色表演内容和动作变化等都是AI自动完成的。
在这篇文章里,我们将重点将从游戏平衡性的角度,一起探讨AI是如何辅助游戏设计的。
随着人工智能技术,尤其是强化学习技术的不断发展,我们日常更加熟悉的或许是新闻里称霸各类型游戏的AI:零封围棋世界冠军柯洁的AlphaZero,在星际争霸中击败99.8%的玩家的“AlphaStar” ,在电竞游戏中击败世界冠军的Dota2 AI “OpenAI Five”,以及在六人无限制德州扑克中击败人类职业选手的Pluribus……
然而游戏AI的目的并非完败人类,而是为了提供旗鼓相当的对战体验,保证游戏难度平衡,让玩家享受到竞技趣味。下面将从战斗机器人、测试机器人和游戏匹配几方面来解释游戏AI是如何帮助确保游戏平衡性的。
小怪、BOSS、NPC等由电脑控制的游戏机器人不仅是游戏中的必备角色,有时甚至可以成为游戏的一大卖点。如日本游戏厂商 From Software 开发的《魂》系列和《只狼:影逝二度》,其高难度的关卡战斗设计曾引起玩家的广泛讨论,并激起了很多游戏高手的挑战欲望。
而在PVP游戏中,自动化的战斗机器人也有多种用途,如新手指引、进阶练习中的陪练机器人等。
然而,实现一个机智有趣的游戏机器人并非易事。简单地通过调整游戏角色的数值来调节AI强度并不适用于所有的游戏,过难或过易都会引起玩家的反感,大大降低游戏的乐趣。我们真正需要的是一个智能灵活、难度适中的游戏AI。这意味着开发者需要针对游戏中可能发生的不同情况,设计合理的AI行为逻辑,并通过角色的控制接口展现具体的游戏内行为。
传统上,业界在开发游戏NPC或Bot时采用的是规则驱动的方式(如状态机、行为树,或GOAP\HTN等更复杂的效用系统),人为定义的条件会触发预先设计好的游戏行为,条件越多,行为越复杂,角色看起来就更智能。规则驱动的局限性也很明显,主要体现在两个方面:一是规则很难涵盖所有的情况,设计出来的机器人表现就会比较僵硬;二是需要大量的人力去设计实现复杂的AI行为逻辑。
以强化学习为代表的人工智能技术则恰好能够突破以上两个限制。我们可以构造出一个以游戏状态为输入,角色控制动作为输出的神经网络模型,通过训练的方式摆脱对人工设计的依赖,同时获得一个更加聪明的机器人。
强化学习是一类不依靠数据,在与特定环境的交互中不断试错,发掘最优策略来解决给定任务的人工智能方法。与图像种类预测、机器翻译等深度学习任务不同,强化学习模型并不需要提前准备好的数据。模型会作为一个角色参与到游戏中,针对游戏中可能发生的各种情况(State),尝试不同的动作(Action),并根据游戏的反馈(Reward)调整行动策略,直到模型可以完美地完成设定的任务。得益于神经网络强大的泛化能力,强化学习模型除了能够用于研发Bot和NPC以外,甚至能够处理像星际争霸这种每帧理论可选操作多达10^26的复杂游戏。
另外,对比下图游戏AI的开发流程,我们可以看出,通过强化学习,游戏AI设计实现的人力成本,变成了设计模型的人力成本和训练模型的机器成本。因此,当期望得到的游戏AI足够复杂时,强化学习方法将更具成本优势。
保证游戏战斗系统的平衡性一直是游戏开发的难点之一。比如,在MOBA游戏中新加入一个英雄后,游戏策划既要保证这个角色自身的技能和数值设计符合预期,又要确保该角色与其他英雄配合时不会存在无解的套路,不然同样会影响竞技的公平性。而这个过程通常需要大量人力去反复进行游戏测试和设计调整。
上文提到,强化学习能够通过在环境中不断试错得到一个强大的游戏AI。而基于这种“不断试错”的特性,我们可以将强化学习模型转变成为一个强有力的自动化游戏测试工具。
具体来说,首先我们可以训练得到一个近似高端玩家水平的游戏AI,再通过与其他现有角色的AI进行模拟战斗,就可以在角色上线之前模拟真实的对局数据,并以此来调整角色的设计,评估角色加入后对游戏平衡性的影响。同时,如果游戏环境中存在的漏洞,模型也非常有可能在海量的探索尝试中发现并加以利用,间接地帮助我们挖掘出隐藏很深或是极端操作下才会触发的游戏bug。
此外,对于一些相对简单的游戏环节,比如MMORPG游戏中的一个小副本任务,利用搜索算法或者适量的人类玩家数据进行监督学习,还能够快速生成测试跑图机器人。
相信很多玩家都有过被队友坑,或被对手完虐的体验。通过AI的匹配机制,我们可以准确评估玩家水平、匹配水平相当的队友以及对手,保证对战的公平性,改善玩家的游戏体验。
相比传统ELO等方法,Trueskill2可以综合先验信息(如装备购买情况、游戏经验值等)和后验信息(如局内击杀数、被击杀数、断线逃跑情况等),通过概率图模型让消息在整个模型中传播,不断修正对玩家水平的评估,在几个对局内就获得对玩家水平的准确估计。
而在水平匹配的基础上,玩家可能对社交也有相应需求。我们可以通过AI算法分析玩家用户画像,再进行相应匹配,就能够满足玩家更高层面的追求。
当然,AI在游戏领域仍有更多的潜能,感兴趣的小伙伴还可以参阅游戏AI入门秘籍的【画面质量篇】和【游戏环境篇】内容,感谢大家阅读!平博 平博官网平博 平博官网
扫一扫关注微信公众帐号