炼数成金 门户 商业智能 人工智能 查看内容

当人工智能遇到游戏

2018-5-24 14:25| 发布者: 炼数成金_小数| 查看: 14240| 评论: 0|原作者: 唐佳琪|来自: 前沿技墅

摘要: 在人工智能技术高度普及的今天,各个领域的应用中都要加入些人工智能技术好像才能更符合当下的业务产品需求。那么,人工智能技术是否有影响到游戏领域呢?当人工智能技术和游戏技术结合的时候,会迸发出什么样的火花 ...

工具 模型 人工智能 商业智能 业界

人工智能技术高度普及的今天,各个领域的应用中都要加入些人工智能技术好像才能更符合当下的业务产品需求。那么,人工智能技术是否有影响到游戏领域呢?当人工智能技术和游戏技术结合的时候,会迸发出什么样的火花呢?

马里奥里的坏蘑菇:游戏人工智能初探
我们可以先来看一个游戏角色,这个游戏角色就是风靡全球的马里奥大叔。

第一代的马里奥游戏是一个典型的平台类游戏。在整个游戏场景中,马里奥需要通过在各种平台上移动、跳跃、躲避敌人(当然,也可以主动攻击)的方式,一直跑到最后,拉起小旗子来完成这个关卡。在整个过程中,玩家能控制的就是马里奥这个角色,其他敌人,包括场景的机关,都是由系统来控制的。整个游戏最开始的一个场景是,马里奥会遇到第一个敌人,一个长着蘑菇样子的怪物

这个敌人会不停地移动,直直地冲向玩家,为什么说是直直的呢?因为这个坏蘑菇真的是除了往前走,什么都不会做,它碰到物体就会折返,遇到台阶就会掉下去,在玩家看来,它就是一个完全不会思考的傻瓜,它甚至不关心玩家在哪里,的目标就是傻傻地不停往前走。如果我说这就是游戏的人工智能,你是不是会大跌眼镜?但不管怎么样,这的确就是游戏人工智能的雏形!

也许你觉得这好像和普遍认为的人工智能天差地别,感觉就不是一个时代或者不是一个概念上的东西。是的,当人工智能遇到游戏的时候,确实会有完全不同的表现,这种表现是和游戏本身的特点分不开的。当然,随着游戏的复杂度越来越高,后期也会用到更复杂的人工智能技术。

在马里奥这个游戏的后期,你还会看到各种形形色色的敌人,每一种敌人都会有不同的行为表现,比如有一种更聪明的扔锤子的敌人,它就不会直直地冲向玩家,而是会根据玩家的位置,去选择这个锤子扔出去的距离是多少,并且它还会不停地在平台上跳跃,来进一步增加玩家躲避的难度。在我们玩整个游戏的过程中,面对的挑战会越来越大,遇到的敌人也会变得越来越聪明,而在这样的过程中,当玩家的满足感越来越强时,就会有一种期待“后面我还会遇到什么样的敌人和挑战呢”。所有这些背后的控制都是游戏中的人工智能系统在运作。

人工智能在游戏中的特点
有一句话说“在一千个人眼中,有一千个哈姆雷特”。对于游戏来说,一千个游戏,就会有一千个不同的需求。虽然现在我们会把游戏分成一些大类,比如动作类、角色扮演类、策略类等,但是即使在每一个大类中,每一个游戏的表现依然不同,甚至在如今的一些游戏大作中,会融合不同的游戏类型,表现出一些“跨界”的特质,游戏的这种特点,使得游戏技术也需要适应这种多变的设计需求,游戏人工智能也是如此。所以游戏人工智能一个很大的特点,就是要满足量身定做的需求。如果一个做体育类游戏人工智能的开发者,转去做一个动作类游戏的人工智能,那他所要面对和解决的问题,可能会是完全不同的。此外,量身定做的同时,游戏人工智能还会牵扯游戏引擎很多模块的协作,比如动画、物理、网络同步等。

游戏人工智能的另一个特点,就是趣味性比真实性要重要得多。游戏人工智能来说,较大的目标就是“好玩”,即使一个游戏有再真实的表现,如果不好玩,那就是不能成功的。

曾经有一个获奖的游戏叫Façade。它是一个由人工智能驱动的交互式小说类型的游戏,在游戏过程中,会给玩家一些对话,或者剧情的选择,这些选择会影响故事的最终结局,但不管这些选择是如何的复杂,游戏的剧情都是在游戏设计者的控制范围内。Façade这个游戏的特别之处就在于,它可以允许玩家通过输入对话文字的方式与游戏内的角色互动,换句话说,你可以和游戏中的人物聊天!这在游戏历史上是一个创举,整个游戏就通过这种别开生面的方式来推动剧情的发展。在这个游戏的背后,当然就包含着一系列人工智能技术,比如自然语言处理等。这个游戏也被列为“1001个在你离世前一定要玩的游戏”之一。虽然这种探索对于游戏业界来说,还是非常小众的,但我们依然可以看到,游戏中的人工智能,并不是为了追求极致的真实而存在的,而是应该和整个游戏设计融为一体,为游戏的趣味性而服务。即使是像Façade这样的游戏,人工智能还是和整体游戏设计息息相关,虽然你在玩的过程中感觉可以和游戏中的人随心所欲地“聊天”,但是游戏的导向、剧情的发展依然在游戏设计者的手中。

“量身定做”和“趣味至上”是人工智能技术在游戏中的重要特点,理解这两个特点,对于我们正确选择和使用合适的游戏人工智能技术会非常有帮助。

人工智能在游戏中的应用
那么人工智能会用在游戏的哪些地方呢?或者说它如何和游戏产生化学反应呢?

游戏中的物体一般分为两种。一种是静态物体,就是那些不会运动的物体,比如一栋建筑、一颗树等;还有一种可以称之为动态物体,比如一个人、一个怪物、一种移动的机关等。这些静态和动态的物体就构成了整个游戏世界。

在动态物体中,我们又可以分为两种,一种是由玩家控制的物体,可以是一个人、一架飞机、一个滚动的球或者是任何其他的“东西”;另一种就是由游戏系统控制的物体,比如飞向你的导弹、村庄里的路人、朝你吼叫的怪物等。在所有这些由游戏系统控制的物体背后,都需要一些逻辑运算来支撑。从广义的角度上来说,我们可以把这些都称为由“人工智能系统”控制。虽然有一些物体,它并没有所谓的思考过程,只是一些物理行为上的模拟,像前面提到的那些飞向你的导弹,它仅仅是由简单的物理公式所驱动的。而从更为狭义的角度上来说,我们可以把那些既有思考过程(不管这个思考过程有多简单),又有行为表现的物体,称为智能体。

以一个小村庄里的村民为例来分析一下,游戏人工智能到底是如何在游戏中发挥作用的。首先,我们可以先为这个村民定义两个行为。第一个行为是在村中漫步,也就是无目的地到处走来走去。很多角色扮演类游戏中,会看到很多类似这样的角色。为了让我们设计的这个村民看上去更为真实,可以再为他加一个带有人情味一点的行为,那第二个行为就是当这个村民路过玩家的时候,会转过头面带微笑的对玩家说“你好”,有了这样的设计,一个热情好客、民风淳朴的村庄就跃然纸上了。

对于这个村民的第一个“漫步”的行为,看似很简单,不就是到处走来走去嘛,但其实在实现的过程中就会发现,我们必须要解决两个问题。一是,他应该往哪里走,是选择在河边漫步,还是选择去邻居家串门?二是,如果他决定往河边走,那他应该选择哪一条路走过去?是穿过人烟稀少的林间小道,还是走过热闹非凡的市井街区?所以当这个村民踏出第一步之前,他就需要先“思考”这两个问题的答案,这个时候,游戏人工智能系统就开始工作了。

第一个问题在游戏人工智能中属于“决策”层面的问题。决策,换句话说,就是决定要做什么,要定一个目标,对于这个村民来说,就是要选择一个移动的目标点,这个选择方法有很多,最简单的比如随机,就是我也不知道要去哪儿,丢个硬币看看,正面就走这边,反面就走另一边,复杂一点比如决策树,这个村民会看天气,看心情,看时间,根据这些因素来做决定,如果时候还早并且天气不错,那他也许就会选择去河边,但如果这时候心情不是很好,那他可能去朋友家串个门等,这些工作都可以由游戏人工智能系统来处理。

当他选定了一个目标点之后,接下来就要选择怎么去哪个地方,这就是属于“行为”层面的问题,行为,就是表示怎么做,应该要选择什么样的方式去完成前面的目标。就移动来说,要完成这个移动,一方面要选择一条合理的路径,这条路径不能撞墙,不能绕圈或者走进死胡同,这在游戏人工智能中被称之为“寻路”的过程,游戏人工智能系统需要根据起始点和目标点,再结合各种寻路的算法来计算出这条路径来。另一方面还要选择一种运动的方式去走完这条路径,可以是慢慢悠悠散步,也可以是急匆匆的赶路,这完全取决于游戏的设定和人工智能系统的控制。所以,这样一个看似简简单单的漫步行为,人工智能技术都在其中发挥着作用。从思考到运动,从决策到行为的方方面面都有人工智能参与。

说到村民的第二个行为,我们就需要提到游戏人工智能系统的另一个重要的模块,那就是对于这个世界的感知和信息的收集处理。前面我们提到静态和动态的物体组成了游戏的世界,但另一方面,这些物体也“生活”在这个游戏世界中,作为一个人工智能体,它也需要和人一样,对这个世界有感知。人是通过五官去感知这个世界的,眼睛可以看,耳朵可以听,虽然游戏中的智能体,没有眼睛,没有耳朵,但是我们可以模拟这样的感知,比如视觉,这个村民应该怎么“看到”玩家?如果智能体没有视觉的模拟,可能会出现一种奇怪的情况,当玩家悄悄的出现在这个村民身后的时候,这个村民仿佛有超能力一样,会转过头,微笑着对你说“你好”,如果玩家看到这种情况,他就会有一种出戏的感觉——他都没“看”到我,怎么能知道我在他身后呢?所以,如果我们能模拟人的感知,那这样的情况就会好很多,比如为智能体定义一个类似于人的视野范围,当玩家出现在他的视野范围内时,他才会“看到”玩家,并作出反应,这就自然很多。

有一个应用非常广泛的人工智能体的软件模型,英语叫Belief–Desire–Intention模型(BDI模型),用中文翻译过来的话,可以称为“信念-欲望-意图软件模型”,这种模型是对于人类的智慧进行了一种简化,意图从一种模块化的,易于实现的角度去模拟人的思考和决策过程。其实游戏人工智能系统就是对于BDI模型的一种实现,与BDI每一层所对应的,也就是上面提到的信息、决策和行为。对于游戏而言,每一层都有对应的人工智能技术,也正是这三个关键词组成了游戏人工智能系统。 

从最初的马里奥大叔发展至今,游戏人工智能随着硬件和需求的不断升级,不管从表现层面还是从技术层面,变得越来越丰富多彩。总体上来说,当人工智能遇到游戏,需要根据不同的游戏类型,量身定做不同的方案,并以“好玩”为目标,采用不同层次的人工智能技术,和游戏本身的设计特点相结合。希望通过本篇文章使大家对人工智能在游戏中的应用有一个大概的了解。

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-10-18 11:28 , Processed in 0.166340 second(s), 25 queries .