你在王者荣耀里遇到的猪队友可能真不是人 而是腾讯的人工制杖

2017腾讯全球合作伙伴大会11月8在成都举行,腾讯公司副总裁林松涛在大会演讲中,就腾讯开放平台、AI战略、技术赋能等话题作出分享。

其他方面我们暂且不谈,单说在AI方面,腾讯副总林松涛表示,在游戏AI领域,腾讯人工智能“绝艺”已拿下世界机器人围棋比赛的冠军。

可怕的是,绝艺现在还在学习怎么打《王者荣耀》,绝艺玩《王者荣耀》的水平正在不断上升。“这个赛季的排位赛里边你运气好可能会碰到绝艺,它也在打排位。”林松涛说到。

恩,不断上升。所以具体是什么段位呢?所以到底是厉害还是不厉害呢?人工智能AI被吹的神乎其神,难道绝艺已经达到最强王者之巅,长期霸占荣耀王者榜首?

我们带着疑问,分析一波。

首先,绝艺肯定不可能跟游戏中的AI一样制杖,一个劲的仍技能,往塔下冲?不可能的。好歹绝艺也是AlphaGo级别的人工智能。

我们可以继续分析,这里有个前提条件,绝艺也是跟人们一样的,接收到信息,然后输入操作指令。也就是说,它不能去分析网络接收到的数据包,而是真正的通过接收游戏中的信息,发出操作指令,与我们人类一样。

这点很关键,因为此前有些英雄联盟的外挂就可以做到自动躲避技能,很多人觉得很厉害,其实无非是直接分析从网络接收到的数据包,得知敌方发出了非指向性技能的指令,然后利用控制脚本使开挂者的角色往垂直技能的方向走几步而已,只不过这个过程只有一瞬间。就这样躲避技能的成功率都高达80%,如果绝艺能分析数据包,那肯定没得玩。

如果满足以上条件,我们再继续往下分析。接收到游戏中的信息,绝艺肯定会要处理信息,而想要赢得比赛,需要的计算量有多少呢?

王者荣耀目前有72个英雄,87个装备,英雄所处的位置也不像下围棋那样有固定的点位,虽不是无限多个,但没有上万也有几千了。每个英雄技能不一样,等级不一样,买的装备不一样,各项属性也不一样,需要的伤害值也不一样,每一秒整个地图中的英雄都在运动,随机性太大。绝艺想要整局计算下来,这样庞大的数据量,你觉得可能么?

所以必然不能整局计算,而且绝艺只是操作一个角色,那么只计算这个角色就好了。一个角色的伤害计算想必对于绝艺是十分简单的,他可以做到所有需要精准伤害计算的事。能秒杀的绝不手软,团战迅速支援,抢龙精确把控,知道所有人有没有闪现,操作无缝连接,以最快的速度走A最快的速度连招,净化秒解控制。计算技能cd,攻击距离,技能范围,对A伤害量这些对于绝艺来说绝对是简单的。

但是有个对于玩家来说非常简单,但是以机器思维却无法理解的问题,那就是判断

  • 对击杀的判断,比如绝艺玩的一个中单法师,他能根据对面的血量和自己的技能伤害判断是否可以击杀对方。但是它要如何判断是不是现在去击杀呢?如果距离远了,走过去想要秒杀对方却被对方消耗了,迅速计算下来发现自己不能击杀对方了,又退回来,然后被对方追着收下人头?这跟制杖有什么区别?
  • 对支援的判断,绝艺还是一个中单法师,如果在它的计算中,不能击杀对方,那它要做什么呢?一直打兵发育?还是去支援?支援哪里?上路还是下路?是现在去还是等下一波兵?如果对方有人强抓下路,绝艺能够及时赶到支援我相信,但是如果没有GANK,绝艺怎么判断自己该干什么呢?
  • 对团战的判断,什么时候开始抱团?有队友没来怎么办?要把外塔推掉再去支援?还是去其他路支援了再来推塔?如果对方有人没有出现在视野中,是去哪儿了?该如何应对?

这样不对称信息会让电脑做出这样的判断特别吃力,然而恰恰是这些判断会极大的影响这局游戏的走势。这也是即使战略游戏的魅力所在,随机性太大。绝艺若是按照固定的程序执行,只能根据信息被动的计算而做出应对,那肯定还是打不过人类玩家的。

于是引入深度学习的概念,绝艺会学习各种王者荣耀比赛当中,人们所做的判断。当这个经验积累到足够多的时候,它便能学习到应对各种情况的措施,能够对绝大多数情况作出判断。但是这也只是以前出现过的套路,相信所有玩王者荣耀的玩家都没有碰到过与之前一样的对局吧,就算是某种情况在我们看来与之前一次局的一瞬间相似,在绝艺从数据层面看来,也绝对不是一样的。这要怎么学习呢?

人工智能目前的三要素,是数据,算力,算法。

  • 王者荣耀每局都不一样,数据量太庞大,目前出现过的情况可能只是全部数据的很小一部分。
  • 算力上面来讲,以目前的硬件水平也是无法满足的。
  • 还有就是算法,这个考验的是AI设计者的水平,目前Alpha系列已经算是最高水平了,仍然是不足以在MOBA游戏中打败人类的。

可能有人会提出之前在DOTA2中打败人类选手的OpenAI,这个结合上面的分析,它只能1V1,只会使用Shadow Fiend一个角色。这种SOLO主要是看玩家的微操作,对游戏的大局观和策略毫无要求,打过人类,合情合理。

当然,我不是否定我们在AI方面的努力和成果,只是提出一些疑问和观点。AI加入游戏中学习是很酷,但是事实告诉我们,我们应该理性看待它,而不是盲目的推崇它。

好的,重点来了。结合上面分析的问题,我们在游戏中碰到的哪些队友明显不是人(是AI)呢?请注意,这只是我的推测。

  • 首先,那种满血就上来打你,没血就回城,看起来就傻的不行的,这很初级,不会是绝艺。
  • 学习过程的绝艺,可能会慢慢厉害起来,但是它可能还是有点傻,只会补兵发育,不敢去打架,因为它算过了,打不过。
  • 如果不幸,绝艺已经发展到了更高阶段。还让你碰到了,会是什么情况?你会看到对面绝艺发育完美,单挑无敌,见人就杀,单带一路,就是不团。因为经过它的计算,加上队友的团战是打不过的,于是他只好孤军奋战。
  • 当然,绝艺有可能成长超乎我们的想象,它也许已经有了大局观,可以预演算整场比赛。你可能经常在在6分钟或者8分钟两边势均力敌的时候看到发起投降的选择框,这也许是绝艺算出这局游戏胜负已定,主动发起投降。手动斜眼

腾讯游戏AI目前大概就是这几种可能性,朋友们遇到坑的时候别急着喷,可能它是个人工制杖,根本听不懂呢。想着遇到绝艺当队友能带你飞?那是不可能的,它不会跟你交流的,你们毫无配合。