游戏人工智能关键技术的研究

游戏人工智能关键技术的研究

论文摘要

随着现代游戏工业蓬勃发展,包括实时图形渲染、真实感交互、游戏人工智能等相关技术也在不断迈进。其中游戏人工智能技术受到理论人工智能发展和实时系统的计算时间的双重限制,使得它的发展相对落后于图形和交互技术。另外,因为不同的游戏对人工智能的需求差异很大,所以人工智能模块在游戏开发中并不能完全依赖游戏引擎,也并不存在集成完善的人工智能模块的游戏引擎。在游戏领域中,休闲娱乐游戏对人工智能的要求较低,棋牌类游戏的人工智能比较固定和完备。而即时战略游戏(Real-Time Strategy,本文简称RTS)和第一人称射击游戏(First-Person Shooter,本文简称FPS)由于其题材往往是模拟真实或虚拟战争,对人工智能的要求比较苛刻,这些要求体现在:(1)RTS和FPS游戏中,非玩家控制角色(Non-Player-Controlled Character,本文简称NPC)数量巨大。此类游戏NPC数量往往可以达到几十甚至数百,如此众多NPC的人工智能完全由计算机托管的同时要保证游戏帧率,就对人工智能数学模型的复杂程度提出限制。(2)RTS游戏中,虚拟场景中摄像机处在高处向下俯瞰,可以纵观战场,玩家可观测到群体NPC的宏观行为,对NPC的群体智能提出较高要求。而FPS游戏中,画面模拟人的真实视野,对NPC行为提出更高的要求,NPC做出合理行为的同时又要保证移动和动画播放衔接流畅,给游戏玩家较好的用户体验。本文针对RTS和FPS游戏对人工智能的需求,设计了一套较为完整的战场人工智能系统,既包含一些底层人工智能技术如移动、感知、动画控制等,又着重研究了控制多个群体战斗行为的人工智能架构,最终借助Unity3D游戏引擎予以实现。本论文的主要研究内容包括:(1)设计实现了底层的移动-动画控制系统。改进传统的Flock群聚移动技术,并使用A*寻路算法实现多个NPC群体的移动,使得NPC可以在地图中沿最优路径到达任意位置,并规避动态障碍物。同时将动画管理子系统和移动子系统结合起来,用移动信息来驱动动画播放。(2)设计实现了NPC感知记忆模型,为NPC提供虚拟环境信息输入。结合Unity3D中内置的物理引擎实现NPC的视觉和记忆,并设计一种消息路由机制使得视觉和记忆信息可以在NPC之间共享,以模拟真实战场的士兵相互通信。(3)设计实现了一个地图分析系统。利用视觉和记忆信息进行实时地图分析,NPC可以根据敌人信息对地图的各个区域形势进行判断,并决策生成目标移动地点。(4)设计一个分层控制的人工智能架构。包括指挥官-分队队长-分队成员三个控制层级,运用消息系统实现信息汇报和指令分发。在各控制层添加可执行指令队列的指令机,并为不同控制层分别设计相应的指令内容。不同层级的决策系统将指令压入对应的指令队列,指令即可在各个层级顺序执行,最终以NPC的战场行为表现出来。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景和意义
  • 1.2 研究内容
  • 1.3 本文的组织结构
  • 第二章 移动-动画控制系统的设计实现
  • 2.1 游戏人工智能中的移动技术简介
  • 2.1.1 路径规划的概念
  • 2.1.2 群体移动简介
  • 2.1.3 障碍物规避
  • 2.2 移动子系统的详细设计
  • 2.2.1 用力驱动NPC 移动的Motor 类
  • 2.2.2 实现Flock 算法的FlockSphere 类
  • 2.2.3 实现障碍规避的MoveTester 类
  • 2.2.4 小型群体控制类SquadControl 类
  • 2.2.5 移动子系统的完整工作示意图
  • 2.3 动画控制系统的设计
  • 2.3.1 动画分层管理
  • 2.3.2 动画与移动系统的耦合
  • 2.4 本章小结
  • 第三章 虚拟角色的感知记忆系统
  • 3.1 3D 场景中的视觉
  • 3.1.1 游戏中NPC 视觉计算分析
  • 3.1.2 计算机图形学中的摄像机模型
  • 3.1.3 NPC 视觉的设计
  • 3.2 视觉系统的设计实现
  • 3.3 视觉系统的扩展-记忆系统
  • 3.4 共享的视觉-记忆系统
  • 3.4.1 通信类Phone
  • 3.4.2 共享信息类Intelligence
  • 3.5 完整的感知记忆系统
  • 3.6 本章小结
  • 第四章 地图分析与分层决策
  • 4.1 地图分析
  • 4.1.1 地图分析的意义
  • 4.1.2 常见的策略游戏的地图分析算法
  • 4.1.3 本文提出的地图分析方法
  • 4.1.4 地形分析系统的实现
  • 4.2 三层决策体系
  • 4.3 指令机系统
  • 4.3.1 指令的意义
  • 4.3.2 指令的工作方法
  • 4.3.3 指令系统的设计
  • 4.4 本章小结
  • 第五章 系统整合与实验分析
  • 5.1 自定义调试工具
  • 5.1.1 利用Gizmos 进行调试
  • 5.1.2 利用GUI 进行调试
  • 5.2 实验设计
  • 5.2.1 地图的设计
  • 5.2.2 NPC 个体属性的设置
  • 5.2.3 NPC 组织形式
  • 5.2.4 其他设置
  • 5.3 实验结果
  • 5.4 本章小结
  • 第六章 总结与展望
  • 6.1 本文工作总结
  • 6.2 进一步展望
  • 参考文献
  • 附录A PhysX 引擎的相关说明
  • NPC 移动组件Character Controller
  • 触发器相关库函数
  • 相交检测相关库函数
  • 物理引擎层的应用
  • 附录B 路径规划系统的相关说明
  • 由地图生成Grid-based Graph
  • 寻路函数调用
  • 其他注意事项
  • 附录C 演示视频的地址
  • 附录D 示例代码
  • 致谢
  • 攻读硕士学位期间已发表或录用的论文
  • 在学期间发表的学术论文
  • 在学期间参加完成的项目
  • 相关论文文献

    标签:;  ;  ;  

    游戏人工智能关键技术的研究
    下载Doc文档

    猜你喜欢