过去十年,我们用了哪些即时战略游戏训练AI?

姓名:郭金  学号:17101223407

转载自:https://towardsdatascience.com/a-history-of-rts-ai-research-72339bcaa3ee

【嵌牛导读】:在 RTS 游戏中进行 AI 研究有着悠久的历史。在过去的十多年里,研究人员一直致力于构建能打败最强人类玩家的机器人,但是要走的路还很长。在 2016 年的暴雪嘉年华,DeepMind 和暴雪宣布合作,将为星际争霸 2 的 AI 研究开放 API。

本文旨在讨论 RTS 游戏的一些发展进程,以及 AI 研究在其中的贡献。要想详细了解 RTS 游戏相关研究,还请查看 Ontañon、Robertson 和 Watson 等人的文章。(详见文末)

【嵌牛鼻子】:人工智能、AI、游戏开发

【嵌牛提问】:如何利用AI来进行游戏开发?

【嵌牛正文】:

      过去的十年里,研究人员已经从在 RTS 游戏中独立研究不同的 AI 技术过渡到了在更复杂的游戏中通过合作和竞争将不同的技术相互匹配。为了这项工作顺利进行,需要以下条件:

研究人员构建和评估机器人的开放 API

可以让研究人员对比不同技术的竞赛

用于训练学习算法的录制回放

人类选手对机器人的性能进行评估

在 2009 年发布的母巢之战 API 中以上大部分的条件都得到了满足,但由于平台的封闭特性使研究人员很难将 AI 系统的训练过程自动化。随着星际争霸 2 环境的公开,研究人员将有机会开发一种能够在 RTS 游戏中表现出专家级性能的系统。下面一些是我认为的在朝着这一目标的发展历程中的重大事件。如果有疏漏还请在评论里留言。

1998

星际争霸 1 的发布

星际争霸原作是在 1998 年 3 月发布的,资料片母巢之战也于同年 11 月发布。它迅速风靡全球,并在韩国引发了职业游戏的热潮。

Freecraft

在星际争霸之前,1995 年发布了魔兽争霸 2。魔兽争霸 2 的克隆版 Freecraft 也在 1998 年首次发布,它后来更名为 Wargus。这个克隆版构建在 Stratagus 游戏引擎上。Freecraft 是 RTS AI 研究的一个重要项目,因为大部分的初始工作都以 Wargus 作为实验平台。

过去十年,我们用了哪些即时战略游戏训练AI?_第1张图片
图片发自App

2001

学术界对游戏 AI 的兴趣

游戏 AI 的一篇重要文章是 John Laird 和 Michael van 在 2001 年发表于《AI Magazine》的文章 Human-Level AI’s Killer Application Interactive Computer Games。这篇文章意义重大,因为它是 AAAI 的出版物中第一批认识到实时游戏可以作为 AI 研究的良好环境。它还改变了学术研究人员试图将现有方法应用于游戏的心态,转而考虑为游戏构建全新的和专门的方法。

2002

魔兽争霸 3 发布

魔兽争霸 3 的一大特色是高度可扩展的地图编辑器,它被用来创建独特的内容,比如最初版本的 DOTA。地图编辑器还拥有一些脚本功能,可以用来编写自定义 AI。然而,以这种方式编写的 AI 仅局限于单一地图,脚本语言也仅向作者提供了一个命令子集。研究人员可以在这个框架内实现他们的 AI 技术,但不可能用不同的机器人互相测试。

2003

RTS 游戏被推荐为 AI 测试平台

2003 年,Michael Buro 和 Timothy Furtak 发表了一篇文章称 RTS 游戏提出了许多构建人类水平的 AI 时需要解决的新颖问题。他们还提议开发一个开源的 RTS 游戏引擎提供给 AI 研究社区使用。

过去十年,我们用了哪些即时战略游戏训练AI?_第2张图片
图片发自App

星际争霸中的状态估计

2004

ORTS 发布

接下来一年,Michael Buro 就发布了第一个版本的开源 RTS 引擎——ORTS。这个游戏在图形和非图形模式下都可以运行,这让机器人可以在成千上万的游戏过程中快速训练。而使用 ORTS 的一个主要挑战是,虽然它为人类玩家提供了一个交互界面,但是没有专家级的人类玩家对机器人进行对抗评估。

过去十年,我们用了哪些即时战略游戏训练AI?_第3张图片
图片发自App


ORTS 游戏引擎

第一次 Wargus 研究

Freecraft 更名为 Wargus,它使用 Stratagus 游戏引擎。Wargus 的主要优势之一是它的开源,这为研究人员打开了一个平台,让他们可以使用任何技术进行探索。Wargus 面临的挑战是缺乏可以用来分析的录制回放,它没有活跃的玩家基础,而且在测试机器人的互相对抗受到网络代码的限制。在使用 Wargus 作为 AI 测试平台的文章中,Marc Ponsen 是最早的发表者之一。

TIELT 的提出

在 2004 年提出的另一个 AI 项目是 TIELT 系统,它是一个 AI 框架,为多个游戏主题提供统一的 API。该系统的目标之一是让研究人员可以为一款游戏开发 AI 并将学到的知识转移到新的游戏中。例如,在 Wargus 中学到的领域知识可能适用于其他 RTS 游戏。我在这里讨论 TIELT 正是因为 DeepMind 和暴雪的合作成果之一就是一个 API 和潜在的样本数据集。对于这个 API 来说,重要的是不要为 AI 的操作做出假设。TIELT 面临的挑战在于它没有提供直接进入游戏状态的权限,这也就限制了可以利用它的 AI 技术的数量。这个系统许多目标现在都已经在 Facebook 的 ELF 平台实现了。

过去十年,我们用了哪些即时战略游戏训练AI?_第4张图片
图片发自App


TIELT 架构

2005

Wargus 中的增强学习

Wargus 迅速成为研究人员开发 RTS AI 的环境。2005 年,研究人员开始探索强化学习技术,这正是 AlphaGo 使用的策略之一。最终由于研究人员无法对彼此的工作进行对抗评估导致 Wargus 的工作停滞不前,他们太过依赖一小部分硬编码脚本的性能。

2006

第一次 ORTS 竞赛

在 2005 年公布了第一次 ORTS AI 竞赛,该活动在举办于斯坦福的 AIIDE 2006 大会上举行。第一次比赛有 4 个参赛项目,比赛规模逐年增加,直到 2009 年结束。

2007

IICup 启动

International Cyber Cup 是星际争霸的第三方服务器平台。这个服务器对 AI 研究非常重要,因为你可以在这个服务器上运行机器人,不过它不是暴雪官方服务器。这个服务器的另一个优点是为玩家提供了一个字母评分,玩家可以用来轻松地交流技术。例如,我在 2010 年认真玩的时候最高拿到了 D+。

2008

第一次星际争霸 AI 研究

我所知道的第一篇关于星际争霸 AI 构建的文章是在 2008 年发表的。Hsieh 和 Sun 通过挖掘数千的游戏录制构建了一个模型来预测玩家会生产什么建筑和单位。

过去十年,我们用了哪些即时战略游戏训练AI?_第5张图片
图片发自App

星际争霸建造指令预测

2009

母巢之战 API 发布

在 2009 年,我发现了一个叫做 BWAPI(母巢之战 API)的 Goole 代码项目,它提供了星际争霸的编程接口。该库使用了一个第三方 DDL 工具将 API 注入到星际争霸的运行环境并提供一系列调用游戏内部函数的挂钩。自此之后,该项目的贡献者规模不断增长并且被移植到了多种语言。它现在托管在 GitHub 上并且有一个 Java 版本。

2010

星际争霸 2 发布

在 2010 年,星际争霸 2 自由之翼发布,母巢之战的竞赛也继续活跃了几年。2013 年又发布了虫族之心资料片,2015 年发布了虚空之遗。

第一届星际争霸竞赛

第一届星际争霸 AI 竞赛在 AIIDE 2010 举办。其主要赛事由伯克利 Overmind 团队获胜。竞赛中还出现了人对抗机器的表演赛,人类选手轻易地击败了 AI 对手。

过去十年,我们用了哪些即时战略游戏训练AI?_第6张图片
图片发自App

伯克利 Overmind 团队

2011

第二届 AIIDE 星际争霸竞赛

艾伯塔大学的 Dave Churchill 主办了第二届以及后续的 AIIDE 星际争霸竞赛。他编写了一个锦标赛框架,可以自动运行锦标赛,并修改了一些规则以促进合作,比如要求必须开源提交。

学生星际争霸 AI 锦标赛

过去十年,我们用了哪些即时战略游戏训练AI?_第7张图片
图片发自App

第二届星际争霸锦标赛开始后,学生的提交成为重点。锦标赛不再与每年的大会联系在一起,而是每年举办好几次。

https://sscaitournament.com/

2013

星际争霸母巢之战机器人天梯

Krasi0 为星际机器人开发了一个全天候运行的天梯系统。这为研究人员提供了一个评估不同 AI 方法的环境。

2014

星际争霸 2 自动化玩家

Matt Webcorner 演示了一个星际争霸 2 机器人,它可以通过拦截 DirectX 命令来推断游戏状态。这种方法的主要限制之一是该机器人只能访问当前显示在屏幕上的游戏状态。

2016

AlphGo 击败李世石

2016 年 3 月,DeepMind 的 AlphaGo 系统击败了围棋世界冠军李世石。这次胜利之后,许多人认为星际争霸将是 DeepMind 的下一个挑战目标。

Facebook 加入

2016 年 Facebook 的 AI 研究人员开始使用星际争霸作为强化学习测试平台。他们发表了一篇关于星际争霸中的微观管理的文章。他们的机器人参加了 AIIDE2017 竞赛,但是它的学习模式表现不如重点关注脚本的机器人。

暴雪嘉年华公告

在 2016 暴雪嘉年华,DeepMind 宣布他们正与暴雪合作开发一个 AI 的开放平台。现在 Google 与 Facebook 竞相开发专业级星际争霸游戏的机器人,竞争也变得日趋激烈。

2017

星际争霸 2 API 发布

暴雪在 8 月 9 日发布了用于编写机器人的星际争霸 2API,同时揭晓了一个编写机器人的工作室。

你可能感兴趣的:(过去十年,我们用了哪些即时战略游戏训练AI?)