背景:7月28日,腾讯云在北京举办云+社区沙龙,邀请来自腾讯与四川云检科技的五位AI技术专家,分享他们在专业领域的AI开发经验,帮助开发者在具体行业场景中实践AI技术。本文根据王亮在【7.28日腾讯云+社区技术沙龙-AI技术全面场景化落地实践】现场演讲内容整理而成。


讲师介绍

王亮,腾讯AI高级研究员。2013年加入腾讯,从事大数据预测以及游戏AI研发工作。目前主要从事MOBA类游戏AI相关的研发工作。

本次分享大纲

今天分享的课题是游戏AI探索之旅。本次分享分为四部分:

第一部分,什么是游戏AI,游戏AI为什么对现在的游戏非常重要;

第二部分,业界和工业界对于做游戏AI主要的方法,以及现在业界一些主流的游戏上的进展。

第三部分,结合基于公司自有的MOBA游戏,分享一下我们做的一些探索研究及现在的进展;

第四部分,会简单介绍一下基于深度学习方法来做游戏AI,对于游戏开发者来说需要提供哪些环境便于AI的开发。希望通过今天的分享能给大家之后工作或者接下来学习上带来一些的启发和思考。

什么是游戏AI

什么是游戏AI,对于游戏开发者而言是要增进用户体验,提升游戏玩家的活跃度,方法主要是基于一些人工规则的方式。而对于学术界来说目标是最大化赢的概率,而现在主要是基于学习的方法。

几乎每款游戏都有自己的游戏AI。棋牌类的(深蓝、Alphago)、体育类的足球篮球、角色扮演类游戏……越复杂的游戏对AI的依赖程度越高。AI在游戏中常用的方式:人机对战:AI为游戏提供一种玩法,玩家可以选择与游戏AI对战去熟悉游戏;平衡性测试:辅助游戏设计开发,如:游戏数值改变,AI可以用于验证测试数值变化带来的影响;对于射击类的游戏,AI可以用于探索地图的探索等。

通用的游戏AI的设计,包含三部分: 感知系统、决策系统、导航系统;游戏AI的决策操作基于一定的时间粒度进行循环工作。

业界和工业界对于做游戏AI主要的方法

接下来介绍一下常用的游戏AI方案,游戏AI常用方法分为三类:1) 工业界常用的行为树、有限状态机及势力图,优点:实现逻辑清晰,不足:固定逻辑执行,容易被玩家识破,复杂逻辑难实现; 2) search方法,常用的方法:遗传算法、蒙特卡洛搜索树方法等; 3) 基于learning的方法: 监督学习算法、强化学习算法;

监督学习算法:基于训练数据,难点是抽象状态环境以及执行操作Action,通常Action的定义直接影响模型的上限;对于复杂游戏来讲,对于状态s很难定义最优的Action操作。

强化学习回避SL中如何确定“正确”A的问题,转而定义reward(例如赢一场比赛reward=10,击杀对方英雄reward=1, 自身死亡reward=-5);强化学习通常用于序列操作决策问题,对于强化学习来说,特别是复杂游戏,遇到的挑战:1) exploration和exploitation的问题, 2) 对于游戏玩法时间较长,如何解决reward delay问题。

谈到游戏AI探索研究,目前很多研究者在星际2上探索,目前星际上AI采用目前最强的StarCraftAI由hard-coded程序和learning程序共同实现,且hard-coded部分占大部分;目前最强的StarCraft AI还不能战胜业余的中上水平。星际游戏较为复杂,通用设计:将AI根据决策时间长短,分为:strategy,tactics, reactive control 进行分层优化。

Alphago掀起了游戏AI的浪潮,它成功超越了人类,它的算法主要由Supervised learning +Reinforcement learning +Monte Carlo tree search三部分组成,它的线下训练需要大量的计算资源。目前DeepMind跟暴雪已经合作开发了一个开放平台,模拟器是非常重要的,如果要做游戏AI相关开发,模拟器是必要的环境,通过模拟器获取数据以及提供一些操作指令能直接操作游戏AI。

今年在游戏界或者在游戏AI行业里最有影响力的就是Dota2了,在5个特定英雄等限制条件下AI能力能够超过90%的玩家(截至2018.6.25)。采用的是强化学习的方法。线下训练所使用的资源远远大于Alphago在围棋上使用的资源:12W+CPU,256GPU。

MOBA游戏AI的研究与探索

接下来介绍我们在MOBA游戏上的AI研究与探索。王者荣耀是一款即时战略游戏,与Dota,LoL是同类型游戏。MOBA游戏特点:注重英雄的操作,英雄设计较为复杂。

介绍AI技术方案之前,首先我们来看下做MOBA类游戏难点在哪:

强化学习在围棋上成功的应用,为什么Moba类游戏AI还没有战胜人类的职业选手?以王者荣耀这款游戏来分析,从状态训练空间来看,王者的操作基本是在102000,围棋只有10170。操作序列空间也存在巨大差别,导致计算会非常非常大。

我们再看一下王者荣耀跟围棋存在什么样的差异:从AI的个数上来说,围棋只有一个AI,只需关注黑白子。对于王者来而言却是有多种对战情况的,5V5,3V3,是多个AI的操作。其次就是确定性的问题,下围棋落子即定,不存在下完还可能下不成功的问题。而对于战略性游戏却是非确定的操作,即使发出了技能也有可能被人打断,所以是非确定性的操作。对于状态可观测性,围棋可以看到整体的情况,而王者地图对于玩家而言是部分可见,只能看到友方的视野,这样就会涉及到博弈问题:如何去预测敌方的位置。

接下来我们再看下目标学习问题。目标学习是非常重要的,首先需要解决每个英雄要去哪里的问题,对每个英雄或者对每类英雄要去的位置和出场是不一样的。其次就是选目标的问题:游戏中有七十多个英雄,每一局英雄可能不一致,如何解决英雄不一致的问题?因为AI学的是用户的操作,每个英雄技能设计不一样,有的是方向型的技能,有的是指向型技能,有的是位置型技能。

第三个难点是知识表达的问题。如果对于一个复杂英雄如:露娜,李白,玩家没有熟悉一百场练习很难熟练操作这复杂英雄。露娜无限连怎么打,关羽的无限推,李白四字真言,诸葛亮大招躲避。另外每个英雄有一些技能状态变化的设计,例如说花木兰,它的技能会随着三技能的变更,前两个技能效果也会变。这些如何表示?对于人来说是游戏常识,难点在于对于AI如何进行表达。

对于遇到的主要问题我们的解决方案:第一是引入框架进行分层,任务分层场景切分。对于知识表达,引入了多模态的特征表达方式:卷积特征+向量特征+ 时序特征;模型采用多深度学习模型结合。

接下来介绍下王者AI的主要技术解决方案。框架设计主要包含两大组成部分:游戏分析和策略模块。游戏分析模块主要包含:英雄搭配问题,装备策略的分析等。策略执行模块用以解决:接下来去做什么,到达对应地点后如何进行对战的问题。

大局观设计,大局观是解决下一时刻位置问题。具体来说对于英雄它下一次的热点在哪里?下一次的战斗位置在哪儿?或者它下一次蹲草丛在哪个位置。微操的设计,微操解决的是场景发生战斗的问题。我们特征采用多模态方式组织:位置相关信息通过imagelike特征组织,属性信息通过向量特征表征,采用深度学习的Multi-task模型。

整体来说随着强化学习,深度学习方向进展,以前主要是基于规则,现在主要是基于学习方式来研究AI。如果采取基于学习的方式研究AI对于开发者而言需要提供相关的环境便于开发者进行迭代调试。总而言之,MOBA类游戏AI研发遇到很多困难与挑战,但也充满了机会。

这是今天的分享,谢谢大家。

在后台直接回复“游戏AI”,可获得本次分享的PPT。

游戏AI探索之旅:从AlphaGo到MOBA游戏相关推荐

  1. 手机游戏AI探索之旅:从AlphaGo到MOBA游戏

    讲师介绍 王亮,腾讯AI高级研究员.2013年加入腾讯,从事大数据预测以及游戏AI研发工作.目前主要从事MOBA类游戏AI相关的研发工作. 本次分享大纲 今天分享的课题是游戏AI探索之旅.本次分享分为 ...

  2. 《游戏AI开发指南(基于Lua的人工智能在游戏中的应用)》(Yanlz+Unity+SteamVR+5G+AI+VR云游戏+Lua+人机交互+沙箱+导航+决策树+影响力地图+立钻哥哥+==)

    <游戏AI开发指南(基于Lua的人工智能在游戏中的应用)> <游戏AI开发指南(基于Lua的人工智能在游戏中的应用)> 版本 作者 参与者 完成日期 备注 YanlzAI_Lu ...

  3. 游戏AI科普指南:它将如何改变游戏未来?

    本文首发网易游戏学院APP.由"网易互娱AI Lab"供稿,GameRes经授权发布. [游戏平衡篇] 一.前言 AI或许能成为游戏产业未来破局点? 近日,<2020年1-6 ...

  4. 游戏AI的缘起与进化

    作者:微软亚洲研究院 来源:微软研究院AI头条(ID: MSRAsia) 计算机科学家们一直对游戏 AI 乐此不疲,原因并非为了精进棋艺,而是希望在此过程中不断提升人工智能的算法和处理复杂问题的能力. ...

  5. 多智能体强化学习及其在游戏AI上的应用与展望

    近年来,人工智能技术在很多领域都取得了亮眼成就,并逐步从感知智能向决策智能迈进.强化学习是实现决策智能的重要路径,而现实世界中往往存在着多智能体的交互,也催生了多智能体强化学习的发展.这篇文章主要对多 ...

  6. 华为云爆出“神器”,助力游戏AI“闯关升级”

    文|智能相对论 作者|陈选滨 游戏并非小众喜好,早已成为一种主流文化.据DFC Intelligence的最新报告显示,截至2020年年中,全球电子游戏用户接近31亿.也就是说全球将近80亿人口,约4 ...

  7. 为什么要研究游戏 AI 呢?

    作者 | 叶鑫 来源 | Datawhale AI作为时下计算机算法的超级巨星,在例如CV.NLP.语音.机器人等诸多领域都有广泛的应用.而在游戏领域,AI的应用往往被认为只是把游戏角色拟人化,算法的 ...

  8. 博弈对抗游戏AI的技术方法的一些总结和思考

    目录 一.总体概况 1.博弈类型和算法 1)团队博弈 2)有限零和博弈 3) CFR系列算法 4)NFSP系列算法 2.不同的决策方式 二.不同游戏AI的简单介绍 1.棋盘游戏AI 2.纸牌游戏AI ...

  9. 为什么说麻将比围棋难?游戏AI复杂度怎么算

    通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习. 在游戏AI的缘起与进化一文中我们讲到,游戏 AI 的进化始终与 AI 研究相生相伴,这是由于游戏种类丰富 ...

最新文章

  1. 【HTTPS、HTTP】网易新闻首页https跨协议调用http的问题
  2. How to get information of all attachments belonging to a given appointment
  3. linux开发工具之gcc
  4. 从应用启动看Activity的创建过程
  5. 深度好文!男性在青年时期应为自己做哪些投资?
  6. TortoiseSVN更改账号的方法
  7. vb 字符串长度_学习VB编程第5天 基础知识需要一点点积累
  8. 火山软件开发访问网页查找电话号和读写文件应用
  9. 【漏洞复现】内网实战-Sunlogin RCE 向日葵远程代码执行
  10. 费曼:“只要我不能创造的,我就还不理解”
  11. 【测绘程序设计】Excel度分秒(° ‘ “)转换度(°)模板附代码超实用版
  12. qt.qpa.plugin:Cound not load the QT platform plugin “windows“ in “ “even though it was found.
  13. 【历史上的今天】1 月 19 日:苹果推出 Lisa;RIM 发布第一款黑莓手机;计算机先驱诞生日
  14. HashMap初始容量指定规则
  15. 自动驾驶技术基础——惯导
  16. 清华大学尹成 怎么样
  17. 奶茶果茶饮品店数字化转型| 奶茶店小程序 | 餐饮外卖系统
  18. Java打印菱形与空心菱形
  19. 中专在学校里考的计算机四级证属于中级职业技能证书吗?
  20. 云南艺术学院艺考开考 万人追逐艺术梦

热门文章

  1. corosync+pacemaker在centos7上的安装,配置简述
  2. 数据结构---队列C语言实现
  3. 开放源代码GIS资源集锦
  4. 牛客 - Firework(多源起点的最短路)
  5. HDU - 5242 Game(树形dp+树链剖分/树上贪心+思维)
  6. TransCenter解读
  7. 在Linux中安装R语言包,遇到无法验证下列签名的错误
  8. HDU1403(后缀数组--最长公共子串)
  9. [luogu2042] [NOI2005]维护数列
  10. protobuf入门教程(三):常用序列化/反序列化接口