提到AI,很多人首先想到的是AlphaGO。它击败了世界排名第一的围棋选手柯洁,展示了自己的实力。但是,一直有一种声音认为,围棋已经死了,只是在棋盘上下棋而已。让AI试试玩电竞?我会把它拉出来!
其实AI玩电竞很久了,起点很高:DOTA。众所周知,在LOL玩家面前,王者荣耀玩家都不敢谈操作;在DOTA玩家面前,LOL玩家也很难谈游戏性和复杂度。可以说,在目前市面上的MOBA游戏中,DOTA是最难的。那么AI练DOTA需要多久,能达到什么水平?
早在一年前,也就是2017年8月,AI就已经在1v1单挑中击败了天才少年Arteezy、神级单曲Sumail和TI冠军Dendi。有了这三个人的例子,恐怕没人敢说AI好欺负了吧?你能比Sumail更好吗?
但是,我们的DOTA玩家也不是好欺负的。多年的格斗生涯让他们掌握了喷技:呵呵,DOTA是一个人玩的吗?1v1是一个怎样的DOTA?!
说得好。所以AI还在努力。就在昨天,它以4000的平均分击败了天梯,5v5。
哇,你震惊了吗?你觉得人生灰暗:打了这么久DOTA,我已经3000多分了。现在AI已经可以打败4000个选手了,那我的人生还有什么意义?不用担心,因为这场战斗还是受到很多限制的:只能使用五个特定的英雄;不能打肉山,不能禁用部分装备(比如细剑和飞鞋),不能杀鸡,不能使用隐身单位或者隐身道具,不能使用召唤兽和幻术(陈,狼人,兽王,先知“动物园”流派禁,猴子直接禁),不能买眼/戳眼/转眼……DOTA玩家笑了,呵呵,你不买眼我就打你妈。我以为是认真的打架,没想到是这种玩法。爷爷不会合作的。马上离开!
请留下来,英雄。走之前先来看看这个AI的发展历史。
这个AI的全称是OpenAI,是埃隆·马斯克(Elon Musk,制造特斯拉,把火箭射上天空的人)专门为了玩电子竞技而投资成立的。因为上到5v5太难了,我们先做1v1,中间一对一。即使是这样的单挑,你还有很多事情要做:移动、攻击、正/负补偿、技能、取消技能(作弊)、取消后摇一摇、控线、买东西(还有拿鸡运输)、吃药(比如种树或者净化)……这些只是最基本的操作,根本不涉及具体的英雄。再详细一点。比如神主被动,就可能故意失血。比如在影魔身上测试压枪的精度。例如,QOP有不同风格的发挥,如主马克和主叫方,等等。DOTA这个游戏真的很复杂,那么AI是怎么学会打DOTA并击败Sumail的呢?
AI是这样想的:人类玩家再好,一秒钟也只能想4~5件事。举个例子,如果对方是热血但是已经回塔了,那我是不是应该越过塔杀了他?如果有,应该用什么技巧?CD上有这个技能吗?月塔杀了我之后我还能回来吗?如果回不来,我会赔钱吗?人类可能一秒钟想完这五件事,了解之后就能得出结论,可以过塔,于是就上了。别看这里,写起来好像很容易。实战中一秒钟看懂这五件事需要大量的经验,尤其是要计算对方的技能CD,是否有可能被秀杀等等。没那么容易计算。
然后AI也用这个笨办法,比如做一个判断:如果英雄血量低于30%,启动判断“要不要杀”;如果开始第一个判断,那么第二个判断就是“是否杀塔”;然后就是判断三个“我该用什么技能过塔”…因此,游戏被分解成无数个既定的判断过程来操作,而AI凭借其强大的判断和快速的计算能力获胜。其实人类也是这么想的,我们称之为“主人的意识”。
这只是第一步。下一个问题就是上面提到的那个。DOTA有100多个英雄,不同的英雄可能会有完全不同的对齐方式。比如对面的一个是持盾的饥饿,主动和被动的龙骑等等。你去拜访他没有意义。而100多个英雄互相排列组合,有五六千种可能。我们做什么呢
AI的方法是这样的:首先我只选择一个英雄,把可能性降低到100个以上。其次,通过DOTA中的“机器人”界面(也就是我们平时练英雄时击杀的斧王),可以进行固定的操作,从而大大减少了要做的事情。因为机器人会动,会补刀,AI就不用考虑要不要跑到野外去这个愚蠢的问题了。最后,对于每一种可能性,都用大量的模拟战斗来提高熟练度。这一次,对面30%的血杀了我,我被显示出来了。下一次,我会等对面20%再来一次;这次我用技能把对手推了回去,磨了塔血,最后赢了,所以下次继续用我的技能,以此类推。
当然,AI在过程中也经常被坑,因为DOTA的脏招实在太多,防不胜防。例如,在树林周围做影子是一个非常常见的操作。但AI的好处是,你用过的招式都被记下来,学会了,下次还会用来对付你,真的很可怕。据说在与Arteezy的战斗中,AI甚至学会了被影魔盲压C枪,学会了卖血引诱对方杀过塔再绕树杀。我连3800分和传奇3都做不到!
上面的情况是1v1,但是到了5v5会怎么样呢?
如果单纯把5v5看成1v1的加强版,情况也差不多。无非是先把1v1扩大到2v2,然后做个212分流。如果只弹对线就是这种情况。但是我们很清楚,DOTA不是那么简单的。有TP的支持,有视觉的压制,有迷雾的抓人,有快推的流量,有疯狂的刷流量,等等。游戏中后期有全球流,有环线,有直播买战…
这些都是AI还没有掌握的东西。上面说了,它在1v1只会有一个英雄,所以在5v5只会有一套组合(Nec,火枪手,毒龙,冰女,巫妖)。此外,对游戏性的限制无疑大大降低了比赛的难度。比如不使用通话流量推送,弥补了火枪腿机力短,前期容易被夹崩的弱点。相当于玩了一个版的DOTA,去掉了“大局”部分,只强调对线和团的战斗。那显然不是DOTA的完整形态。
不过话说回来,这毕竟是重要的一步。在实际战斗中,AI会使用一些经典的战术,例如,冰女孩与BKB一起跳大(这里,冰女孩打4号位)。另外AI也有Gank,比如冰女+毒龙在绕圈后抓到了人类一方的单个英雄(因为不允许插眼,所以没有阻止这次绕圈)。还有一点就是它甚至学会了用赤血英雄把对方的一号二号位引诱走,然后别人去高中推兵营。可见AI有基本的团队意识(这种意识在天梯上3000分以下很难看到),从某个角度看确实有4000分的水平。尤其值得玩味的是,AI在团战中绝对不会出现“葫芦娃救爷爷”的现象。一旦判断某人没救了,就会非常果断的放弃。这种判断很重要。有了它,你就很难在顺风站被一个浪卷走。
当然,要做到这一点需要付出很多。玩5v5用的AI其实是一组超级计算机,12.8万个CPU,256个GPU。它一天与自己对战的次数,如果按时间换算,对普通人来说等于180年。在这个水平的训练下,只达到4000分左右的水平,有很多限制。从某种角度也说明了一个游戏DOTA有多复杂。
按照开发者的说法,AI的终极目标是打败TI冠军。TI,我们都知道,是DOTA里最高的荣耀,每年超级比赛都有几千万美金。会玩TI的都是世界顶尖DOTA玩家。值得一提的是,在过去的7场比赛中,没有球队获得过两次冠军,也没有球员(在不同的球队)获得过两次冠军。这足以说明DOTA的打法多,战术丰富,没有一定的胜负体系。更何况目前AI只有天梯4000分(部分)的实力,而TI玩家的分数一般都是6000+。更重要的是,TI使用的是“队长模式”,有着极其复杂的Ban/Pick,这无疑是一个很大的难度:历史上BP崩溃的例子数不胜数,恐怕AI要花很多时间去学习这个。
看来就算AI能赢,也绝不会在TI8。