为何当年黑客破解了星际争霸后反而还得到暴雪的大力支持?

大家好我是阿飞,欢迎来到宅男部落

Hi~ o(* ̄▽ ̄*)ブ ,大麦的《星际争霸十万个为什么》又和大家见面啦!对于游戏厂商来说,任何人破解自家的游戏甚至还将最重要的核心代码公之于众绝对是不可接受的,但是在星际争霸这款游戏当中,曾经有黑客成功反编译了后还利用底层代码制作成了一个API接口让其他玩家随意使用。有意思的是,暴雪不仅没有发律师函,后来甚至还鼓励全世界的各大厂商都来使用这个接口,这就是曾经在星际争霸AI开发圈最知名的接口BWAPI,其核心作用是用于开发星际争霸AI。



也是因为这个接口的出现,星际争霸的AI开发有了一个不错的环境,以至于之后还衍生出了星际争霸的AI开发大赛吸引了不少全球最顶尖的程序员和公司来开发星际争霸的AI进行对抗,暴雪为此还为一些比赛提供了奖金。今天大麦就想来和各位说说当年星际争霸AI开发背后的故事。

最初形态

星际老玩家们一定都接触过星际争霸1时代最早的AI,那时候的AI我们甚至都不能将其称作AI,在1.08版本以前,玩家只要仔细观察,就会发现这些AI实际上都是在执行已经预先设计好的流程,而且执行还都比较僵硬死板,比如人族他就是固定会有5波进攻。

第一波是12个枪兵,第二波12个枪兵带3个坦克,第三波14个枪兵带5个坦克,第四波12个枪兵带5个坦克以及4个鬼兵,第五波10个鬼兵再带4个大和。因此玩家只要摸清套路以后,在继续和AI进行对抗没有什么意思了,每一局的战斗都不会带来太多变化。

而且随着玩家不断深入,也会发现一些投机取巧的方式,其中最广为人知的就是AI很容易被轻易勾引,如果拿一个农民或者小狗到AI家里探路,那很可能引得AI所有的农民都来追这你满地图跑,也能够以此来严重影响AI的经济。

当然了,对于当时刚刚接触星际争霸的玩家来说,有时AI可能比真实玩家更难解决,因为所执行的运营基本算是比较合理的方式,新玩家在家里才刚生产五六个枪兵时,AI就带着第一波12个枪兵过来了,自然不少新手连AI第一波都坚持不住。再加上当初星际争霸不像后来的魔兽争霸还有AI分级系统,因此往往玩家们在刚玩游戏时也是被AI虐得死去活来。



到1.08版本以后,其实也就是母巢之战资料片推出后,星际争霸AI有了比较大的改善,AI开始有了变化,最明显的变化就是在前期的战术当中会出现了多种不一样的选择,但说是战术实际上就是简单变化了一下兵种搭配。比如过去人族第一波的进攻一直都是12个枪兵,后来出现了机枪加护士,或者是机枪加喷火兵的搭配,这取决于AI侦查到的对手是什么样的种族以及距离的远近。

有趣的是,人族和神族都做了相应的变化,唯独虫族从游戏开始发售到后来,AI初期永远都采用一个策略就是6条狗rush,不知道是不是因为虫族本身程序设计的问题导致的。

不过,总体来说星际AI相比于最初也有了比较大的进步,但在官方层面也就到此为止了,暴雪之后就没有在对游戏中的AI进行什么修改,而玩家可不仅仅满足于此。所以就出现文章最开头说的有大佬成功破解了星际争霸后只做了一个BWAPI并且进行了开源,让星际AI开发的工作交到了所有玩家们的手中。

不断进化

从那时候开始,民间各种各样的星际AI增强补丁就遍地开花,比较出名的应该是BWAI Launcher这个软件,里面几乎囊括了所有当时市面上比较知名的AI。而这个BWAPI有一个比较特殊的地方,就是他没有开放战争迷雾的数据,利用其开发的AI基本上和人类在玩游戏时所获得消息是一致的,需要AI自行去判断场面局势,这属于星际争霸AI开发时最核心的难点和之后出现的那种直接读取内存的AI截然不同,也对于AI行业的发展有更具有现实意义。

所以,基于BWAPI所开发的星际AI其实严格意义上来说是最具有一定的现实意义,因此在之后的几年中有越来越多的公司或者个人加入到了这个项目中来,就为了能够开发出真正战胜人类的星际AI,而这个影响力也越来越大,以至于到了2010年出现了第一届星际争霸AI大赛,“AIIDE2010”。



那次的比赛既有个人开发者参加同时也有一些知名的人工智能实验室参赛,那时候星际AI使用的基础理论是当时机器人领域最常用的“人工势场法”,简单来说人工势场包括引力场合斥力场,其中目标点对物体产生引力,引导物体朝向其运动(这一点有点类似于A*算法中的启发函数h)。障碍物对物体产生斥力,避免物体与之发生碰撞。物体在路径上每一点所受的合力等于这一点所有斥力和引力的和。说白了,就是当时一个比较常用的机器人寻路的原理。

其实当年第一届的星际AI大赛,大家集中关注的问题都还在游戏中的寻路问题上,简单来说就是谁寻路做得好谁就占优势,可以看出这也是星际1自身的问题,由于当年暴雪地图以及建模的问题,导致星际中的单位路过狭小路口时经常会发生拥堵。而这种拥堵对于真实控制的玩家来说还好解决,但对于AI来讲就是个大难题。

所以第一届赢得星际AI比赛冠军的是主要使用用了飞龙这个单位的Overmind,本身飞龙作为飞行单位也不需要考虑寻路问题,所以也算是用了一个投机取巧的办法吧。但客观来说,那时候星际AI依然还没有触碰到RTS游戏最核心的问题决策和策略。

不过随着星际AI大赛不断举办,每年参加的AI能力也在不断进化,值得关注的是一款叫做Aiur的AI,它首次提出了采用随机决策的人工智能,说白了就是开发者给它设计了五种战术天性,在比赛开始前会随机从这五种战术中选择一种,是rush还是保守发育全靠随机,如此一来让对手无法进行针对。因此实际上这些AI还处于比较初级的水平。

但基本上在谷歌的深度学习出现之前,星际争霸的AI还是没有触碰到AI真正的核心要点,为何这么说呢?那时候的星际AI与其说是AI之间的对决,不如说是人之间的对决,因为每年的AI大赛上,各个参赛选手都会针对去年对手的AI特点针对性的设计程序,比如有些AI很喜欢前期Rush,那么自家的AI设计就针对其在前期设计为偏向防守方式,而最重要的AI自我决策能力并没有多少,基本上还是按照If then的方式在执行。

转折点

大概在2016年的时候,星际AI的发展发展出了一个有意思的分支,更多还是玩家们为了自娱自乐,最经典的还是那个在星际2当中号称“悍马2000”的超级AI。这个AI本身在程序设计上并没有什么精妙之处,在决策上也不存在什么过人的地方,但是最大的亮点是它拥有高达数万的APM。如此可怕的APM所带来的优势就是能以人类根本无法实现的操作来弥补“智力”上的不足,也就是俗称的大力出奇迹。

这个AI还有一个比较赖皮的地方就是他可以直接读取游戏内存,不仅战争迷雾对其没有影响,同时玩家的操作他也能了如指掌,除了开局无需探路之外,还能精准地躲避AOE伤害。就比如当时放出来一段小狗围杀坦克的视频就可见一斑。

为什么当时会出现这样一种奇怪的AI,或许是因为那时候的星际AI发展陷入了一个比较悲观的情绪。当时星际AI从大家开始研究起已经经过了十几年的时光,但是直到2016年的时候星际AI在面对水平一般的职业选手时依然像是个小学生一样,尤其是在战术或者是决策层面上,绝大多数还依靠人类提前预设好的程序来执行。所以有不少人认为,人工智能在短期内是无法突破像星际争霸这样复杂的游戏。

然而谷歌的深度学习出现以后出现了巨大的转折,可以说是彻底转变了之前星际AI开发的思路,让AI自己去学习自己去发明战术,短短几年的时间就彻底攻克了星际2这款游戏。不过,或许是谷歌的深度学习AI的研发成本过高,在之后几年的AIIDE大赛里,参与的星际AI依然是采用人类编程的方式不具备高级别决策系统,因此在没有其加持的情况下人类依然保持这在星际1领域对于AI的碾压状态。

一个小彩蛋

最后在说一个小彩蛋吧,其实星际争霸2早在2010年就发售了,星际争霸AI大赛却还坚持使用星际1呢?其重要原因除了星际1拥有BWAPI这样开放的接口外,还有就是暴雪对于星际2的版权态度非常严格,即使是作为开发星际AI所使用暴雪也坚决不向公众开放和星际1时代类似的API。只有得到了暴雪官方授权的机构才允许进行开发,因此对于一些个人开发者来说想要得到暴雪的官方授权并不是一件容易的事情,而且不少研究机构也不愿意接受暴雪的一些严格的管理,所以星际2的AI开发实际上一直是少数的大型机构在进行,比如谷歌这样的,也因此直到现在星际AI大赛绝大多数还是在星际1领域中进行。

【本文为原创文章,独家发布于宅男部落(www.zhainantribe.com)作者:阿飞,未经授权,不得转载。更多宅男女神街拍美女图片cosplay分享,宅男资讯尽在宅男部落。文章所用配图均来源于网络,版权归属原作者,侵删】 图片[1]|为何当年黑客破解了星际争霸后反而还得到暴雪的大力支持?|宅男部落 今天的分享给大家就到这里,请大家关注宅男部落,定期更新宅男资讯宅男女神图片,街拍美女妹子图cosplay美女图片,敬请期待。 喜欢我们的分享请点击在下方点赞,或打赏~或关注我们的公众号“宅咖”,点击侧边栏的个人信息,可以扫码加入。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享