17173 > 游戏资讯 > 最新手游 > 正文

从吃豆人和王者荣耀谈起 "阿法狗"离我们有多远?

2017-06-02 06:00:20 神评论

【本文由作者供17173独家发布,转载请注明出处】

不久前,中国围棋峰会人机大战中,柯洁九段执白对阵DeepMind人工智能AlphaGo,弈至209手,柯洁拿起两颗棋子盘上示意认输。至此,此次人机大战三番棋结束,柯洁0:3负于人工智能AlphaGo。这场人机大战的胜负一经决出如一石激起千层浪,在社会各界掀起轩然大波,而“人工智能”这4个字再一次成为最热门的话题。(文/17173_海豚宝宝)

最新图片

人工智能战胜“千古无同局”的围棋

其实早在19年前,1997年5月11日的时候,IBM公司研发的超级国际象棋电脑“深蓝”在连续三盘和棋后,终于在第六局取胜,以总分3.5:2.5战胜了当时在国际象棋领域独孤求败的卡斯帕罗夫,宣告计算机在国际象棋项目上完成对人类的超越。当时的大众并不相信人工智能能够完全碾压棋艺界,在此后的很长一段时间里,不时还有国际象棋高手能够战胜电脑的事例传出,不过在计算机的不断更新提速中,别说是国际象棋就连中国象棋都被人工智能完全攻陷。

最新图片

宋代学者沈括曾在他的《梦溪笔谈》中尝试用数学方法对围棋的所有变化进行过测算,测算结果为每一步棋有“三的三百六十一次方”种完全不同的变化,就是将五十二个万字连乘,沈括所求得的围棋变化总数是一个巨大的天文数字。用今天的电脑来进行演算,三的三百六十一次方约等于1.74×10的172次方,1 0的8次方是亿。而包括银河系,太阳,地球,月亮在内的整个宇宙历史也只不过几百亿年。所以围棋也有着“千古无同局”的美誉。

不过,围棋这个作为人类在棋类游戏中仅存的阵地,也在柯洁对阵AlphaGo的大战中被人工智能攻克。这也代表着人工智能在棋类游戏中已经达到了独孤求败的地步。

人工智能在游戏中的应用

撇去深蓝和AlphaGo不谈,人们印象中的“人工智能”大多数是栩栩如生的机器人,如同前段时间热映的电影《攻壳机动队》中的主角草雉素子一样,外表与人类极为相似,能够用语言交流,并能够按照人类的指令做出动作或决策,虽然电影是虚构的,但是这确实是人工智能发展的一个方向。而在当下,游戏中的人工智能的不断升级已经成为人工智能中的不可或缺的重要组成部分。

有人可能会问,什么是游戏的人工智能?简单的说,就是游戏AI。不论是很早以前的横版游戏还是现在的虚拟现实游戏,游戏AI都是玩家游玩过程中可以直接体验到的部分。在笔者看来,游戏作为消遣的娱乐手段,其目的就是让玩家得到快乐。在一款游戏中,有快乐的人就一定有不那么快乐的人,那么这个不那么快乐的人就是游戏AI 了。通过不断地战胜游戏AI,玩家将不断地提升自身的满足感,从而得到快乐的感觉,这样才能使的玩家对游戏产生一定依赖感。

最新图片

其实,游戏AI的本质为演绎与归纳,通过巨大的数据库为其提供源源不断的生命力。游戏往往会提供不同难度的选择,玩家将面对水平高低不一的游戏AI,抑或是游戏AI故意将难度下调,为玩家放水。

就目前而言,要让人工智能拥有学习能力暂时还难以实现,大多数游戏中的AI表现十分类似和雷同,它们只是根据数据库中编写的代码进行循环往复的计算,只有在开发者对细节进行调整(也就是所谓的优化升级)之后,游戏AI才会展示不一样的形态。当然,也只有持续不断地调整变化使其更符合玩家的需求才能打造出优秀的游戏AI。

从吃豆人谈起 早期游戏AI的诞生

小时候,想必大家都玩过风靡一时的《吃豆人》,自从1982年吃豆人游戏以Bally Midway作为初始形式首次公开亮相以来,距今三十五年的时间里,它在不同的游戏和计算机平台上至少推出了28 个版本,依旧是最成功、风靡时间最久的游戏之一,同时《吃豆人》也是最早拥有AI的游戏之一。

最新图片

我们都知道,《吃豆人》里一共有4种颜色的怪物。如果这4个怪物都以相同的算法来追踪玩家的话,那游戏里就变成4个怪物排队追赶玩家。如此一来,玩家只要确保屁股不被咬到就能安全过关。而游戏中的4只怪物分散到了玩家的四周,每只怪物的运动方式都各不相同,同时采用了包围并追击玩家的算法。

在与《吃豆人》同时期的《太空侵略者》中,敌机会根据难度而调整移动速度,不会停在玩家前面当活靶。在之后的Namco的射击游戏《小蜜蜂》里敌人飞机更为聪明灵活,会以单机冲锋或数架小队等阵行朝玩家进击,而且每只蜜蜂的飞行轨跡和速度都不尽相同,攻击结束后会飞回原本位置,组织相当严谨。

不过,当时的游戏AI都是在开发者不自觉的过程中产生的。“吃豆人之父”岩谷彻说过,当时他连“人工智能”或者“AI”这两个词都不知道,他只是努力地让所有人能都从这款游戏中获得快乐。不过从结果来看,确实是游戏AI的一次巨大成功尝试。

游戏AI的巨大变化 英雄联盟和王者荣耀的AI是怎样的?

随后,到20世纪90年代后,游戏逐渐进入3D时代,游戏AI也产生了巨大的变化。“自主思考型AI”也是在这个时间段出现的。游戏中的NPC会在游戏中观察及分析,并在此基础上采取必要的行动。在那之前,游戏AI基本只是整个游戏程序的一部分。而现代游戏AI已经发展成角色AI、Meta AI和导航AI三部分组成的复合型程序。

回过头再来看看《吃豆人》,角色AI是肩负起怪物角色大脑功能的AI、在那之上的Meta AI则是像游戏中的上帝一样控制游戏整体难度的AI、而在游戏内负责定位玩家位置并给出追踪路径的,也正是上面所说的导航AI。所谓现代AI的三要素在《吃豆人》中就已经存在了。

现在几乎所有的电子游戏中都有游戏AI的存在,不论是现在最火的手游《王者荣耀》还是风靡数年的《英雄联盟》都无时无刻不使用着游戏AI,只要在《英雄联盟》中打过电脑人的玩家都知道,电脑人很傻很天真。这是因为电脑AI会设置为,当其血量低于玩家一套技能伤害时就会自动往后退或者回城,从而避免死亡,所以玩家经常看到电脑人满血状态下不敢追杀对方残血的滑稽画面。当然在《实况足球》之类的体育竞技类游戏中,电脑AI会自动传球给当前状况下得分成功率最大的球员。

最新图片

可以说,在玩家游戏过程中,面对的游戏角色往往都是受到现有代码控制的,也就是说,玩家面对的就是游戏AI,它会自动从数据库中选取最优选项与玩家对垒。如果说一场游戏里可能出现的所有状况就是一张试卷的题库,那么AI将会有限状态机就是参考答案库,一旦出现某种“题型”,就挑选出相应的“答案”。

游戏AI的两种常用方法:规划器法和行为树法

总的说来,现在的游戏AI设计最常用的方法有两种:规划器法和行为树法。

所谓的规划器法,是给NPC设置一系列不同的状态,在不同的情况下激活不同的状态,让它看上去似乎对局势有自己的判断。从早期的《荣誉勋章》开始,受到对面火力压制的AI战友就会压低身子前进。这不是因为它真的“知道”对面有子弹飞过来并设法躲避,而是预装的规划器告诉它当有子弹过来时模型就要做出压低身子的行为。知道子弹打来进行躲避与规划器强制执行动作其实是完全不同的概念,前者是对环境继续预判后作出动作,后者是遇到情景后强制执行动作。

最新图片

行为树法就是暴力枚举所有可能的行为,然后让AI沿着规定好的路径运动。早期的下棋软件就是这种枚举法的产物,电脑棋手其实完全不知道棋盘上落子的意义,只是跟着设计师设计好的动作应对对手的棋路。而在电子游戏上的行为树法体现最明显的是我们和NPC的对话场景。我们选一句问题,NPC就回答一句,一直到没话说为止。所有的对话看似是你的选择,实际上都是剧情设计师规定好的。

游戏AI发展突飞猛进 不再只是“单机”游戏

虽然说,大多数游戏中的AI并没有独自学习的能力,还是依赖数据库的支持。但是,之前谷歌开发的深度学习程序Deep Q-Network通过5款雅达利2600主机的游戏进行自主学习就是一个比较知名的例子。从这点来说,这些深度学习AI将有不可限量的发展前景。

最新图片

在当下世界范围内正在掀起AI发展的大潮中,AI的形态也开始从程序进化了可以从大量的信息中获取所需的内容并自主学习。

在《求生之路》里,游戏会随时计算玩家的紧张度,并以此为依据进行调整。这个设计已经是目前游戏界的标志规范了。在玩家看不见的地方设置一个怪物,并在玩家的精神松懈下来的时候突然出现。AI在判断出玩家的能力水平较低的时候就会减少这类怪物的出现数量,反之则会增加。在《恶灵势力》中,特殊感染者会猥琐跟踪玩家并在玩家最放松的时刻突然发起袭击,而玩家的AI同伴则会及时反映过来对玩家进行掩护。

最新图片

在某些游戏中,甚至还会出现游戏AI的“背叛”,在一定的条件下,玩家的电脑同伴会在背后偷偷捅刀子,让玩家防不胜防。以前游戏AI的套路出牌在当下的AI中显得格外小儿科。现在借助AI技术的发展,大量的东西都变成随机生成的了。在随机生成之后,游戏AI还能对其进行解析,并算出对应的导航路径,然后传达给同样自动生成的敌方角色,诱导其前进,可以说现在的游戏已经不是玩家一个人的游戏了。

结束语

随着今后科技的不断进步和硬件软件的推陈出新,未来的游戏AI一定是五彩缤纷的,只要人类敢去想象,就会有令人叹为观止的游戏AI出现。游戏AI从无到有,不过短短几十年的时间,而当下的游戏AI的成就已经远超过我们当初的想像与奢望,而未来的成就只能让人更加惊叹。

不过,大家需要明白的是,游戏AI不论走的有多远,其本质都是为游戏本身而服务。当然,包括游戏AI在内的人工智能也是被人类所创造,也必须为人类服务。

【编辑:Zeratul】