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

    xiaoxiao2024-01-05  159

    前 言

    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创建文件结构xt2.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章 策略

    相关资源:AI游戏引擎程序设计.pdf(源码)
    最新回复(0)