《Lua游戏AI开发指南》一导读


《Lua游戏AI开发指南》一导读

前 言

Lua游戏AI开发指南
游戏人工智能(Artificial Intelligence,AI)是决策制定和动画回放的结合体。经典AI或学术AI仅仅关注于找到正确的决策,游戏AI则负责在游戏运行期间做出大量的决策。将游戏AI与动画分开处理是常见的错误。本书通过把动画和运动系统直接集成到AI系统中来杜绝这一问题。决策制定和决策执行之间微妙的差异会改变AI程序员不得不关注的诸多方面。

游戏AI的另一个大问题是,不同类型的游戏对AI有不同的需求和实现策略。为了避免毫无重点的平铺直述,本书将只关注一种游戏类型,即第一和第三人称动作游戏。将AI限定在这个前提下,使得我们可以用一种深入的、基于教程的方法来创建一个完整的AI系统。

本书内容
第1章 从构建沙箱开始 这一章会学习项目的组织方式,以及Lua脚本与C++代码的交互方法。在这里,你会发现AI沙箱是构建在一组开源技术之上的,我们首先会在这一框架中集成Lua、Ogre3D、OpenSteer和Bullet Physics。

第2章 创建并移动智能体 这一章我们先从最底层AI开始构建我们的示例程序,包括与世界的交互、原地转向以及移动。接下来,将使用OpenSteer库来实现智能体的搜索、躲避以及群体移动。

第3章 角色动画 这一章将继续构建AI沙箱,我们会介绍Ogre3D中的动画回放和Lua脚本的资源管理。我们会把用于控制动画片段、动画状态机和分层动画的底层结构整合到沙箱中。

第4章 意识体控制 这一章将整合智能体的动画处理和原地转向及移动。我们将实现两种处理意识和身体交互的方法。第一种方法集中于处理代理的决策和行动之间的延迟,而第二种方法则关注于代理行为的感知质量。

第5章 导航 这一章首先实现本地移动,然后研究长距离的移动和路径规划。我们将在AI沙箱中集成由Recast库提供的导航网格生成功能,以支持由Detour库提供的A*寻路算法。

第6章 决策制定 这一章在AI代理的决策制定中加入智能。本章将介绍使用Lua脚本来实现创建模块化和可重用的决策逻辑的各种数据结构和方法。我们将在沙箱中集成决策树、有限状态机以及行为树。

第7章 知识表达 这一章为单个智能体添加存储长期和短期信息的能力。我们给Lua暴露了一种集中式的存储和传播智能体关于世界信息的方法。

第8章 感知 这一章把查询世界信息的服务接口暴露给了智能体,还集成了一些可见信息和基于通信的信息的获取方式。

第9章 策略 这一章为沙箱暴露了关于环境的高层空间信息。本章通过一种基于格栅的世界表达方法,各种知识来源被合并到一起来提供关于环境的准确的策略视野,用于支持决策制定过程。

目 录

第1章  从构建沙箱开始
1.1 AI沙箱简介
1.2 小结
第2章  创建并移动智能体
2.1 新建一个沙箱项目
2.2 te创建文件结构xt
2.3 扩展SandboxApplication类
2.4 首次运行沙箱
2.5 新建一个Decoda项目
2.6 配置Decoda运行的可执行程序
2.7 创建一个沙箱Lua脚本
2.8 发射方块
2.9 创建智能体Lua脚本
2.10 智能体的属性
2.11 小结
第3章 角色动画
第4章 意识体控制
第5章 导航
第6章 决策制定
第7章 知识表达
第8章 感知
第9章 策略

上一篇:Linux软件包管理命令


下一篇:指定linux软件安装路径