博舍

当人工智能遇上游戏,盘点游戏中应用的AI技术! 人工智能将棋游戏叫什么游戏

当人工智能遇上游戏,盘点游戏中应用的AI技术!

说起人工智能,相信大家对于这个概念并不陌生,随着人工智能的高速发展,人工智能逐渐应用到了生活中的方方面面:AlphaGo战胜李世石,图像美化,直播中的一键换脸等。同时,人工智能在游戏中也有诸多应用,在游戏里领域扮演了相当重要的角色。

那么,人工智能在游戏开发中具体是如何运用的?能给游戏行业带来什么?在2019网易游戏开发者峰会上,学院邀请到网易游戏人工智能实验室技术总监WeldonZhang,为我们分享人工智能实验室在游戏AI上的探索和成果。 

以下是分享实录:

众所周知,中国是世界上最大的游戏市场,一是得益于庞大的玩家人数,二是离不开各公司在技术上的突破。

作为其中一份子,网易也非常注重技术积累。同时在看似繁荣的游戏市场下,我们也面临了很多挑战,经过多年培养,玩家对游戏的品质要求越来越高,游戏的开发成本逐年增加。同时由于玩家结构调整和市场变化,都给我们的市场增长带来阻碍。这些问题要求我们要在技术上不断的创新。AI实验室就希望通过人工智能技术,服务于各游戏研发部门,寄希望打造精品化的游戏。

首先,简单回顾一下游戏AI的背景。游戏AI是伴随电子游戏而出现的,在早期的《吃豆人》等游戏中就出现了对抗类AI角色,后来逐渐出现了更复杂的NPCAI。自从DeepMind发表在《自然》杂志上的DQN文章后,游戏AI开始引起重视,在短短三四年的时间,DQN发展出了很多变种,解决了很多以往无法解决的功能问题。 

对于游戏行业之外的人,真正了解到游戏AI可能是从AlphaGo开始的,这让大家感觉到游戏AI的春天即将到来。在去年OpenAIFive在《Dota2》里已经可以打败一般水平的玩家。

除通常理解的游戏AI之外,语音、视觉、机器学习等所有AI技术都可以运用到游戏中。

这次主要是想探讨一下哪些技术可以在游戏中得到应用,所以出发点是从技术方面来考虑的,并不是从产品的方面去考虑。接下来分为五个方向进行分享:图像API,模型动画,语音文本,游戏机器人以及营销运营。

这是传统AI行业经常做的事情,在游戏里也经常用到。因为在很多游戏推广运营甚至游戏的交互中,经常需要玩家上传图像,这里面就存在很多应用。举几个例子:

一、图像API

 

第一,人脸解锁,也可以应用到手游非登陆密码解锁;

第二,人脸美化,使玩家交互过程更加和谐;

第三,人脸变换,制作年龄变化、脸型变化等趣味玩法和营销赋能,不仅是静态的变脸,还可以实现动态替换。

第四,图像检测,进行敏感图片检测、垃圾广告检测、政治人物检测和暴恐方面的检测,过滤掉不合适的内容。

还有一类图像API是游戏美术图像的生成和变换,美术资源的制作是整个游戏制作成本中最大的一块,所以我们就思考,有没有什么AI技术可以自动生成这些美术资源,当然不仅限于图像。后来发现利用图像技术进行场景风格化,角色风格化,自动上色,个性字体等方面的应用都可以帮助美术节省成本。

画面风格迁移可以把不同画家的风格转化到同一张图片上,得到不同画家风格的图片。我们在游戏中也做过很多尝试,例如通过一张真实的照片,直接转换为各种风格的素材。

二、模型动画

1.角色,场景,道具生成

模型生成主要是围绕人物角色、动物角色、物体的3D扫描重建以及最近很流行的智能捏脸等方面。

捏脸已经成为很多游戏的标配,其中有很多可以探索的地方。玩家想达到自己想要的脸型会花费很多时间,那么如果上传玩家自己的照片就可以进行自动匹配脸型。

另外还可以利用玩家上传的照片和游戏的模型进行融合,进行智能捏脸,让玩家有较好的游戏代入感,以及对人头模型进行宠物化实现趣味玩法等。

2.动画生成

有了人头和人体模型之后,就要进行动画生成。动画方面我们也进行了很多研发,例如口型动画,表情动画;同时还做了很多表情捕捉、动作捕捉、动画控制器等方面的探索。

 

语音驱动口型动画基本原理是:对输入的语音做特征提取,通过深度网络模型找到对应的口型,从而生成动画。目前口型的模型也已经做到可以自动生成了,可以自动识别语音的情感变换面部表情。同时在虚拟直播时,面向一些有特色的直播,可以做一些表情实时迁移。

三、语音文本应用

语音和文本方面也存在很多应用,例如语音识别、语音合成、声纹识别、文本生成、文本分类、文本交互等。

语音识别主要是用于识别玩家上传的语音,过滤掉不合适的内容,也可以用语音识别技术对游戏进行控制;

语音合成主要运用于NPC配音,基于端对端神经网络语音合成,生成多语言带感情的语音,还可以做一些声纹识别,例如闻声识人,从而进行玩家身份验证,无须输入身份信息。

文本生成的方法可以生成古诗、对联、战报、文案等,实现趣味玩法或者加速文案制作;

文本分类中,通过对聊天频道的内容监控,我们可以做广告过滤、社交推荐等;

文本交互可以做互动交互、智能客服、新人引导、NPC聊天以及伴随养成和辅导这些相关内容,给玩家提供更好的体验。

四、游戏AI机器人

 

类似于DeepMind和OpenAI,我们也在游戏机器人方面做了大量的工作。结合监督学习、强化学习以及规则库,我们在游戏角色的微操、决策等方面做了很多尝试,可以应用于卡牌、对抗类游戏。

五、智能营销运营

在智能营销方面,我们可以利用图像识别技术进行外挂检测。还可以给玩家进行推荐,譬如道具推荐,搭配推荐,战场匹配等。最后还可以进行图像,文本,动画等玩家分享。

游戏外挂破坏了游戏的平衡,所以游戏需要对这些外挂进行检测。我们训练了一个基于深度学习的轻量级外挂作弊检测模型,放到PC端或移动端做定时的检测,可以把外挂识别出来。模型的准确率非常高,且占用资源量非常少,检测速度很快,能够深度打击这些外挂。

毫无疑问,人工智能给游戏开发带来更多便利和更加多样性的玩法,同时,一款游戏中人工智能运用的好坏也会直接影响到游戏的可玩性。如何在现有技术水平的基础上加入更多、更新颖的人工智能技术,也是未来游戏开发中值得讨论的课题。未来在游戏以及更多领域中,人工智能会有更多、更强大的应用。

人工智能已经能制作游戏,游戏AI,也在走出游戏

对于游戏AI,有两极化的认知。

一种是智能,即在某款游戏中击败人类顶级选手近乎轻而易举。

另一种则是智障,即在游戏中扮演NPC进行互动时,往往变成尬聊。

关于游戏AI的最终幻想应该是啥样,自然不仅仅是能否轻松击败人类,而是如2021年那部电影《失控玩家》里所演绎的那样,游戏里的NPC出现了智慧,以至于萌生出了游戏版的“庄周梦蝶”感觉。

事实上,互联网大厂一直都在梦想这样的颠覆,以至于用在了一年一度的愚人节玩笑(往往也是自己远景战略的一个揶揄)。

例如2019年愚人节,英伟达开玩笑的发布了一款名为GeForceRTXR.O.N.的AI智能游戏助手,号称精通十八门语言,能够生成全息图像,生成游戏3D图形,分析游戏数据,制定战术,甚至可以帮你和玩家对骂……

而这真的只是个玩笑吗?

一年后,英伟达给出了答案。

在经典游戏《吃豆人》诞生40周年之际,英伟达宣布使用5万局游戏训练出的人工智能模型重建了这个游戏——不用写代码、不用构建游戏引擎渲染图像,仅仅通过神经网络“看”原版《吃豆人》的运行状况,自行理解游戏规则,最终完成了游戏制作。

这个游戏真的好吗?

也许是和英伟达本身是视觉处理领域的国际大佬这个定位相关,其创建的人工智能的学习方式,也不同于遗忘的AI靠吞噬大数据进行深度学习,反而选择了用“看”的方式,不断的在各种《吃豆人》的游戏视频里学习并推断其游戏规则,最终达成“复刻”一个游戏的模仿效果。

话说这款游戏,“算”起来相当智能,但“玩”起来就非常智障了,恰好一肩挑起了两极化的认知。

秘密同样是英伟达自己揭开的:

由于短时间生成大量游戏视频不大现实,因此团队使用计算机来玩《吃豆人》生成画面。

但是,用于模拟玩游戏的AI在游戏中太出色了,让看视频的AI被误导,难以理解游戏中“死亡”的概念,所以最初产生的《吃豆人》,游戏中几乎都不会输。

当然,后续发现问题并改进后,这款《吃豆人》的复刻,也就算是向AI的最原初诞生,完美致敬了。

学习、改进、再学习,成为了游戏AI和自己在其他领域里AI们共同完善自身智能的必由之路。

但游戏AI还可以做到更多,例如和《失控玩家》一样从游戏走到现实中来。

真当互联网大厂和游戏公司们做能击败人类顶级玩家的AI,只是一种展示技术的无聊事吗?

答案是否定的,不然真的是有钱没地方烧。

马化腾就在2021年世界人工智能大会中说,要用游戏AI去激发青年人对通用AI的研究兴趣。

事实上,互联网科技领域正是如此去做的,用游戏AI做一款属于自己的游戏,实现自己少年时的游戏梦。

例如Facebook开发的可以和玩家团队协作玩纸牌游戏《Hanabi》的AI,其开发者就说:“我们对《Hanabi》感兴趣的原因并非游戏,而是关于如何将这些功能构建到AI系统中,例如自动驾驶汽车或AI客服,它们需要实际了解其他人通过行为与之交互时的心理状态。”

至于索尼为《GT赛车》开发的AI驾驶者,则可以更进一步:

不仅需要在高速多变的条件下,考虑刹车、路线、速度、方向等因素,瞬间决定方向盘的打法和加速方式等多个决定;同时也要学习驾驶的“礼仪”,在合乎公平竞争原则下减少非必要碰撞,以及作为慢车时进行让车。

这个背后,你能想象的空间就更为巨大了。

在实际的场景测试里,自动驾驶公司很难创造或者遇到极限场景,比如暴雨+冰雹的复杂路况,或高速公路上闯入的动物及行人等突发事件,这往往会造成测试数据的局限。

然而在游戏世界,利用AI技术的测试数据获取成本就相对较低,例如无限撞车、持续过弯,都可以通过AI在短时多次测试中得到一个相对可行的解决路径。

于是,AI成为虚拟风洞里的“运动员”,在跳出游戏的更多场景里发挥作用的价值,也就不再只是战胜人类这个小目标了。

刊载于《人民邮电报》2022年4月8日《乐游记》专栏330期

作者张书乐,人民网、人民邮电报专栏作者,中经传媒智库专家,资深产业评论人

【人工智能导论】吃豆人游戏(上):对抗搜索与Minimax算法

吃豆人实验(ThePac-ManProject)简介

ThePac-ManprojectsweredevelopedforUCBerkeley’sintroductoryartificialintelligencecourse,CS188.TheyapplyanarrayofAItechniquestoplayingPac-Man.Theprojectsallowstudentstovisualizetheresultsofthetechniquestheyimplement.Theyalsocontaincodeexamplesandcleardirections,butdonotforcestudentstowadethroughundueamountsofscaffolding.Finally,Pac-Manprovidesachallengingproblemenvironmentthatdemandscreativesolutions;real-worldAIproblemsarechallenging,andPac-Manistoo.

吃豆人实验(ThePac-ManProject)是由加利福利亚大学伯克利分校的JohnDeNero和DanKlein设计并开源给学习者使用。实验的初衷是使学生能在有趣的图形化可视化游戏界面中编写他们的AI。

如果你去Google本实验,你会发现本实验还包括两个前置任务:设计基本游戏逻辑和实现简单的走迷宫搜索(如BFS、DFS、Astar等)。然而本实验将不聚焦于游戏主体(图形界面和游戏逻辑)的设计,毕竟这是人工智能导论(IntroductiontoArtificialIntelligence)的课程实验而不是Python程序设计或者游戏设计的课程,我们将仅仅聚焦于吃豆人本身的智能反射体的设计和编写。

本实验包括四个部分:

ReflexAgentMinimaxAlpha-BetaPruningEvaluationFunction

本实验基于Python编写。

实验简介原址:ThePac-ManProject实验文件:DownloadThePac-ManProject(GitHub)

实验文件组成

下面简单讲解一下实验文件组成和用法。

文件名称备注multiAgents.py唯一需要编写的文件,所有的搜索智能体都将在此文件中pacman.py运行吃豆人游戏的主文件,包含了GameState类等game.py该文件实现了吃豆人游戏的运行逻辑,包含了像AgentState,Agent,Direction,Grid等几个起到支持作用的类util.py该文件包含了实现搜索算法需要的数据结构ghostAgents.py该文件控制幽灵的智能体graphicsDisplay.py该文件实现吃豆人游戏的图形界面graphicsUtils.py该文件为吃豆人游戏的图形界面提供支持keyboardAgents.py该文件实现通过键盘控制吃豆人layout.py该文件包含了读取游戏布局文件和保存布局内容的代码textDisplay.py该文件为吃豆人游戏提供ASCII码形式展现的图形

打开multiAgents.py,看到注释的question1-4和大大的YOURCODEHERE就知道该怎么做了。

运行游戏的方法是:终端

你有无数种方法打开终端,比如用Pycharm或者Vscode打开文件夹,直接用底下的终端。如果你是Mac/Linux用户还可以直接终端cd进入这个文件夹。

输入pythonpacman.py-h以查看所有运行命令的帮助:

在这里列举几个常用的命令:

pythonpacman.py//开始游戏pythonpacman.py-pReflexAgent//简单的反射智能体pythonpacman.py-pReflexAgent-lopenClassic//在开放布局测试反射智能体......

默认情况下幽灵位置随机;为了获得乐趣,你可以使用命令-gDirectionalGhost使游戏中的幽灵更聪明和有方向性;你也可以通过命令-n来让游戏运行多次;使用命令-q关闭图形化界面使游戏更快运行;用–frameTime0加速游戏画面。

看来我们已经了解了整个Pacman实验的操作方法,就让我们开始吧。

对抗搜索(博弈搜索)

我们设计游戏AI的初衷是让AI模仿人的操作去击败其他玩家。在现实的许多游戏都符合以下的性质:有确定的玩家数目,有确定的游戏步骤(不像飞行棋那样有大量随机事件),有完整的游戏信息,具有对抗性(零和游戏)。象棋、五子棋、围棋等游戏就是典型的博弈游戏,尽管象棋有“逼和”这一种结局,但是其本质仍是一种“你死我活”的对抗游戏,故符合零和游戏的对抗性质。

对抗性博弈可以粗略地定义如下:一定规则下,具有完备信息的、确定的、轮流行动的、两个游戏者的零和游戏

区别于以往的一些类似于走迷宫、八皇后、八数码等普通搜索问题,博弈问题的解决需要建立博弈树(GameTree)。不同于普通搜索问题的搜索树,由于有两个游戏者,而每一个游戏者的行动都对游戏状态和另一位游戏者的决策起到重要影响,因此搜索树扩展成每一行动都对调对象的博弈树。博弈树同时展示了对于两个游戏者的行动空间和利益。

Tobetterunderstandthegametree,itcanbethoughtsofasatechniqueforanalyzingadversarialgames,whichdeterminetheactionsthatplayertakestowinthegame.Ingametheory,agametreeisadirectedgraphwhosenodesarepositionsinagame(eg,thearrangementofthepiecesinaboardgame)andwhoseedgesaremoves(eg,tomovepiecesfromonepositiononaboardtoanother).Thecompletegametreeforagameisthegametreestartingattheinitialpositionandcontainingallpossiblemovesfromeachposition;thecompletetreeisthesametreeasthatobtainedfromtheextensive-formgamerepresentation.Tobemorespecific,thecompletegameisanormforthegameingametheory.Whichcanclearlyexpressmanyimportantaspects.Forexample,thesequenceofactionsthatstakeholdersmaytake,theirchoicesateachdecisionpoint,informationaboutactionstakenbyotherstakeholderswheneachstakeholdermakesadecision,andthebenefitsofallpossiblegameresults.——Gametree-Wikipedia

在博弈问题中,博弈搜索树实在太大,无法使用较低效率的普通搜索算法如A*搜索。在博弈搜索的算法中,我们要学会使用剪枝算法(如Alpha-beta剪枝)去除很多不考虑的情况和评估函数(Evaluationfunction)来估计每一步的评价。

Minimax算法

Minimax算法又称极小化极大算法。作为对抗搜索中的重要搜索方法,它可以找出失败的最大可能性中的最小值。

自然地,本着我们AI要去击败其他玩家(或其他AI)的想法,我们考虑Max作为AI的最大利益,Min作为Player的最小利益。

算法可以简单化为以下数学形式:

对于Max层,它继承下一层(Min层)的最大值;对于Min层,它继承下一层(Max层)的最小值;直到端点为止,端点是游戏结局或者是人为设置的深度。

因此,很显然,Minimax算法是一种悲观的博弈搜索,它认为对手不会犯错,对手会做出对于对手而言的最大利益操作(即对于AI自己的最小利益),因此它假设了一个对手做出的操作集合,然后选出了其中对于自己的最大利益操作。Minimax算法的搜索过程类似于DFS:

计算过程:

在此强烈推荐一个Minimax算法的模拟网站,自己试试添加节点和值,一看便懂:MinimaxSimulator

Pac-Man#1反射体

说了这么多,我们来回归吃豆人吧。吃豆人实验第一题是写一个简单的ReflexAgent替代原有的。我们在openClassic布局上进行实验,默认情况下没有墙,只有一个幽灵。

运行代码:pacman.py-pReflexAgent-lopenClassic-gDirectionalGhost我们的目标是:

用寻路算法吃掉所有豆子躲避幽灵尽可能高分

寻路算法采用最简单的BFS,搜索距离吃豆人最近的豆子

BFS算法原理可以参考:八数码难题-BFS解决,模板来自acwing-yxc。值得注意的是因为直接套用了模板没有采用面向对象的一些方法,比如判断操作是否合法完全可以采用函数提供的getLegalActions方法,以上代码仅供参考。

通过找到最近的豆子,在这种没有墙的地图直接通过贪心来找局部最优路线即可。躲避幽灵的方法也很简单,计算吃豆人和幽灵的曼哈顿距离,当距离小于等于1时,将躲避幽灵的权重加大加大再加大即可:

其他距离下,直接可以当幽灵不存在。

利用本方法写出来的简单智能反射体,运行一百次的胜率为100%,平均得分大约1230:

Pac-Man#2Minimax

下面来讲讲本次实验的难点之一,如何实现Minimax算法。找到classMinimaxAgent(MultiAgentSearchAgent)的question2处。

设计Minimax算法的可以通过两个函数(如上的伪代码,max_value&min_value)的互相调用实现;也可以统一写成一个函数,其中进行条件分支和递归。我们选择后者来编写。

先让我们想想Minimax函数需要什么样的参数,然后再想想应该返回什么样的东西。首先我们应该告诉函数当前游戏的状态gameState,游戏状态能提供大量信息如下注释:

我们还要告诉函数操作对象是谁。因为统一写成了一个函数,因此至少要告诉函数目前实在操作谁,不然函数自己都不知道应该生成最大值还是最小值。操作对象就是index。

最后还有一个参数作为当前深度。这个参数严格意义上并不算是必需写在定义中的,你可以写成函数中的局部变量,也可以像我一样写在定义上方便递归。当前深度能让函数知道什么时候停止而不是无止尽地递归搜索下去。

因此先写出函数的终止条件:

返回什么东西我们最后讲。

接下来是实现max-min的重头戏了。如果直接采用模拟DFS的过程无疑会过于痛苦,这里我选择维护一个数组valNodes,该数组记录了下一层所有节点的评价值(如当前是Pacman层,则valNodes记录了Ghost1的每种行动的评价值)。我还需要遍历当前操作对象的合法actions,对每个action生成对应的successor(这里实际上是在说同一件事,action和succeesor是同级别的不同数据结构,比如action是’Left‘,则successor是向左走后的游戏状态)。紧接着我们就要往valNodes里添加下一层的值了,怎么操作呢?答得好!递归。递归Minimax函数本身(注意参数要改成下一层的)可以返回下一层的值。

这里可能会引起大家的疑惑,Minimax函数到底返回的是什么东西?是返回评价值还是Pacman的action?最后一段代码解答了这个疑惑。如果当前已经是第一层(最上面)且操作对象是Pacman,毫无疑问返回的就是action。如果是递归到了底下的层或者对象不为Pacman,那返回的显然是评价值,毕竟action不能用来计算。

如果你精通数据结构的搜索方法,你会发现这其实还是个DFS过程,只不过每次返回的东西有差异。

接下来我们来看看算法的效果,使用代码:pythonpacman.py-pMinimaxAgent-lminimaxClassic-adepth=4

你会发现你的智能体有时候会输,这是完全正常的情况,先不说深度为4的Minimax算法本身预测结果并不好,算法本身就有一定的“自杀倾向”,即当吃豆人发现它将不可避免地死亡时,它会尝试尽快结束游戏因为不断的存活罚分。有时候,这个是跟随机幽灵有关的错误做法,但Minimax智能体一直都假定最坏情况,这就是我们为什么说它是“悲观的”。

即使这样,朴素Minimax算法仍然会有六七成的胜率。

这个问题我们将在后面的Alpha-beta剪枝和评估函数设计中解决。

最后附上运行一百次的测试结果(深度为4):

完整multiAgents.py代码会在这个系列完结后上传

参考文章:https://en.wikipedia.org/wiki/Minimaxhttp://ai.berkeley.edu/multiagent.html

从王者荣耀AI看人工智能与游戏结合的未来意义

国际在线消息:3月18日,成都大运会倒计时100天之际,由大运会执委会主办,腾讯承办的“世界大学生数智竞技邀请赛”正式启动。这次邀请赛将融合科技、文化、竞技的赛场精神,以《王者荣耀》和腾讯AILab共同研发的AI开放研究平台――开悟为载体,为全球大学生提供一个AI科技交流的顶级舞台。

以世界大学生数智竞技邀请赛的举办为契机,我们也从游戏的产生、AI与游戏结合等角度,了解这个领域背后的历史、现状和对于人类未来的意义。

荷兰的语言学家和历史学家说:游戏是人类文化中的固有成分,游戏所代表的竞赛精神和创新精神,促进了社会发展。

在科教影片《动物世界》里,有一个温馨画面令人难忘:两只小狮子在母亲慈爱目光的注视下,相互嬉戏、打闹,无忧无虑、快乐地成长。从专家的解说我们得知,这种游戏、打闹并不是毫无意义的,正是通过这种游戏,小狮子们逐渐掌握了生存技能,获取独立生活的能力。

如同狮子一样,地球上所有的动物,包括我们人类,他们的成长、生息所需的技能和知识,都是得益于幼年、童年乃至成年时期的游戏,游戏是人类历经百万年进化过程中形成的最本能的、最自然的学习方式。

几千年来,人们创造出不计其数的各类游戏,比如围棋、象棋、国际象棋、跳棋、扑克、麻将、桌游、篮球、足球、乒乓球等。半个多世纪前,当改变人类历史的互联网诞生时,一位名叫瑞克・布罗米的美国人为PLATO远程教学系统编写了第一款网络游戏-《太空大战》,可以支持两人远程连线。

互联网上早期诞生的游戏,主要是为了满足人类的娱乐休闲,到20世纪末出现的MUD游戏,开始有了更多社交属性。21世纪以来,随着教育、科研、工作等属性越来越多的加入到互联网的游戏世界中,游戏的社会价值得到了凸显。人类对网络游戏的品质和价值的追求也不断刺激着前沿科技的发展,从对显示技术、计算速度的追求到交互技术,智能水平的追求。由此成为互联网的网络速度、存储空间、计算能力、交互技术、智能技术的最重要推动力之一。

AI通过游戏与人类竞赛的30年简史

在网络游戏产生的所有推动力中,人工智能技术与游戏的结合最为引人关注,人类不断强化参与游戏博弈的AI对手的能力,希望能从它与人类竞赛的过程中找到技术启示。在过去的30年中,这种梦想不断得到实现和突破,并一次次震惊人类。

1997年,IBM的DeepBlue深蓝以4:2战胜了国际象棋世界冠军卡斯帕罗夫。虽然最后深蓝“惨遭肢解”,一半送进史密森尼博物院,另一半归美国计算机历史博物馆,但却给整个世界极大的震撼。

2016年3月,Google旗下DeepMind公司开发的人工智能程序AlphaGo,以4:1战胜世界围棋冠军李世石。2017年5月,AlphaGo又以3:0战胜人类排名第一的选手柯杰。而后面DeepMind也迅速的发布了AlphaGoZero和AlphaZero,基于深度强化学习自我对弈的方式,完全抛弃人类知识,只从棋类的规则出发,不单在围棋上,也在国际象棋和将棋上同样达到了世界最强的水平。

除了棋类游戏之外,牌类游戏也是游戏AI关注的一个焦点。相比于棋类这样的完全信息博弈游戏,牌类这样的非完全信息博弈游戏有一定的运气因素,同时还牵扯到和对手的博弈,不完全是计算智能所关注的方向,更多的可能要和博弈论相结合。2017年1月,在美国宾夕法尼亚州匹兹堡的河流赌场,一个名为Libratus的AI程序,在共计12万手的一对一无限注德州扑克比赛中,轮流击败四名顶尖人类高手,斩获20万美元奖金和约177万美元的筹码。

在AI电子竞技领域,2015年,谷歌DeepMind在《自然》杂志上发表了著名的文章《通过深度强化学习达到人类水平的控制》,提出了著名的深度Q网络(DQN)。面对策略类电脑游戏,挑战难点不仅仅是像素点阵组成的画面,更在于高级认知水平的表现,考察AI能否综合对多种单位、多种要素等的分析,设计复杂的计划,并随时根据情况灵活调整计划,尤其是即时类策略游戏,被视为AI最难玩的游戏。星际争霸(StarCraft)就是一款这样的游戏,

在平台方面,DeepMind在成功使用深度学习攻克Atari游戏后,宣布和暴雪公司合作,将StarCraftII作为新一代AI测试环境,发布SC2LE平台。在此后的数年里,AI程序员建立的AI玩家通过星际争霸与人类玩家进行了激烈的对抗,在不断对抗中成长。

30年来AI与人类在游戏中的竞赛,场景不断从简单走向复杂,从确定性强走向不确定强,从规则明确走向规则不明确。使得AI在游戏中的应用也逐步走出了纯粹的娱乐,开始向着教育、科学研究和产业探索拓展。

中国AI与游戏平台结合的进展

腾讯是中国一家特征鲜明的互联网科技公司,丰富的数据和应用场景使得它拥有了良好的人工智能发展基础,其提出的科技向善理念也使得腾讯不断加码在人工智能领域的投入。

在过去5年时间里,腾讯分别在社交AI,内容AI和平台AI领域取得的重要进展,同样腾讯作为中国最重要的游戏平台之一,其AI与游戏结合也将是腾讯AI最为鲜明的特征。在腾讯AI与围棋结合产生的“绝艺”在2018年的世界人工智能围棋总决赛获得冠军后,腾讯AI与游戏平台结合,由《王者荣耀》和腾讯AILab共同研发的人工智能开放研究平台――开悟,便是腾讯AI接下来重点打造的AI产品之一。

开悟作为中国为数不多的研究多智能体博弈的开放算法平台,一方面,以多智能体作为核心研究问题,依托《王者荣耀》模拟环境,结合算法、数据、算力优势,为学术研究人员提供AI研究应用探索平台。另一方面,开悟以游戏AI为切入,携手高校与研究机构共同推动多智能体研究发展,共同打造AI+游戏产学研新生态。目前,以开悟为平台基础,两届“腾讯开悟多智能体强化学习高校邀请赛”已经成功落地,国内20+名校积极响应,成为国内高校顶级AI竞赛。

《王者荣耀》作为多智能体测试的绝佳环境,其游戏中所测试的AI智能体,具备自主决策、自主启动、共同协作以达成统一目标等强化学习技能。这也意味着,《王者荣耀》中的英雄控制AI技术,可以应用到如智能制造、智能电网、智慧物流、智慧交通、车路协同、车车协同、无人驾驶的应用中去。

腾讯天美L1工作室总经理、《王者荣耀》项目执行制作人黄蓝枭曾表示:“我们开放了《王者荣耀》核心机制,提供标准接口、核心算法、脱敏的测试数据、评估工具和计算集群等,给高校老师和同学们进行多智能体的机器学习算法研究、学习成果交流,对算法成果反复迭代升级。期待这些研究成果能够落地其他产业环境,为工业机器人、救灾机器人等提供助力。”

在科学家和行业专家带领团队探索将AI游戏策略转换为产业价值的同时,也必然会提高团队学生或学员的创造力与研究才能,为生态贡献跨学科技术、跨界人才和多方资源。

其次,《王者荣耀》开悟平台在帮助解决科研技术瓶颈,突破基础科学壁垒,加速“通用人工智能”研究也有重要的价值。现阶段,逼近或超越人类的“通用人工智能”仍是一个构想,但在人类不断向这个目标冲击的过程中,将可以涌现出智能领域的基础科学突破,智能产业技术的创新。利用《王者荣耀》作为科学与技术的实验田,链接科学院所、科技企业和政府机构,储备人才与技术资源,深耕底层技术发展,为未来埋下可以引发“智能爆炸”的种子。

在中国除了腾讯外,网易、搜狐、世纪华通、完美世界、IGG、哔哩哔哩也都在AI+游戏的领域里不断突破,形成不同特色的应用场景。对于他们在这个领域的进展,我们将在后续进行详细分析。

AI与游戏结合的未来

游戏是信息革命的最重要发动机之一,是庞大的软件和硬件产业皇冠上的明珠,而人工智能的加入为它添加了可以翱翔的翅膀,使游戏的意义不仅仅局限在娱乐和休闲,而是可以拓展到为产业,为教育,为科学,为人类的未来提供支持。

游戏提供了定义和构建复杂AI问题的平台。传统学术界的AI问题都是单一、纯粹的,每个问题面向一个特定任务,比如图片分类、目标检测、商品推荐等。走向通用AI,迟早要摆脱单一任务设定,去解决多输入、多场景和多任务下的复杂问题。从这点看,游戏是传统学术问题无法媲美的。

处理在科学上的应用,游戏世界也向AI全领域发出了挑战。很多电子游戏都有一个虚拟的时空世界,各种实时的多模态的时空信号,在人与机器间频繁传送,如何融合这些信号做出更好的预测,是信号处理科学的一个难题。

正如《百面机器学习》里人工智能在游戏领域的应用一节中提到的,游戏世界与现实世界独立,既可以模拟现实世界的物理规则,也可以打破物理规则,看智能体的应对策略。前者对现实世界高度仿真,有助于在开展硬件实验前,如无人车、机器人,先期探索适用的AI模型和算法,大大降低耗费在硬件上的成本。后者呢?在我们尚未抵达或尚未了解的极端物理世界、网络世界或其他世界,进行假设性试验,先假设一些未知的规则,再看智能体的进化轨迹,为人类的未来作打算。由此可见游戏与AI的结合不但可以娱乐人类,让人类在轻松中前行,它的未来发展对于人类的未来命运也将起到越来越重要的作用。(中国科学院虚拟经济与数据科学研究中心研究组成员,南京财经大学教授,远望智库数字大脑研究院院长刘锋)

生成式人工智能如何彻底改变游戏开发的现有局面

另一个例子是GoodLuckHaveFun报告显示,NinjaTheory等公司使用AlteredAI的库来生成声音表演。此举引发了一些抵制,尤其是配音演员,他们认为人工智能在没有公平报酬的情况下复制了他们的作品。当上传到Artstation的所有艺术品都会自动选择共享人工智能训练数据时,这种担忧蔓延到了艺术界。尽管如此,EpicGames首席执行官TimSweeney在Twitter上捍卫了这一政策,强调了版权法下合理使用的重要性。

近几个月来,关于人工智能工具在游戏开发中的应用的对话已经成熟。开发人员一直在展示生成式人工智能在其领域的潜在优势。

例如,韩国开发商NCSoft在“ProjectM”的预告片中展示了其新的人工智能驱动的面部动画和声音技术。该项目使用Epic的虚幻引擎5创建,使用人工智能根据用户提供的文本和声音生成对话和动作。

上个月,法国巨头育碧推出了新的人工智能写作程序Ghostwriter。Ghostwriter由UbisoftLaForge研发部门开发,可帮助编剧制作NPC“吠叫”或玩家触发事件时游戏中角色所说的简短短语。育碧很快澄清,该工具的目的是消除作家的单调任务,而不是取代他们。

最后,最重要的游戏公司之一Roblox最近为其游戏创作者推出了基于人工智能的工具,例如复制照明的材质生成器和用于更快、更直观编码的人工智能代码助手。考虑到Roblox广泛的开发者社区,这些工具为许多创作者带来了生成式人工智能。

尽管受到批评,知名游戏开发商对这些工具的关注和使用不断增加,这表明生成式人工智能(RobloxStudios负责人StefanoCorazza将其比作互联网的崛起)将继续存在。游戏开发者认识到生成式人工智能是一种变革性工具,其广泛采用似乎是不可避免的。

生成式AI已证明其作为增强游戏开发测试和质量保证(QA)协议的重要资产的潜力。其自动化游戏测试各个方面的能力带来了许多优势,包括提高准确性和提高运营效率。

创建测试用例:可以配置人工智能工具来生成一系列测试用例,确保对游戏的所有方面进行彻底检查。识别错误并对其进行排名:人工智能可以帮助开发人员快速准确地检测错误,并根据其严重性和影响对其进行排名。预测分析:人工智能可以分析游戏数据以预测潜在问题,使开发人员能够在问题发展成重大问题之前主动解决它们。

通过利用人工智能算法和机器学习方法,开发人员可以加快错误和其他问题的检测和解决速度,从而为玩家提供更流畅、更具吸引力的游戏体验。

让我们看一下生成式人工智能在游戏开发中的应用的一些现实实例:

《无人深空》:这款流行的太空探索游戏使用生成式人工智能来创建无数种独特的行星、生物和环境,丰富了每个玩家体验的独特性。游戏的算法会动态生成这些元素,确保每个玩家都有独特的游戏体验。Spelunky2:作为一款程序生成的平台游戏,Spelunky2使用生成式AI来创建玩家必须导航的随机关卡。游戏的算法根据特定的规则和参数创建这些级别,使每次游戏都成为一种新的、具有挑战性的体验。《Frostpunk》:在这款城市建设游戏中,生成式AI会创建随机事件以及玩家必须克服的挑战。游戏的人工智能系统根据玩家的决定调整这些事件,使游戏更具挑战性和不可预测性。《旺达与巨像》:《旺达与巨像》的重制版利用生成式人工智能来提升游戏的视觉效果和性能。集成的AI机制细化了纹理质量和灯光效果,增强了游戏的沉浸感。

随着技术的不断发展,生成式人工智能将在塑造游戏的未来方面发挥至关重要的作用。它旨在提供身临其境、引人入胜的体验,突破创造力和参与度的界限,为玩家提供全新水平的互动性和乐趣。返回搜狐,查看更多

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇