项目地址

https://github.com/AI-for-starcraft2
https://github.com/AI-for-starcraft2/mod-for-starcraft2

aphstar

因为图像识别技术不成熟,所以aphstar使用暴雪后台提供的接口来进行识别和检测单位,并不是真正意义像玩家一样操控单位。

aphstar原理

https://github.com/zhoubolei/introRL/blob/master/lecture_alphastar.pdf

很美,不是吗。我原本以为深度学习缺点很多,令人失望的聊天机器人效果,但是这个框架给我看到了希望。

也许未来的游戏ai、聊天机器人、智能机器人可以使用非常庞大的深度强化学习框架来极限接近强人工智能,复杂的系统宏观上体现了规则性,神经网络可以很好的处理细节。

(我在某篇说的很多强化学习论文无法抽象和处理细节规则是另一个角度,RTS游戏实际上规则还是单一简单的胜负博弈,没有很多细小规则和操作的detail。)

受限于时代,我们没有更好的选择。量子计算机,多进制计算机,生物计算机等一系列基础科学因为和平与福利,一直无法突破。

但愿我们在上个时代能做出下个时代的作品。就像历史上的诸葛连弩,手摇加特林,电子管步话机。提前历史做出东西,开历史的倒车都是充满魅力的事情。

当人们团结一心得时候,是可以超越时代的。机巧的搭建规律,撬动命运的车轮。

玩家社区观点

aphstar已经能击败人类职业选手了

但是老玩家认为aphsta并不公平。他们认为aphsta可以通过后台迅速选取建筑,没有任何延迟,而且可以迅速攻击聚团的飞龙中残血的一个,达到优势,这很不公平。

我个人认为starcraft2是个非常不公平的游戏。从1代到2代是个失败的过度。因为打工的印度程序员不是当初那些用爱发电的程序员。这也是现在游戏水准换汤不换药的原因。

从starcraft1中的大兵团和超级魔法的靠战略纯rts游戏,starcraft2变成了1个靠花里胡哨的操作的游戏,变成了小队作战,严重削弱了战略性。这样的话电脑微操当然强于人类。这不是个公平游戏。

现在看来go游戏也不是个完美公平游戏,被电脑找到了其中的破解规律。

sc项目

python的星际争霸2接口,可以控制游戏中单位和识别敌方单位。

https://github.com/BurnySc2/python-sc2

https://github.com/Dentosal/python-sc2

pysc2项目

deepmind公司用于开发aphstar的框架

事实上与我们普通研究者和玩家没什么关联,因为云服务器来训练它成本高昂,而且由于复现困难,导致效果并不好。另一方面aphstar受限于apm限制,而一般starcraft2 bot天梯上面不限制apm。

个人认为aphstar不一定能击败精心设计的脚本bot和sc2项目的人工智能bot。因为我们的人工智能ai问题还有很多。很多发表的强化学习ai感觉甚至打不过脚本。这是因为小的细节规则难以抽象出来,更难以在框架中考虑并设计到。

已经确定的事情

  • bot无法加入游戏大厅

  • 地图脚本和外部程序操纵xml存档文件输出数据

    通过地图脚本和外部程序反复读取xml存档文件,应该能实时输出数据,但是没有尝试过。这样以后可以绕开暴雪接口限制,使得玩家和人工智能bot在游戏大厅线上对战。或者人工智能bot可以在游戏大厅线上和玩家一起合作完成原本需要多人配合的合作地图。

    待研究

  • 控制鼠标键盘操作屏幕模拟玩自定义地图游戏

    通过自动化测试框架或者pygame等包是否可以完成一些自定义地图的操控。

    待研究

  • 无法超过2个人工智能bot

  • 自定义地图可以加载

    已经测试完非常多自定义地图,确定只要游戏刚开始没放入未在unit_typeid.py中注册的自定义单位,便可以加载。

  • 自定义单位可以使用

    PS 韩国人正在做自定义种族的人工智能ai,但是已经失败。

  • 自定义建筑不可以

    已经完成初步探索,但是尚有很多问题需要解决。

    研究中

研究的意义

starcraft2游戏提供了简易的编辑器(相当于简易游戏引擎)和数据接口API,通过自定义地图可以在starcraft2内部实现大多数各种类型游戏。

  • 回避图像识别误差过大

    这样回避了图像识别不成熟和鼠标选取带来的诸多问题。研究者可以先行强化学习玩游戏的框 架。(当然如果研究者想使用图像识别也是可以的,可以不用或者辅助使用数据接口作为宏观判断的依据)

  • 节省个人的运算资源

    由于图像识别需要消耗大量运算资源,然而大多数贫穷研究生可能没有机会拥有一台属于自己的高性能台式机或者根本没有实验室。通过数据接口可以绕过图像识别带来的的计算资源困难。

推荐的研究

思路1 训练可以合作的人工智能agent

Api接口设计用于1vs1标准竞技对战。所以仅仅支持2个外部agent,实际上我们可以试图训练2个agent配合完成任务地图或者多人地图同时对抗多个传统电脑。或者1个人类玩家1个agent相互配合完成任务地图或者多人地图同时对抗多个传统电脑。还没有设计实现思路,基础知识薄弱。因为社区现在还在使用api来做1vs1标准对战,不像我非主流的使用api来通过api设计漏洞操作,应该有研究价值。

思路2 训练高级-低级指挥agent

玩家使用外部语音操作宏观指挥,api操作单位进行各个建造和进攻防御行为,玩家只需要命令api的agent以何种模式发展,何种模式进攻就可以了。
完成玩家和agent的合作性人工智能。
如果agent能够使用pysc2那种微操作就更好了。这样玩家进行宏观判断,agent负责具体战斗,但是pysc2未了解以及训练成本极其搞。

思路3 自适应agent

游戏中电脑的最终目标是陪玩家娱乐,所以agent需要具有自适应调节难度的能力,应该可以根据游戏的过程中的交换比和玩家以往战绩可以自适应调整自身难度,以适应玩家水平和提高玩家游戏水平。

AI研究社区

wiki

https://aiarena.net/

https://wiki.sc2ai.net/Main_Page

https://aiarena.net/wiki/bot-development/getting-started/#wiki-toc-maps

Github

https://github.com/BurnySc2/python-sc2

https://github.com/Dentosal/python-sc2

https://github.com/Blizzard/s2client-proto#downloads

discord

https://discordapp.com/invite/zXHU4wM
https://discord.gg/zwpJzBQN

相关项目

starcraft1

Brood War API Team

https://www.starcraftai.com/wiki/Main_Page

https://github.com/bwapi

https://bwapi.github.io/

星际争霸1比赛

https://sscaitournament.com/

其他

示例bot

https://github.com/davechurchill/commandcenter

使用API制作星际争霸2AI相关推荐

  1. 多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏

    大家好,今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文 Grandmaster level in StarCraft II using multi-agent reinforcement ...

  2. java 写的星际争霸_用java写星际争霸的ai

    一直有这个想法很久了.以前也知道可以用BWAPI这个API写星际争霸的ai.但是直接用那个的话一直没调试好,各种版本都搭配不好然后导致星际崩溃,C++又不是很懂只得作罢. 幸好最近发现了这个网站:ht ...

  3. [译]星际争霸人工智能比赛——通告

    赖勇浩(http://laiyonghao.com) 昨天在广州技术沙龙第 3 期的会场上通过 Google reader 看到这个消息(http://developers.solidot.org/a ...

  4. linux系统可以玩星际争霸吧,暴雪携手DeepMind推出《星际争霸2》API工具,玩家可以“调教”AI打游戏了...

    在去年的暴雪嘉年华期间,暴雪宣布与谷歌旗下的人工智能研究部门DeepMind展开合作,在<星际争霸2>中引入机器学习方法,进行人工智能研究.现在这个计划有了一些下文. 今天,暴雪<星 ...

  5. 星际争霸2logo在线制作

    星际争霸是当年很流量的一款竞技游戏,相信很多80后都玩过.而能吸引设计师眼球的就是星际的LOGO了,那星际争霸2LOGO如何在线制作呢?Logofree君跟大家分享制作过程. 话不多说,直奔主题. 先 ...

  6. linux 星际争霸,《星际争霸II》API来临

    <星际争霸II>开发团队代表暴雪娱乐在此隆重宣布,<星际争霸II>API正式发布!我们对研究者们多年来通过原版<星际争霸>来增强AI性能的努力表示赞赏和认同.有了& ...

  7. 【转贴】看星际争霸人工智能伯克利如何“主宰”了“2010星际争霸人工智能挑战赛”...

    我们集中在伯克利校区里的一个会议室里,局域网的设备散落在我们周围.桌面上堆满了电脑和披萨,屏幕上投影的是一场<星际争霸>的比赛.Oriol Vinyals,一位计算机科学的博士生,正指挥着 ...

  8. AlphaStar的游戏——星际争霸2 AI综述

    两天前,DeepMind直播展示了他们星际2AI的最新进展.AI名叫Alphastar,它在与两位职业选手的比赛录像中获得了全胜,其中一位还是世界前10的顶尖神族选手Mana.在与Mana最后一场万众 ...

  9. DeepMind:星际争霸2:强化学习新挑战(论文翻译)

    星际争霸2:强化学习新挑战 原文下载链接:https://deepmind.com/documents/110/sc2le.pdf 整个论文分为: 摘要(Abstract) 1.介绍(Introduc ...

最新文章

  1. PAT天梯赛练习题——L3-005. 垃圾箱分布(暴力SPFA)
  2. 截图工具当前未在计算机运行
  3. 转行做python现在怎么样_本人现在大三之前是学习网络的,现在想转行做python程序员,该如何学习?...
  4. dede服务器建站_建站就是这么简单(内容系统管理CMS篇)
  5. [CVPR2019]:专门为卷积神经网络设计的训练方法:RePr
  6. 电子书下载:Professional ASP.NET MVC 2
  7. Node.js 初步学习总结
  8. BIEE11G系统数据源账号过期问题(默认安装步骤)
  9. 第十章 动态选录协议
  10. linux下 mysql 学习(一)
  11. 论文阅读笔记——具有圆形光滑标记的面向任意对象检测
  12. 高可用的分布式Hadoop大数据平台搭建,超详细,附代码。
  13. 动态页面抓取超级指南_减少页面重量的完整指南
  14. iOS 支付宝授权登录,思路
  15. stm32 驱动ADXL345传感器例程(IIC驱动,可自行改SPI方式)
  16. fatal: unable to access ...: LibreSSL SSL_connnect: Connection reset by peer in connect to... :443
  17. Docker 镜像仓库 Harbor 部署 及 跨数据复制
  18. Project2019安装步骤
  19. java url 加号,URL中加号(+)转义问题
  20. python神经网络编程pdf百度云下载-Python神经网络编程高清版.pdf

热门文章

  1. mysql中%3cwhere%3e_MySQL EXPLAIN详解
  2. oracle 拼接字符串超长,字符串连接超长的解决(一)
  3. 冒泡算法的实现原理:(从小到大排序)
  4. android 性能测试工具下载,Android性能测试 一些适用于Android Studio的代码审查和性能测试工具...
  5. Python学习(四)后端开发框架django
  6. 码率自适应技术 (Adaptive Bitrate Streaming,ABR)
  7. html表格合并线条不加粗,word表格线条加粗后不显示
  8. Unity(十二):2D飞刀小游戏
  9. 配置kubeconfig_多Kubernetes集群如何切换?基于Kubectl客户端配置的实操分享
  10. 电子科大电气工程导师介绍绍_电子科技大学导师介绍