0

AI人工智能又获重大突破,5v5中战胜DOTA4000分队伍

2018-06-26 11:50:13 神评论

说到AI,很多人首先想到的是AlphaGO。它通过战胜围棋“世界第一人”柯洁,展示了自己的实力。不过一直以来也有种声音认为,围棋是死的,只不过是在棋盘上下子而已。你让AI来打电竞试试?我把它屎打出来!

dota2-6315f.jpg

其实AI早就开始打电竞了,而且起点非常高:DOTA。众所周知在LOL玩家面前,王者荣耀玩家是不敢谈操作的;而在DOTA玩家面前,LOL玩家也很难去讲什么游戏性、复杂度。可以说目前市面上的MOBA游戏里,DOTA最难。那么AI打DOTA要练多久、能打到什么水平呢?

早在一年以前也就是2017年8月,在1v1单挑中AI就已经战胜了天才少年Arteezy、神级中单Sumail、TI冠军Dendi。有这三个人的例子,恐怕谁也不敢说AI好欺负了吧?你能比Sumail中单还强?

562px-SumaiL_ESL_Frankfurt_2015.jpg

不过我们的DOTA玩家也不是好欺负的,多年战斗生涯让他们掌握了喷子技巧:呵呵DOTA是一个人玩的吗,1v1算什么DOTA?!

说得好。所以AI还在继续努力。就在昨天,它战胜了天梯平均分4000的队伍,5v5。

哇你是不是震惊了,感觉人生灰暗:我打了这么久DOTA也就3000多分,现在AI已经能战胜4000分选手,那我活着还有什么意义?别急,因为这个战斗还是受很多限制的:限定只能用5个特定英雄;不能打肉山,禁用部分装备(如圣剑、飞鞋),不准杀鸡,不能用隐身单位也不能使用隐身道具,不能用召唤物和幻象(Chen、狼人、兽王、先知的“动物园”流派禁用,猴子直接Ban),不能买眼/插眼/反眼……DOTA玩家笑了,呵呵,不让买眼我打你妈呢?本来以为是正经战斗没想到是这种玩法,爷爷不奉陪了,告辞!

TIM截图20180626113813.jpg

英雄请留步,在告辞之前让我们来看看这个AI的发展历史吧。

这个AI的全名是OpenAI,由Elon Musk(就是做特斯拉、把火箭射上天那个人)专门为了打电竞而投资建立。因为上来就5v5太难,所以先做的是1v1,中路单挑。即使是这样的单挑你仍有很多事要做:移动、攻击、正补/反补、技能、取消技能(骗招)、取消后摇、控线、买东西(并拿鸡运)、吃药(比如树或净化)……这些还只是最基本的、完全不涉及具体英雄的操作。再细化一点,比如神灵主被动就可能要故意掉血,比如影魔中单考验压炮准度,比如QOP有主标和主叫等不同打法等等。DOTA这个游戏确实很复杂,那么AI是怎么学会玩DOTA、并且还战胜了Sumail的呢?

AI是这样思考的:无论多好的人类选手,在1秒之内你大概只能想4~5件事。比如对方红血但已经回塔下了,那么我该不该越塔强杀?如果越,我要用什么技能?这个技能在不在CD?越塔杀了我能不能回来?如果不能回来我亏不亏?人类选手在1秒内可能会想这5件事,都想明白后得出结论,可以越塔,于是就上了。你不要看这里写好像简单,实战里能1秒想明白这5件事需要非常丰富的经验,尤其是还要算对方技能CD、有没有被秀被反杀的可能等等,不是那么容易算得过来的。

rapid-architecture@2x--1-.jpg

那么AI就也用这种笨办法,比如做一个判断:如果对方英雄血量低于30%,启动判断一“要不要杀”;如果启动判断一那么接判断二“是不是越塔杀”;然后是判断三“越的塔我要用什么技能”……就这样把游戏分解成无数个既定判断的流程去操作,靠AI强大的判断力和飞快的计算力取胜。人类其实也是这么思考的,我们称之为“高手的意识”。

这只是第一步。接下来的问题是上文所说的,DOTA里有100多个英雄,不同英雄的对线方法可能完全不同。比如对面是个血魔带个盾,是个主被动的龙骑等等,你去点他意义就不大。而100多个英雄互相排列组合就有五六千种可能,怎么办?

TIM截图20180626114012.jpg

AI的方法是这样的:首先我只选1个英雄,这样就把可能性降到100多种。其次,通过DOTA里的“机器人”接口(也就是平时练英雄时我们杀的那个斧王)来执行固定操作,从而把要做的事情也大大减少。因为机器人是会移动、会补刀的,这样AI就不用思考要不要跑到野区这种愚蠢问题;最后,对于每一种可能,都通过大量的模拟对战来提升熟练度。这次对面30%血我越塔强杀,被秀了,下次我就等对面20%再试;这次我用技能把对方逼退,磨了塔的血最后赢了,那么下次我继续用技能,等等。

当然,在过程中AI也经常被坑,因为DOTA里的脏招实在是很多,防不胜防。比如绕树林阴影就是很常见的操作。但AI的好处就是你用过的招式它全都记下来并且学习,下次就会用来对付你,这真的十分可怕。据说在和Arteezy对战时AI甚至学会了影魔盲压C炮,学会了卖血引诱对方越塔强杀然后绕树反杀。这种操作连3800分、传奇3的我都不会!

以上是1v1的情况,到了5v5又怎么样呢?

TIM截图20180626114439.jpg

如果你把5v5简单看成是1v1强化版,那情况是差不多的。无非就是先把1v1扩展成2v2,然后做个212分路。单纯只打对线的话,情况就是这样。但我们很清楚DOTA不是这么简单的,它有游走有TP支援、有视野压制有开雾抓人,有速推流也有狂刷大后期流,等等。游戏打到中后期更是有全球流,有带线,有买活大战……

这些都是AI还没有掌握的。正如上文所说,1v1里它只会1个英雄,所以5v5它也只会一套组合(Nec、火枪、毒龙、冰女、Lich)。此外,玩法上的限制无疑大大降低了比赛的难度,比如不准用召唤流速推就弥补了火枪腿短机动力差、前期容易被抓崩的弱点。它等于是在玩一个阉割版DOTA,去掉了“大局”部分而只强调对线和团战,那显然不是DOTA的完整形态。

1.gif

不过话说回来,这毕竟是迈出了重要的一步。实战里AI是会使用一些经典战术的,比如冰女开BKB跳大(这里冰女是打4号位)。另外,AI也有Gank,如冰女+毒龙绕后抓了人类方中单英雄(因为不准插眼所以没防住这个绕后)。还有一点是它甚至学会了用红血英雄把对方1、2号位引走,然后其他人上高、推兵营。能够看出AI已经有了基本的团队合作意识(这种意识在天梯3000分以下很难看见),某个角度来说的确有4000分水平。尤其值得深思的是AI在打团战时绝对不会出现“葫芦娃救爷爷”的现象,一旦判断出某个人不能救,会非常果断的放弃。这种判断至关重要,有了它,顺风局里你就很难被一波带走。

当然为了实现这些也要付出很多。用来打5v5的AI实际上是一组使用了128000个CPU、256个GPU的超级电脑,它一天里自我对战训练的场次,按时间折算的话等于平常人玩180年。这种程度的训练之下如今还只是凭借诸多限制条件来达到4000分左右水平,从某种角度来说也表明DOTA究竟是个多么复杂的游戏。

TIM截图20180626114405.jpg

按照开发者的说法,AI的终极目标是战胜TI冠军。TI,如我们所知,是DOTA界的最高荣耀,每年有几千万美元奖金的超级比赛。能去打TI的是全世界最顶尖的DOTA选手。值得一提的是在以往7届比赛中没有任何队伍拿过2次冠军,也没有任何选手(在不同队伍中)拿到过2次冠军。这足以说明DOTA的打法众多、战术丰富、不存在某种稳赢不输的体系。何况目前AI还只是拥有天梯4000分(一部分)实力,而TI选手的分数普遍是6000+。更重要的是TI里用的是“队长模式”,有极为复杂的Ban/Pick,这无疑也是个大难点:历史上BP崩了的例子不计其数,而这一点恐怕AI还要花很多时间来学习。

看起来就算AI能赢,那也绝对不会是在TI8。

【编辑:WF】