本人从事游戏行业多年。出于个人兴趣,目前AI技术有些研究,并且把自己的所学提炼出来,写了一些文字。
在这一篇,我想站在一个游戏人的角度,带大家看一下AI技术目前已经到了什么地步,并前瞻一下未来AI技术可以在游戏制作中有哪些应用。
可能有人会问,AI在游戏中不是很早就应用了吗?
是的,其实有电子游戏就有AI。
在远古的年代的游戏Pong,你的对手就是AI;
红白机年代的中国象棋游戏,你的对手就是AI;
超级玛丽那只怪物也是AI。
这里的AI指的是游戏中对手使用的智能,所以AI很早就应用在游戏中了。
但在本篇中讨论的,是近几年来逐渐发展起来的,基于深度学习(也有基于运筹学和博弈论等学科)的AI技术。
应该说,本文讨论的AI会范围会更大一点,并不止步于怪物、NPC的智能。
我希望通过这篇文章,看一下现在AI到底能为游戏行业带来什么。
我会列出一些当前的技术引用,也会有一部分我自己的想法。
最后恐吓一下我的同事们,你们会被AI替代吗?
AI为啥这么火?
AI近几年有多火,我就不作论述了。但为什么AI这么火呢?不同的人可能有不一样的看法,这里只讲一下我自己的看法。
现在我们说的AI技术,大部分跟深度神经网络有关。我认为AI之所以火了,就是因为深度神经网络的加持。
深度神经网络独有的解决问题的方式,使得人类解决问题的能力提高了一个新档次。
所以,我希望用比较简单的语言来描述一下,深度神经网络是什么,好让大家了解,为什么AI技术会突然获得高速的发展。
其实要明白深度神经网络并不难,大家可以把神经网络看作是一个函数。函数的一个重要功能,就是把两个东西对应起来。
在以前,我们要电脑识别一个手写数字“8”,那么程序员就需要写一个函数。
MNIST数据集中的图片“8”
函数里面需要写一堆规则,例如:
图片有两个圈
圆?有多圆?
上面那个大下面小
有多大?有多小?半径是多少?
有时候上面那个圈可以不完全闭合也算...
天,那算什么圆?
我们如果要去识别一个手写数字的图片8,需要写很多很多规则,有时候几乎写不完。
也就是说,在我们现实世界里,有些人类明明能模糊地了解,但说不上具体规则,不可描述东西。
不可描述就意味着,这个函数没法写,也意味着无法通过编程实现。
深度神经网络改变这一点。
神经网络会先随机初始化网络的权重,就是先随便弄一个魔法函数Magic'(x)。
我们期望Magic函数的功能是输入图片8,输出分类8
一开始,Magic'(x)和我们要的Magic(x)并不相同。所以输出不一定是对的,也就是说Magic'(x) = y', y'不等于我们要的y。
也就是说,把图片8放到这个Magic'(x)里,网络可能识别的出8的概率可能只有40%,而并不是100%。
通过调整参数,减少loss,让Magic'更靠近Magic
这和我们想要网络识别出8有很大的差距呀,因为我们想f能识别出这些图片是8的概率是100%。
我们称:y'和y之间的差距叫loss。
但这没关系,通过反向传播,调整f(x)的参数权重,让loss最小化,也就是让y'和y之间的差距减少。
这个过程我们称为学习或者训练。
当loss足够小的时候,y' 和y 的差异就不大了。也就是说,f(x)的功能和我们要的F(x)相当!
如果以上的话没明白,那不要紧。你只要明白两点:
深度神经网络本质上说是个函数。
有了深度神经网络,我们可以把以前不能描述规则的函数造出来。
这就是人类科技树拓宽的一大原因。
游戏性
回到游戏中,我们以前为游戏角色做AI,会用脚本,行为树,状态机等方式。
这些本质上就是在描述怪物的行为,例如看到某个角色,就做什么动作;到了某个时间,释放某个技能。
但这些行为可以足够丰富而完整地描述吗?
越复杂的行为,我们就需要复杂的行为树;越多的状态,我们就需要越多的状态机。
但当复杂度到了一定程度,人类可能很难理解了自己创造的行为树了。
但神经网络可以,他们制作出的AI不但成功战胜了游戏,还战胜了人类。
目前,AI在这方面最重要的技术叫强化学习
最有名的可以算是以下几个:
征服Atari游戏—— Deep Mind
最前沿:当我们以为Rainbow就是Atari游戏的巅峰时,Ape-X出来把Rainbow秒成了渣!
https://zhuanlan.zhihu.com/p/36375292
征服围棋——Alpha GO
AlphaGo
https://www.zhihu.com/topic/20038840/hot
征服德州扑克——Pluribus
机器之心:AI攻陷多人德扑再登Science,训练成本150美元,每小时赢1000刀
https://zhuanlan.zhihu.com/p/73268685
(Pluribus没有用上深度神经网络,用的更多是博弈论CRF为基础的剪枝)
征服麻将——微软 Suphx
真雀神,微软亚研推出超级麻将AI,还上了专业十段
https://tech.sina.com.cn/csj/2019-08-29/doc-ihytcitn2805087.shtml
征服星际争霸——Alpha Star
陈雄辉:浅谈AlphaStar
https://zhuanlan.zhihu.com/p/97720096
征服王者荣耀——绝悟
腾讯:腾讯AI「绝悟」打王者,把职业选手干掉了
https://zhuanlan.zhihu.com/p/76482309
现在的AI已经能把人类花式吊打了!甚至到了有人已经发表AI威胁论的程度了!
但请容我先泼泼冷水,神经网络的训练可不是套套公式就能实现的。神经网络训练的要求都非常高。
首先,AI训练消耗大量资源,包括时间和算力。
跟李世石对战的版本称为AlphaGo Lee,是一个分布式系统,运行在Google云上,使用了 48 个TPU,总耗能约10000W。
而围棋虽然看上去比较复杂,但和其他游戏来说还算是简单的了。毕竟围棋是个回合制游戏。如果像星际这样的复杂游戏,则需要更多。
另外,AI在开发过程中有不确定性。
我认为算力和时间并不是一个主要因素,至少在游戏制作下不是。
毕竟当前的算力下,很多算法已经能击败人类。而且算力必然会不断提升。
但深度学习还有一个不能忽略的因素:深度学习算法带有不确定性。
AI的学习能力除了与算法有关,也与环境有关,也和参数有关,不同参数之间可能是天差地别。
调整参数,然后等待AI的训练,根据结果再调整参数。可能经过漫长的等待才能获得大成。
所以很多搞深度学习的人会把自己比喻成炼丹师。
但这种不确定性正在逐步减少,因为算法是不断更新改进的。从DQN到SAC,就是一个不断解决实际问题,让算法更强,更快,更稳定的过程。
以上,我们对强化学习(Reinforcement Learning)进行了一些介绍。那么强化学习能够带给游戏什么呢?
我认为强化学习在游戏中应用应该有一个前提:这项技术并不是为了击败玩家,而是为了增强玩家在游戏中的体验。
经过强化学习的AI作为玩家的对手或者敌人,上限是很高的。
我们可以通过弱化,把AI调整成适合当前玩家技术水平的难度。
有趣的事情就发生了。
以前我们为了调整难度,通常会从数值入手。
攻防血决定了难度
但如果用强化学习的方法,我们还能开辟另外一个维度的难度,让游戏更丰富。
提醒:AI不可预知性会更强。
不像已经设定好的行为树,AI的不可预测性将会增强。这让AI更像“人”,当然是件好事。但设计师对AI的掌控也会降低,意味着对玩家体验的控制的精确性也会相应降低。
但数值会消失吗?我想并不会的。
因为数值是很直观,大部分玩家都需要数值,数值在很多游戏中决定了难度。
我不会告诉你:游戏公司需要赚钱,数值是核心。
强化学习并不会完全替代数值和技能设计,但会给设计师多一项控制难度的工具。
在强化学习方面国外的deepmind和openAI等公司处于领先地位,但更多是从事基础算法研究。
国内有一家专注于AI+游戏的公司——超参数。超参数的CEO刘总正是腾讯AI Lab总经理、围棋AI“绝艺”、王者荣耀AI“绝悟”的团队负责人。
(曾经有幸拜访刘总,刘总是个非常有远见并且很nice的人。在AI+游戏这方面启发了我许多,产生写这篇文章的想法,感谢。)
如何评价手机游戏《轮到你了揭秘篇》?
https://www.zhihu.com/question/380151590/answer/1084924352
关卡生成和辅助设计
由于深度神经网络足够强,而且行为更接近人类。我们可以用这样的AI辅助我们生成一些关卡。
例如三消游戏、Roguelike类游戏。
我们可以通过一定的规则生成关卡,然后用AI进行测试。
我们生成的关卡是否能通过?通过率是多少?或者说容错率是多少?
新的英雄、卡牌的足够强还是太逆天呢?新英雄的行为是否足够丰富,还是一招打天下?
国内已经有公司已经这样做了。闻说这家公司已经被字节收购了。
预计未来将会在一些小游戏中应用到强化学习AI,因为小游戏状态相对简单,要求算力较低;同时算法也比较成熟。我自己也试过用AlphaZero的算法实现一些小游戏的AI。
网易游戏《花与剑》中的筹算小游戏
事实上,AI如果足够丰富,小游戏的体验层次也会得到提升,一些原来并不适合做成游戏的桌游,也能成为线上的游戏了。
卡牌类、回合类游戏也将会很快用上强化学习进行辅助设计。
故事性
游戏的故事性包括美术、文案、配乐等部分。我将尝试从游戏制作流程,当前有什么AI技术能帮助到各个岗位的同学。
我们先来说说美术。
1.美术
原画阶段
永远的PS,Adobe在这方面走得很远。
【官宣】Adobe 2019史诗级加强,官宣的视频看着就是舒服!
https://www.bilibili.com/video/BV1ot411d7iH?p=2
我认为AI在这方面能帮助美术同事减轻很多不必要的工作压力。例如把人物从背景抠出来这些烦而不难的工作,在AI的加持下将会变得更简单,操作将会变得越来越智能。
对了,二次元的老婆,可以直接批量生产。
机器之心:想用StyleGAN生成老婆?来看看这个小哥的复现细节吧
https://zhuanlan.zhihu.com/p/102085621
这里用到的是对抗神经网络GAN。这项技术甚至可以让你的老婆生成不同的表情。
建模
2D转3D的GAN,通过照片,原画直接生成3D模型,可能在不远将来就能实现。这不是神笔马良?
但这项技术目前还不够成熟,距离实际生产应该还有一段距离吧。
AI科技大本营:AI做不了“真”3D图像?试试Google的新生成模型
https://zhuanlan.zhihu.com/p/51665714
动作
现在角色动作很多时候,还必须由动作设计师逐个骨骼调整。而动作捕捉技术虽然成熟,但价钱挺贵的。
那能不能加起两三台手机就能做出轻量级的动捕系统呢?
答案是目前还没有。但我估计未来不久就可以做出来。
人脸识别或者目标检测算法,可以跟踪屏幕上的物件。将其映射到3D骨骼上应该也不是难事。
在扩散一下思维,只需要找到适合的视频,就能把动作套到模型上。
想一下,做怪物猎人就不用再动捕了,直接在动物世界找个片段就好。(说笑)
《怪物猎人世界 Iceborne》金狮子动作捕捉幕后花絮
https://www.bilibili.com/video/BV1u7411e7Fz?from=search&seid=3101038719262376283
现在表情已经可以捕捉了。
其实表情演出,已经能大大丰富游戏的戏剧性。
蒙皮贴图
通过GAN和风格转换技术,做到输入一张图,按照该图的风格配色,应该很成熟的功能了。
一波:浅谈风格迁移(二)任意风格迁移
https://zhuanlan.zhihu.com/p/129826350
ICON
输入icon的文字,加上游戏风格。
通过nlp + 知识图谱 + GAN的结合或许已经能实现了。
如果用在游戏制作,可能会较为粗糙。但如果是让玩家自己生成家徽,战旗等图标,或者是个好主意。
2.文案
利用GTP2.0技术,可以进行一小段文字的扩写。
talktotransformer.com
外国有人已经做成了游戏,不过还不够成熟。
https://zhuanlan.zhihu.com/p/98971511
但如果加上知识图谱呢,或许效果会不错。
给AI一段故事,就能变成漫画,这个来自人大微软和北影的AI,要启发电影人的灵感
量子位:谁说AI写故事逻辑乱?试试这个文字冒险游戏,情节丰满紧凑,我进去就出不来了
https://zhuanlan.zhihu.com/p/98971511
这就是就是没有灵魂的文字。但一些边角料的文字,甚至大量没灵魂的外包文字将会被AI替代。
但,个人认为,一种全新类型的游戏可能会从这点开始萌芽。
3.配音
Google AI的Duplex 和 苹果的siri
Google AI-Duplex打电话 谷歌人工智能中文字幕_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
https://www.bilibili.com/video/BV1tW411Z7HM?from=search&seid=14684582458564384807
个人认为,现实玩家一般来说比较复杂,让AI完成对话任务估计要求挺高的,不容易。
但或者我们可以用某人的声线,通过AI为我们的文本进行配音。
虽说配音是门艺术,但一些边角料的配音AI还是能胜任和支持的,并且我们不能低估AI发展的速度。
4.音乐
音乐可以自动生成,并且太多了。
量子位:用AI作曲,现在你也可以
https://zhuanlan.zhihu.com/p/34435887
5.商业化
例如某款游戏会不断更新,并且推出新的道具,老道具会打折出售。
那我们应该为某个玩家优先推送那一条信息呢?
利用大数据我们可以对玩家的需求更有把握。就像淘宝一样。
游戏人何去何从?
说到这里,相信很多同事都要把我给杀了。AI这摆明抢饭碗吧!
的确,AI不但在抢劳力工作的饭碗,很大一部分重复型的智力劳动都会被抢走。
说句狠点的,目前游戏制作中的外包都会消失。
但个人觉得,游戏人有一种东西,AI是抢不走的。
对体验的敏感度
现在用计算机生成一个二次元老婆是很简单的事。甚至都不用画。
但作为一个角色,你认为怎样的二次元老婆会受到市场的喜爱?假设AI能写很流畅的剧情了,足够打动玩家吗?假设马良的神笔真的可以出现,那么玩家喜欢怎样的风格呢?
最近在玩Ori2,在Ori2中有三段逃亡关卡,仔细听,每个关卡的BGM虽然旋律一样,但编曲都不相同。
第1、3段用了很重的鼓点,来营造气氛。
但第二段却用了弦乐,为什么?
这是因为第二段的操作更多是长按操作,弦乐和长按操作更加配合。
这些微小的体验差距,最终只有游戏的设计者才能判断。
AI能让游戏制作变得简单,但怎样的游戏会让玩家喜爱,让自己喜爱?这归根到底是体验的敏感度。
鲁迅曾经说过:当AI发展起来,最有价值的人将会分为两极。
面向技术:能掌握高精尖技术的高端人才。
面向人:能掌握人的心理,喜好的人。包括沟通、营销、设计、当然也包括一些手工匠人(卖情怀)。
还有能连接这两极的人。
知乎专栏“白话强化学习”:
https://zhuanlan.zhihu.com/c_1215667894253830144
投稿邮箱:[email protected]
商务合作:Amber(微信:lcxk6876767)
其他合作:老林(微信:sea_bug)