从星际争霸2出发
6月21号,对星际2玩家来说,注定是一个不平凡的日子,土豆明和TIME两位国手相继败在星际争霸2中输给“启源”人工智能,对比赛的公平性暂且不做讨论,但是我们看到了人工智能在游戏AI领域中的强大。今天想写一些在游戏中的人工智能发展历史。
首先我们得定义一下什么是游戏,其实用作娱乐、放松的,甚至带有竞技性质的活动,在一定程度上都可以被视为游戏,在这个领域,人工智能大放异彩(说大赚噱头其实也很有道理),从alphago称霸围棋界,到alphastar在星际2中打败职业选手,再到如今的启源战神,无一不说明着人工智能的技术在突飞猛进。
为什么AI会强大
很多人会问,说为什么AI'可以在游戏中表现的那么好呢?其实我们可以看到,目前AI玩得不错的游戏,都是以“赢”为目的。MOBA,FPS,RTS类型的游戏,都存在对战性质,openai研发的DOTA2中的BOT,在被击败后大概率会直接买活,不会有丝毫犹豫,相对与人类玩家,很多时候为了省钱买一根BKB,只要高地不掉,基本不可能买活,如果此时买活,会被对手戏谑”生气了“。简单说,AI为了赢,会选择赢的概率最大的操作。
我们看看AI在游戏中探索的步伐,从最开始的雅达利系列游戏(超级玛丽为首的卡带类型游戏),PC端的毁灭战士(随机地图的FPS游戏),这类游戏都可以概括为以”赢“为目的,
剑走偏锋
我心中有一个问题,在工作时候遇到的,当时为了设计一个能在大型MMORPG中像人的AI,产生的这个问题。
人为什么会玩游戏?当一个玩家打开minecraft这种开放类型的世界,他的游戏目的不是单一的,他可能会建造、会去探索也会去挖矿。就像我在上古卷轴中,我只是想在冬堡的塔顶看着漫天的飞雪,其实很多时候玩家玩游戏,是为了”开心“和”放松“,就和听音乐、欣赏画作、坐在海边看日出,我们做的看似漫无目的的事情,其实是在不断得放松自己,陶冶自己。
分析完人,我们反观电脑。如果alphastar被研制出来后,在与人类玩家对战的过程中,会切换视角,看看神族隐刀为什么每个人拿的武器不太一样,你可能会觉得这个AI优点逗,因为他们被训练出来时为了战胜对手的,使用的诸如计算机视觉,深度学习,强化学习技术都不必说,重要的是,他们想”赢“。
是否能活得像人?
所谓活的像人,其实就是将情绪参杂到AI当中,有一种AI自我觉醒的感觉,其实可以用最朴素的行为树实现(注意不是决策树,两者有差别),当我们以概率的方式,去分析一个真正玩家玩游戏的所有行动,我们把这些行动以统计分析的方式进行总结归纳,让AI即将要做的事情以概率的形式进行选择就可以了。
说起来似乎很简单,但是在一个MMORPG游戏中,可选择的事情实在是太多了,一个正常的MMORPG游戏,游戏物品就成千上万,对应的活动也是成千上万,所以想要做成一个像人的AI,这个行为树的宽度和深度都是十分恐怖的,此时技术人员最先想到的肯定是剪枝,结果剪着剪着,这个AI就变成了真正的AI,一点都不像人了。
展望
也许有一天,一个真正的AI会被研制出来,能够像人一样思考和行动,但我觉得,可能更先到来的是类似与守望先锋或者赛博朋克中的那样的世界设定,就是人->人+机器->人和机器共存的时代。
做了一个梦,于是写了一些随笔,本来想写《蝇王》和《杀死一只知更鸟》的读后感的,想想之前做了半年的游戏AI,随笔至此,有缘江湖再见。