AI与《星际争霸2》的跨界合作
Google旗下的人工智能团队Deepmind与暴雪娱乐合作,推出了《星际争霸2》的应用程序接口(API),旨在让AI在即时战略游戏环境下进行机器学习。那么,AI真的要进军电子竞技了吗?这个API到底是什么?我们能玩吗?好玩吗?该怎么玩?
电脑游戏与人工智能的跨界合作
近年来,游戏开发巨头暴雪娱乐一直与开源社区保持紧密联系,不仅为一些开源软件贡献了代码,还公开了《魔兽世界》、《暗黑破坏神3》等游戏的API,并开源了《风暴英雄》和《星际争霸2》的游戏回放处理编辑代码库。早在2016年,暴雪在嘉年华上承诺将发布《星际争霸2》的游戏API,并在2017年8月9日兑现了这一承诺。
另一方面,Deepmind从深度学习等前沿领域入手,通过卓越的围棋AI“AlphaGo”连续击败多名世界围棋顶级高手后,表示将研究方向转向即时战略游戏,首选为《星际争霸2》。
AlphaGo能学打《星际争霸2》吗?
不,并不能。按围棋规则训练出来的AlphaGo难以应对《星际争霸2》这类即时战略游戏。在《星际争霸2》中,玩家需要快速战术微操和高战略规划水平。与围棋不同,《星际争霸2》中的信息获取是不完整的,有“战争迷雾”设定。这使得AI在未知领域的计算更加困难。因此,Deepmind决定开发新的应用程序接口来应用AI在即时战略游戏中。
SC2LE是什么?
这次发布的接口名为“星际争霸2机器学习环境”(StarCraft II Learning Environment,简称SC2LE),不是一个玩家直接能玩的Bot,而是一个让程序员能用来“训练”人工智能的基础环境。SC2LE由两个部分组成:一是暴雪放出的星际争霸2游戏API,让计算机程序能从人类玩家视角获得游戏状态信息;另一个是Deepmind放出的PySC2,提供了一个分析处理游戏数据的代码库,帮助AI进行强化学习。
普通玩家也能尝试吗?
是的,即使不是程序员也能尝试。首先通过暴雪游戏平台下载星际争霸2客户端。然后准备好Python语言环境和相关软件环境。从暴雪和Deepmind的开源页面下载并安装所需的代码库和地图包后,就可以通过Python命令激活AI开始游戏了。例如,输入命令 python -m pysc2.bin.agent --map Simple64
可以打开一场新游戏看AI的行动。
AI的实力如何?
目前,各家训练开发出来的AI在完成采矿、控制单位移动、造兵等基础操作方面没有太大的问题,但在整个游戏上还很难和暴雪内置的简单敌人抗衡。大部分的AI只能机械地重复已有行为。不过,加拿大纽芬兰纪念大学计算机科学系助理教授大卫·丘吉尔(David Churchill)开发的AI:CommandCenter已经几乎能打败暴雪内置的简单电脑敌人。大卫·丘吉尔表示,接下来他将让这个AI学会建造附属建筑、适时升级科技,并尝试对战斗情况进行预判以及灵活选择进攻、防御等策略。
其他AI进展
8月12日早上,特斯拉老板伊隆·马斯克(Elon Musk)旗下的人工智能OpenAI在Dota2的1v1比赛中以三战两胜的成绩首次击败了人类职业选手Dendi。OpenAI的AI通过自己和自己比赛的机器学习方式在两周内达到了这一水平。此前,这个AI也打败过SumaiL、Arteezy等职业选手。OpenAI CTO Greg Brockman表示,他们希望在2018年的国际邀请赛上与职业选手进行5V5的比赛。
总结
Deepmind和暴雪希望通过这次开源的代码和范例为星际玩家和自制AI爱好者提供更多的便利和创造力发挥空间,同时也为人工智能领域的研究者提供强有力的研究工具以推进未来人工智能技术的发展和进步。或许在不久的将来我们就能看到星际争霸AI版的《机器人大战》节目了。对于电竞玩家来说能够和人工智能对战是非常令人期待的!