浅析游戏人工智能关键技术与应用
2017-03-24苏楠
苏楠
【摘 要】游戏人工智能集中体现了一款游戏的可玩性。随着智能技术的深入发展,游戏人工智能已成为提高一款游戏可玩性的技术核心,以及游戏推广的主要卖点,深化了游戏体验境界。因此,深入研究分析游戏人工智能关键技术与应用具有极高的现实价值。
【Abstract】The game artificial intelligence embodies a reflection of a game playability. With the further development of intelligent technology, the game artificial intelligence become the core for improving the game playability and the main selling points , it also deeps the gaming experience. So, it has high practical value for in-depth analysis the game key technology and application of artificial intelligence.
【关键词】游戏;人工智能;关键技术;应用
【Keywords】game; artificial intelligence; key points; application
【中图分类号】TP18 【文献标志码】A 【文章编号】1673-1069(2017)03-0069-02
1 引言
计算机硬件水平的显著提升,使得游戏开发设计者使用的游戏引擎不断迭代更新。
目前,人们已不再满足游戏中优美绚丽的视听体验,转而注重游戏的可玩性,可玩性日渐成为游戏设计中的核心环节,而人工智能集中体现了游戏的可玩性。所以,立足于此,探讨了游戏人工智能的基本定义,并分析了基于通用AI引擎的策略游戏设计,以供参考和借鉴。
2 游戏人工智能的基本定义
游戏人工智能技术侧重在个人终端设备有限性能的条件下,为游戏玩家模拟出真实感,使之沉浸在这种真实感中,有一种处于现实中的体验。一般情况下,普通的计算机设备的CPU运算能力及内存存储都是有限的,利用人工智能技术能够对游戏中的非玩家角色进行计算和操作,同时还能够进行行为决策等,使玩家在交互中体验真实感。一款游戏中的人工智能无须太过“聪明”,甚至有时需要限制它的有效性,避免AI太强大挫败玩家,使玩家获得不好的游戏体验。人工智能技术从广义层面来说,就是存在于游戏中的多样化的形式,比如像马里奥里的敌人乌龟;“使命召唤”里的虚拟队友等都是游戏AI应用的典型例子[2]。
3 基于通用AI引擎的策略游戏设计
3.1 Unity3D游戏引擎
目前,设计开发手游和网游的主要游戏引擎就是Unity3D,其以图形效果好、资源管理便捷、通用全面等优势已成为主流的商用游戏开发引擎。Unity3D的脚步引擎支持C#语言、Unity Script、Boo。其构建游戏世界时应用的是组件式,游戏对象就是游戏中的物体,其内置有多个组件,比如网格模型、物理组件、导航组件、声音组件等,将这些不通过的组件定义在游戏对象上,提高游戏对象的真实感,为游戏玩家带来逼真的游戏体验[3]。Unity3D除了内置的组件外,还可以放入开发设计者自定义的组件来满足不同的开发设计需求。此外,开发设计者在利用Unity3D设计游戏关卡时可以直接在游戏中拖拽和摆放游戏对象,之后点击播放按钮,在Game面板里就可以直接、实时查看游戏的运行效果,这是所见即所得的开发方式。Unity还可以为游戏开发设计者提供扩展接口,利用开设设计者的自定义插件不断扩充引擎能力,为游戏开发过程提供强大助力[4]。
3.2 游戏的概要设计
3.2.1 游戏项目的基本信息
游戏项目的基本信息如表1所示。
3.2.2 游戏的基本流程
一个游戏必须具备完善的流程,才能有效支持其畅快地运行。本文分析的策略游戏设计,其总体上的基本游戏流程包括以下两个阶段。
①开场阶段。也就是我们所说的游戏的开始。该阶段是整个游戏的开端,也是进入游戏的基础前提,需要根据整个游戏场景设置相应的环节,有力支持整个游戏的运行。本文分析的游戏项目具体包括祭坛、灵魂归宿、黑暗之门和阵地四个环节。各个环节都有自身的功能,其中祭坛的功能是升级英雄等级和技能;灵魂归宿的功能是升级士兵等級;黑暗之门的功能是招募士兵;阵地的功能是排兵布阵。完成此环节后点击集合石,在地图上选择对应的战场,即可进入下一阶段。
②战斗阶段。此阶段就是游戏的重点,利用触控来对英雄的前进与后退进行操作,派兵时点击界面下方的士兵头像,从最左边进入战场后的士兵由人工智能控制,他们的最终目标是击败走到右边战场过程中所遇到的全部敌人。玩家通过当前关卡,就必须击败所有敌军,否则游戏失败。
3.3 游戏的详细设计
3.3.1 资源组织
项目资源目录是组织游戏资源的基础(见图1),其组成的主要部分包括:
①Editor,其包含自定义的编辑器插件;
②Program,其包含以C#脚本文件为主要形式存储在相应资源目录中的全部脚本逻辑;
③Resources,其包含角色、动画、效果、UI资源等游戏所用资源;
④Scene为游戏场景,也就是设置的游戏关卡;
⑤playerdb,其包含重要角色的配置数据。
3.3.2 游戏的主体架构
Unity3D游戏引擎是该游戏主体架构的最底层,在其脚本引擎解释执行基础上完成游戏的所有智能逻辑和管理逻辑。Unity Engine库和Mono库为脚本提供了丰富的组件资源,脚本通过继承Unity3D的组件基类Mono Behaviour成为游戏主循环中的一环。构成游戏主系统的包括Game Power、Game Manager、Game Procedures目录下的文件。人工智能引擎AiGine是游戏的人工智能核心,通过该引擎来实现以下三类主要组件:
①Object Manager管理游戏对象;
②多类型Brain定义了各种类型角色的状态机管理器;
③多类型AI类则定义了不同类型的状态机状态,以上组件是游戏对象产生智能行为的基础[1]。
4 结语
通过本文内容的分析,我们可以知道游戏人工智能技术是当下游戏开发设计的核心技术,也是各款游戏的最大卖点,相信人工智能技术在未来游戏设计开发中有更广泛的应用,能够实现更高层次的游戏体验境界。
【参考文献】
【1】何赛.游戏人工智能关键技术研究与应用[D].北京:北京邮电大学,2015.
【2】邹会来.人工智能技术在游戏开发中的应用与研究[D].金华:浙江师范大学,2011.
【3】李博.游戏人工智能关键技术的研究[D].上海:上海交通大学,2011.
【4】余璞,祝忠明,邢万里.游戏人工智能关键技术介绍[J].信息通信,2014(10):132.