第一种方法:进入游戏***目录丅的Maps目录找到SCBW Campaign Launcher.SC2Map文件双击(此版本在“X:\StarCraft II\Maps\Starcraft Mass Recall\”路径中),会自动打开地图编辑器加载这个地图文件然后按“测试地图”按钮或者快捷键F12即可進入登录界面。
第二种方法:进入游戏***目录下的Maps目录找到SCMRsetup.SC2Map文件双击(此版本在“X:\StarCraft II\Maps\Starcraft Mass Recall\”路径中),等地图编辑器加载这个地图后按“測试地图”按钮或者快捷键F12进入地图,然后按照步骤指示创建登陆器存档这种方法的好处是以后进入游戏不需要运行地图编辑器。
转载於星际争霸2百度贴吧!
你对这个回答的评价是
《星际争霸》的国服重置版正在預售中将在暑假期间登陆战网。今年是星际争霸发行20周年这20年间RTS即时战略游戏从兴起到没落,在游戏届的地位已经大不如前这其中嘚一个原因是它的高度复杂性,从宏观的战略到微观的操作,需要考虑并迅速做出反应的点太多太多这样的特点使得星际看的人多玩嘚人少,但却恰恰适合征服围棋后的AI来一展身手当2016年AlphaGo击败李世石后DeepMind宣布进军星际2,众多媒体纷纷发文:既围棋之后电子竞技也要被AI征垺了。而到了2017年DeepMind联合暴雪发布了星际2的机器学习环境SC2LE和PySC2,使得广大研究者都可以参与到这项挑战中来但另一方面也说明了AI征服星际绝非易事。
Environment(地址附于文末)星际争霸2学习环境,它提供了完整的API接口来从外部对一局星际2游戏进行控制并且还包含录像分析工具,可鉯把一局比赛中玩家的指令集依次提取出来在windows、mac、linux上,SC2LE都有相应客户端而PySC2,则是DeepMind基于SC2LE开发出的python组件使得研究者可以更方便的使用python编寫星际2的强化学习程序。并且PySC2中还额外包含7个小游戏(地图)分别是坐标寻路、寻找收集矿物、寻找消灭跳虫、***兵vs蟑螂、***兵vs毒爆跳蟲、采集矿物和瓦斯、建造***兵,以降低学习的难度PySC2的***很简单,安好星际2游戏后使用pip工具运行pip
AlphaGo在围棋上之所以能表现的如此完美根本原因自然是近年来卷积神经网络的进步和计算机性能的不断提升。但另一方面围棋本身的简洁也很重要。虽然所需计算量很大可圍棋的规则和输入输出却非常简单。而星际2的输入输出呢让我们来看看PySC2中是怎么定义的。输入共12种可分为4类:
游戏画面信息。这类似圍棋的棋盘输入是最主要的输入信息。画面大小默认为84*84分为13个子项。分别为:地形高度地图可见性,是否有虫族菌毯是否在己方鉮族水晶塔范围内,单位所属玩家ID单位所属玩家与己方关系,单位类型单位是否被选中,单位剩余生命值单位剩余护盾值,单位剩餘能量值单位密度(部队有可能堆叠在一起),单位密度精细值
小地图信息。与游戏画面信息类似大小默认为64*64,只有7个子项:地形高度地图可见性,是否有虫族菌毯当前小地图位置,单位所属玩家ID单位所属玩家与己方关系,单位是否被选中
己方玩家信息。分為11个子项包括:玩家ID,矿物数瓦斯数,当前人口当前人口上限,部队所占人口农民所占人口,闲置农民数部队数量,传送门数量(神族)幼虫数量(虫族)。
单个单位信息选择单个单位时提供,包括:单位类型单位所属玩家与己方关系,单位剩余生命值單位剩余护盾值,单位剩余能量值运输单位(所选单位为运输机时),传送百分比(所选单位为正在传送的神族部队时)
多个单位信息。选择多个单位时提供每个单位的具体信息与上面一致。
运输机中所有单位信息选择运输机时提供,每个单位的具体信息与上面一致
建筑中所生产单位信息。选择产兵建筑时提供每个单位的具体信息与上面一致。
运输机中可用空位选择运输机时提供,代表运输機中还剩下多少位置
编组信息。提供玩家各个编组的单位信息最多10组,每组提供本组的单位数量和第一个单位的类型
累计得分。提供当前游戏己方玩家的多项得分以作为奖励进行强化学习。
4. 可用指令集信息给出当前所有的可用指令,也就是对输出范围进行了指定
可以看到,PySC2的输入拥有众多类别复杂性远远超过围棋,当然玩过即时战略游戏的玩家对这些应该还是比较熟悉的哈哈另一方面,以這样的形式给出输入使得AI和人类玩家所获得的信息是一模一样的,严格保证了游戏公平性而在输出时,PySC2还可以对AI的APM进行限制默认为180,和中等水平人类玩家相当所有的输出指令共计524个,每个指令又有各自的参数所有的参数类型共13种。常用的指令比如:
·移动小地图位置。参数类型为小地图的坐标,显示这个坐标的画面。
·框选单位。参数类型为两个游戏画面的坐标,代表游戏画面中一个矩形的左上角囷右下角对这个矩形中的已方单位进行框选。
·基于游戏画面的移动攻击。参数类型为游戏画面的坐标,控制所选单位平A到游戏画面中的指定位置
·建造建筑。参数类型为建筑类型,控制所选农民建造指定建筑物。
了解了输入输出接下来我们就可以编写AI了。PySC2提供了一个在MoveToBeacon尛游戏中的简单训练脚本AIMoveToBeacon小游戏,类似各种即时战略游戏新手教程的第一关就是控制一个机***兵不停的移动到指定位置。
代码结构为:继承BaseAgent定义一个类实现step函数,参数obs包含了所有的输入信息首先判断_MOVE_SCREEN控制单位移动指定是否可用,如果不可用则说明还没有选中机***兵那么就返回带_SELECT_ALL的_SELECT_ARMY指令(F2)选中所有部队。在可以调用_MOVE_SCREEN时则查看输入中screen游戏画面中的_PLAYER_RELATIVE部队归属子项,统计出所有部队归属为_PLAYER_NEUTRAL中立单位的位置再计算这些位置的平均值,得到需要移动到的Beacon的中心点target最后调用带[_NOT_QUEUED,
我也编写了一个不带学习能力的脚本AI,在Simple64地图上用人族击败了各族的疯狂电脑Simple64地图是一个比较小的双人对战地图,为正常的采矿造兵模式这个脚本选的战术和当初我刚打星际2时所选的一样,6BB(表鄙視我- -)...流程相当简洁粗暴就是不停造农民造满16个,要卡人口了就造房子有钱了就造兵营直到6个,兵营不停出机***兵机***兵够24个了就神聖的F2A(全部选中进攻敌人基地)。具体效果怎么样相信用过的人都知道哈哈。而用脚本来实现的话除了编写上述流程外,还有一些细節需要注意:基地与兵营集结点的设置建筑位置的选择,让造完建筑的农民回来采矿对人口增长速度的预判。通过这个脚本我充分熟悉了PySC2环境,也清楚了强化学习AI在正常对战中的具体训练目标(代码地址见文末)
那么对于一个强化学习的AI,每回合需要进行的操作流程是哪些呢:
·对输入的游戏信息进行数据处理,转换成自己模型所需的形式。
我用深度强化学习先后训练了MoveToBeacon移动到指定位置、CollectMineralShards收集矿物、DefeatRoaches机***兵vs蟑螂、DefeatZerglingsAndBanelings机***兵vs跳虫毒爆这四个小游戏为了降低训练难度,每次都先选中所有部队之后进行的指令限定为移动或移动攻击,通過卷积神经网络来学习指令参数中的坐标那么在MoveToBeacon中,需求其实就是在screen中选出相应的_PLAYER_RELATIVE;在CollectMineralShards中需求是选出距离***兵最近的矿物;在DefeatRoaches中,则昰选出血量最少的蟑螂进行攻击;在DefeatZerglingsAndBanelings中需求是识别出最近的毒爆进行优先攻击。在这四个任务中所需的输入信息其实有限,我也就只從screen游戏画面信息中选取了一部分包括:unit_type单位类型、player_relative单位归属、unit_hit_points单位剩余生命值、selected选中单位。为了加速训练速度提升训练效果我对这几個输入进行了进一步增强,把unit_type、player_relative、unit_hit_points按是否被选中又各分为了selected和unselected两部分并且统计出了所有选中单位的平均坐标,计算了地图上各个点到这個坐标的距离作为又一个输入从而让网络更容易学习到离机***兵最近的矿物或者毒爆。最后我为了程序又添加了基于录像的学习方式。相比于自主强化学习从录像中学习的step函数中多了一个action参数,从而告诉程序在本轮中录像里玩家如何选择使用从录像中学习时,AI可以通过一个几十秒的replay训练一遍就可以对MoveToBeacon、CollectMineralShards和DefeatRoaches学习完毕(github地址见文末)
Learning关系性深度强化学习来训练这7个小游戏,从而提升模型的泛化能力并哽容易使用背景知识通过RDRL,DeepMind在6个小游戏上达到了当前的最高水平训练效果的视频地址见:http://bit.ly/2kQWMzE(需翻墙)。可以看到在机***兵vs跳虫毒爆嘚小游戏中,AI学会了用一两个机***兵顶在前面吸引毒爆用大部队在后面点毒爆疯狂输出,取到了很好的效果当然,在这背后也仍然需偠海量的模型迭代计算量我们一般还是很难玩得起的。
PySC2已发布近一年之久对于其中的7个小游戏,可以通过录像来迅速训练好模型可鉯通过更先进的模型来取得超越人类的效果。这能让我们感到一些慰藉看到一丝光亮,但真正能与人类玩家对战的星际2 AI仍旧遥远相信茬之后的研究中,从录像中学习、对输入的人为增强处理以及背景知识的录入在很长一段时间内仍然是必要的另一方面,AlphaGo可以通过蒙特鉲洛树、价值网络和快速走子来对棋局的发展做出预测可星际2的AI呢?是通过暴雪的SC2LE来提前模拟比赛的发展还是在AI中自己保存各单位的詳细数据以对游戏进行粗略预测,这也是一个至关重要的问题最后,上个月中国刚成年的智障人皇李中堂time宣布暂时离开星际在此缅怀┅下他在《中国好星际》第四季中的音容笑貌,期待他可能的回归祝一切顺利~
DeepMind关系深度学习论文:
《星际争霸 2》首席制作人 Chris Sigaty(以下简称S)、首席game设计师 Dustin Browder(以下简称B)接受包括巴哈姆特 GNN 等台湾部分媒体越洋视讯访问分析了《星际争霸 2》单人战役的研发想法,包括曾考虑加入多人任务等还有多人战役将加载开放地图编輯器与揭露更多 上的战役。
Dustin Browder 与Chris Sigaty越洋视讯接受访问星际2最新宣传片媒体来源:新浪game Blizzard 今日公开了新的《星际争霸 2》宣传影片与game影片同时公开最新加载档的说明,开放了许多玩家好奇的银河地图编辑器与以肖像、徽章作为奖励的成就系统,并且开放了新的 1 对 1 地图并且些微调整了种族的平衡性。
以下为这次两人针对台湾媒体越洋视讯访问的问答论文摘要:
Dustin Browder 答(以下简称 B):《星际争霸 2:自由之翼》上市时总囲会有 29 个任务,但由于game历程中会出现玩家因选择而影响路线的状态,所以玩家一次玩下来不会玩到 29 个任务但实际game总共有 29 个任务暴雪游戲设计师谈星际争霸 2单人战役研发想法。
问:有玩家以不适当的手法破解的多人关闭测试版本而以裡面的内容来推测想像单机版单人战役的模样,单人战役与多人封测版本实际内容间有何差异
S:网路上所谓破解的内容并非真正《星际争霸 2》单人战役的实际会体验到的内嫆,在《星际争霸 2:自由之翼》中会有特别非常多的故事体验结合了特别刺激的单人战役与动画剧情结果,共有 29 个任务与《星际争霸》完全不同,这是很不同的经验
在《星际争霸 2》单人战役中,我们特别重视玩家的选择以前的即时策略game多是採直线式固定剧情,而《煋际争霸 2》则重视玩家的选择不仅是关卡与关卡间的选择,还有玩家想要用什麽样的技能、雇用什麽样的佣兵等都是玩家自己的选择;玩家在《星际争霸 2》中将能选择发展你的科技树路线、升级你喜爱的兵种与雇用你觉得适合的佣兵。
单人战役中玩家将会对抗很聪明嘚 AI(人工智慧),需要用高等技巧来对抗
在多人封测时,电脑 AI 其实只是game中最根本的 AI因为关闭测试主要是盼望玩家专注于多人模式玩家间人與人的对战,所以只是用最根本的电脑 AI 来提供给有需要的玩家练习他们对于最佳化的 AI 现在感到满意,将来game正式上市后玩家就能体验到強大的 AI 系统。
问:之前研发团队曾透露在《星际争霸 2:自由之翼》单人战役中除了人类的战役外,玩家也能尝试到神族的战役那会有蟲族的战役吗?
B:在《星际争霸 2:自由之翼》中会有几个任务会让玩家使用神族来完成这是为了让玩家晓得《星际争霸》天下。我们也囿思考是否能在一部曲中加入虫族的战役,让人族好汉人物吉姆?瑞那(Jim Raynor)能够有虫族的体验不过最后还是觉得如此的设计不合逻辑,所以茬首部曲中就没有採用虫族战役内容