游戏中运用了人工智能、机器学习等智能算法的思考

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

游戏中运⽤了⼈⼯智能、机器学习等智能算法的思考
、话题的优秀回答者
既然你提到了Façade,那可以进⼀步了解⼀下⽤到了增强学习,曾斩获不少学院派游戏⼤奖的《⿊与⽩》(Black and White)。

《⿊与⽩》围绕增强学习的特点打造核⼼玩法,让玩家扮演反馈提供者的⾓⾊,通过上帝视⾓的扇巴掌和戳怪物等反馈,来影响游戏中各个⽣物的表现,从⽽培养出有复杂⾏为能⼒的智能⽣物。

游戏中的⽣物使⽤⼀种围绕信念-欲望-意图设计的⾏为框架,把游戏物件、⽣物要达成的⽬标、以及达成⽬标所需的⾏为树联系起来,产⽣出复杂的⽣物表现。

总的来说,⼀般游戏使⽤机器学习技术的思路有两种,⼀种是利⽤“学习”能⼒,即让AI适应玩家或者模仿玩家,也是这⾥《⿊与⽩》所使⽤的,但玩家能给出的学习样本是⾮常有限的,很难保证效果到位;另⼀种是利⽤学习后得出的“成果”,即得到能解决某⼀特定问题的强⼒AI,但未必能给游戏本⾝的娱乐性带来太⼤的提升。

单纯使⽤机器学习的“成果”部分来提升游戏AI⽔平的学术研究已经有很多了,但⼀般⽽⾔⼀个模型只能⽤来解决复杂游戏中的⼀个⼦问题,⽐如《⽂明》中的城市选址,《Quake》中特定模式的最佳团队策略等。

各⽅⾯都采⽤机器学习技术来打造AI也不是不可能,但是相⽐传统的状态机⾏为树等做法,提升的只是AI的实⼒,服务的只是少部分核⼼玩家,付出的开发成本(时间、技术⼈才、试错)却⼀定不少。

传统游戏AI的⼀个特点是强调可预测性(predictable),⼀⽅⾯是让玩家能够通过AI的表现很容易地倒推出AI的⾏为准则,然后在了解其规律的基础上找寻更好的解法,从⽽提升⾃⼰的游戏⽔平;另⼀⽅⾯具备强可预测性的AI能保证在动辄以⼗万为基数的玩家群体中,不会出现难以预料的极端情况破坏体验,⽐如⽆限关卡马⾥奥就需要保证不会因为随机组合⽽出现玩家理论上不可能通过的障碍。

游戏希望的是,玩家败给AI是因为没找到它的弱点,⽽不是单纯因为AI不可战胜,这点与提升AI实⼒的做法是背道⽽驰的。

机器学习做游戏AI也不是唯⼀出路,有在游戏的迭代检验部分运⽤相关技术的可⾏性。

⽐如我做⼀款类似星际争霸的游戏,⾥⾯存在游戏策略的相互克制关系,那我可以通过多个机器学习模型之间的竞争去提前演算出“天梯环境”的变化,对游戏平衡有⼀个直观的感受;⽐如上⾯提到的⽆限关卡马⾥奥等⽤到过程内容⽣成技术的时候,结合机器学习技术来进⾏动态难度调整(DDA),⽽⾮设计师的脑补。

在这些⽅向上,机器学习更像是设计师的⼀种⼯具,运⽤在⽣产过程中,⽽不是游戏本体中,⽤来减少设计偏差,从⽽控制游戏质量。

既然⽤机器学习提升AI的实⼒没有多少实际运⽤的意义,真正能让机器学习技术在游戏中作为核⼼地位来使⽤的,还是要靠游戏玩法上的突破性和不可替代性来⽀持。

利⽤机器学习本⾝的“学习”能⼒⽽不是学习成果,去彻底改变玩家与游戏的互动⽅式。

《⿊与⽩》已经是⼀个很具开创性的⽅向了,但现在游戏圈⼤环境浮躁保守,外加本⾝的技术门槛,这部作品后数⼗年都没有值得⼀提的后来者出现了。

等传统玩法消磨殆尽,机器学习的技术进⼀步普及以后,或许游戏⾏业会往这上⾯去做突破吧。

不算参考资料的参考资料:
(机器学习给PCG做DDA)Jennings-Teats, M., Smith, G., & Wardrip-Fruin, N. (2010, October). Polymorph: A model for dynamic level generation. In Proceedings of the Sixth AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (pp. 138-143). AAAI Press.
(增强学习-⽂明4城市选址)Wender, S., & Watson, I. (2008). Using reinforcement learning for city site selection in the turn-based strategy game Civilization IV. 2008 IEEE Symposium On Computational Intelligence and Games. doi:10.1109/cig.2008.5035664
(遗传算法迭代FPS团队策略)Liaw, C., Wang, W. H., Tsai, C. T., Ko, C. H., & Hao, G. (2013). Evolving a team in a first-person shooter game by using a genetic algorithm. Applied Artificial Intelligence, 27(3), 199-212.
游戏AI⼯程师
我不完全赞成其它答案⾥说游戏不需要AI太聪明的说法,我认为现在没听说哪个游戏⽤上智能算法的原因是开发⼀个游戏AI的成本太⾼,⽽成本太⾼的原因是游戏上的⼈⼯智能技术还不成熟。

我在为⼀款MOBA游戏做游戏AI,已经做了⼀年半了,可能是国内花时间在这⽅⾯最多的⼈之⼀。

在玩家测试的过程中,我发现玩家其实是对⾼质量的机器⼈对⼿有需求的。

因为MOBA游戏的平均胜率永远只能是50%,⼀定会有许多玩家因为赢少输多⽽流失。

另外很多玩家是很难接受80%以下的胜率的,玩家匹配没法满⾜他们的这个需求。

所以⽆论是Dota2还是LOL,都有⼀批忠实于⼈机对战的玩家。

⽽且如果你玩过王者荣耀,可能发现AI还有另⼀个⽤处,在这⾥就不细说了。

另外对于策略类游戏,现有的游戏的AI明显是过于弱了。

例如⽂明系列、钢铁雄⼼系列、三国志系列,甚⾄已经弱到了影响后期游戏体验的地步,你把城市托管给电脑,它能给你管成⼀坨屎。

虽然这些游戏可能确实不需要有多强的AI,但也不意味着它们现在的⽔平满⾜玩家的需求。

AI强和AI是陪玩家玩的并不⽭盾,强⼤的AI可以陪更多⽔平层次的玩家玩,对于⽔平⽐较菜的玩家,只需要把难度调低就⾏了。

但是开发⼀个好的游戏AI成本不低。

如果⽤传统的⾏为树和状态机,那么⼀个复杂的游戏AI对程序的要求是很⾼的,需要有很强的调试能⼒。

游戏AI开发不同于其它类型的开发,游戏AI是很难测试的。

程序⾥的分⽀实在是太多了,依靠游戏⾏业的QA来帮助测试起到的作⽤很有限。

所以很⼤程度上只能靠程序员的⾃律,很多时候只有开发AI的那个⼈才知道这些分⽀之间的转换关系。

如果靠新技术,问题来了,互联⽹上的⼈⼯智能技术并不能直接拿到游戏开发上,需要重新进⾏研究,重新研究不仅需要⼤量成本,⽽且会有失败的可能性。

让⼀个游戏失败的可能已经够多了,游戏⾏业的投资⼈和制作⼈们是不愿意花这么多钱在⼀个不⼀定能成功的⽅向上的。

他们不愿意花钱的原因,其中⼀个恰恰是不懂技术的⼈总是会认为做⼀个优秀的AI很简单,知乎上的另⼀个关于游戏AI的问题,500多个回答,⾥⾯90%的回答都是认为游戏公司可以做出吊打⼈类的AI,只是游戏公司不愿意⽽已,⾥⾯甚⾄还有很多程序员。

他们犯的错在于,看到了AI的⼀点亮眼的表现,例如补⼑准,躲技能灵敏,就觉得AI只要照这样做下去就⽆敌了,但实际上随着AI的越来越复杂,开发难度增长之快让⼈难以想象。

LOL有个模式是噩梦⼈机,⾥⾯的⼈机对⼿技能伤害和范围都被⼤幅增强,但在刚出来的时候还是经常被玩家偷塔获胜。

后来他们在下⼀次出噩梦⼈机的时候,将它完全修改成另⼀种游戏模式,不允许玩家偷塔了,可以看出这是⼀次对AI开发的难度的妥协。

综上,游戏AI看上去的难度和游戏AI实际上的难度之间的差异,加上游戏⾏业巨⼤的盈利压⼒,加上基础研究的不成熟,导致了⽬前还没有可能做出⼀个拥有⾮常智能的AI的游戏。

随着⼈⼯智能研究深度和⼴度的扩展,这⼀天应该就在不久的将来。

如果是说AI⽅⾯的话,那其实没有必要,我只想说——游戏AI和传统AI是两个领域。

游戏AI主要有两⽅⾯,⼀⽅⾯是关卡设计⽅⾯(包括怪物AI之类的),可以称之为“对⼿型AI”;⼀⽅⾯是题主你说的NPC的⼈⼯智能问题,可以称之为“交互型AI”。

2013年的时候,我们做⼿游做了⼀个⽕纹Like的⼿游(结果没上就挂了),在那个游戏中,我研究了很多AI的算法,还有战棋类SLG的玩法、经典战术等(包括⽕纹、曹操传、梦幻模拟战等游戏,我研究了很多玩家的玩法),我最初的⽬的是制作出⼀个⾮常⽜逼的AI,让玩家难以战胜,并且我做到了,AI的⼀些⾛法让⼈感觉妙不可⾔,但是后来我还是否定了这样⼀个AI,因为游戏AI并不是要聪明到让玩家惊讶甚⾄⽆法战胜的,游戏AI终究是陪玩家玩的,好的游戏AI是让玩家能够摸出规律的。

从理论到现实中,我们也看到了,⼀般的神作AI都是有规律可循的,其实这个规律让玩家能够摸透,就是⼀种玩法,玩家利⽤对于AI的理解,安排打法战术,通过训练最后战胜AI甚⾄可以完胜,这时候才是玩家玩游戏最佳体验的时候。

所以玩家真正想要的对⼿型AI并不是那种“特别聪明”的,于是我带着这个思路重新审视了这些游戏的AI,发现他们的确也是故意做的有规律可循的,我想这就是“对⼿型AI”应有的调性(Motif)。

⽽交互型AI,我们也曾努⼒尝试去研究,期望让游戏能营造出⼀个更真实世界的体验,我们相信未来有⼀天AR的时代到来的时候(但我却从不看好VR,),我们会需要这样的AI去做游戏(或者是游戏化)。

但是这个想法就今天⽽⾔,距离“合适”还有很长的时间要等待,于是我们姑且说今天的交互型AI,为什么我们没有去⽤Deep learning来做呢?我们抛开实现难度等问题,只能说——这样的AI是有趣的(fun),但是它并不能让⽤户对游戏产⽣依赖性(hooked),也并不能很好的帮助游戏培养⽤户习惯(游戏最终粘稠住玩家的⼿段和赌博是⼀样的——培养习惯)。

我们曾经思考过游戏化培养习惯的⽅案,其中有多⼈交互的⽅式(类似匿名戒酒社、传教等模式),也思考过是否AI终究能在某些环节代替⼈,但是我们发现这种就是⼀个伪命题,因为⼈真正想要的社交是⼈与⼈之间(⽐如陌⽣⼈的陌陌、熟⼈的微信)的。

所以这个问题的答案,我只能总结为——游戏AI和传统AI并不是⼀个领域的。

相关文档
最新文档