作品简介

第1章探究几个有趣的移动算法,这些算法基于Craig Reynolds与Ian Millington开发的转向行为(steering behavior)原则,是绝大多数高级游戏和其他一些依赖于移动的算法(比如寻路算法家族)的基础。第2章涵盖了用于导航复杂场景的寻路算法。该章包含一些使用不同的图结构来表示游戏世界的方法,以及几个用于寻路的算法,每种算法针对的场景有所不同。第3章解释不同的决策制定技术,这些技术能够灵活地适应不同类型的游戏,并且足够健壮地让我们构建模块化的决策制定系统。第4章揭示Unity 5.6中引入的NavMesh API的内部原理,解释如何掌握NavMesh的强大之处,以及实时优化。第5章涉及几篇不同的教程,把不同的agent协调成一个整体,比如基于图表(如路径点和势力图)制定战术策略的编队技巧。第6章探究了几种在agent上模拟感官刺激的不同方式。我们将学习如何使用已知的工具来创建这些模拟器:碰撞器和图。第7章涵盖了用于开发棋类游戏的一个算法家族,以及创建AI的基于回合的游戏技术。第8章探索机器学习领域,该章是我们学习并将机器学习技术应用到游戏中的极好开端。第9章探究使用程序化内容生成来实现游戏可重玩性的几种不同技术。该章是生成不同类型的内容的指南。第10章介绍一些新技术,以及使用前几章中学过的算法创建不完全符合特定类别的新行为。

(智利)豪尔赫·帕拉西奥斯(Jorge Palacios)著。

作品目录

  • 译者序
  • 前言
  • 第1章 行为——智能移动
  • 1.1 简介
  • 1.2 创建行为模板
  • 1.3 追赶和逃跑
  • 1.4 为物理引擎调整agent
  • 1.5 到达和离开
  • 1.6 朝向物体
  • 1.7 徘徊
  • 1.8 按路径移动
  • 1.9 避开agent
  • 1.10 避开墙体
  • 1.11 通过权重混合多个行为
  • 1.12 通过优先级混合多个行为
  • 1.13 射击抛射体
  • 1.14 预测抛射体的着地点
  • 1.15 锁定抛射体
  • 1.16 创建跳跃系统
  • 第2章 导航
  • 2.1 简介
  • 2.2 用网格表示世界
  • 2.3 用可视点法表示世界
  • 2.4 用自制的导航网格表示世界
  • 2.5 用深度优先搜索在迷宫中找到出路
  • 2.6 用广度优先搜索在网格中找到最短路径
  • 2.7 用迪杰斯特拉算法找到最短路径
  • 2.8 用A*找到最优路径
  • 2.9 改进A*算法的内存占用:IDA*
  • 2.10 在多个帧中规划导航:时间片搜索
  • 2.11 使路径变得平滑
  • 第3章 决策制定
  • 3.1 简介
  • 3.2 通过决策树做选择
  • 3.3 实现有限状态机
  • 3.4 改进有限状态机:分层的有限状态机
  • 3.5 实现行为树
  • 3.6 使用模糊逻辑
  • 3.7 用面向目标的行为制定决策
  • 3.8 实现黑板架构
  • 3.9 尝试Unity的动画状态机
  • 第4章 新的NavMesh API
  • 4.1 简介
  • 4.2 初始化NavMesh开发组件
  • 4.3 创建和管理NavMesh,用于多种类型的agent
  • 4.4 在运行时创建和更新NavMesh数据
  • 4.5 控制NavMesh实例的生命周期
  • 4.6 连接多个NavMesh实例
  • 4.7 创建动态的带有障碍物的NavMesh
  • 4.8 用NavMesh API实现某些行为
  • 第5章 协作和战术
  • 5.1 简介
  • 5.2 管理队形
  • 5.3 扩展A*算法用于协作:A* mbush
  • 5.4 用高度分析路径点
  • 5.5 用覆盖性和可见性分析路径点
  • 5.6 自动化创建路径点
  • 5.7 将路径点作为示例用于决策制定
  • 5.8 实现势力图
  • 5.9 用淹没图改进势力图
  • 5.10 用卷积滤波器改进势力图
  • 5.11 构建战斗循环
  • 第6章 agent感知
  • 6.1 简介
  • 6.2 基于碰撞系统的视觉函数
  • 6.3 基于碰撞系统的听觉函数
  • 6.4 基于碰撞系统的嗅觉函数
  • 6.5 基于图的视觉函数
  • 6.6 基于图的听觉函数
  • 6.7 基于图的嗅觉函数
  • 6.8 在潜行游戏中创建感知
  • 第7章 棋类游戏和应用的搜索AI
  • 7.1 简介
  • 7.2 使用博弈树类
  • 7.3 实现Minimax算法
  • 7.4 实现Negamax算法
  • 7.5 实现AB Negamax算法
  • 7.6 实现Negascout算法
  • 7.7 实现井字游戏对手
  • 7.8 实现跳棋游戏对手
  • 7.9 用UCB1实现石头剪刀布AI
  • 7.10 实现无悔匹配算法
  • 第8章 机器学习
  • 8.1 简介
  • 8.2 使用N元语法预测器预测行动
  • 8.3 改进预测器:分层的N元语法
  • 8.4 学习使用朴素贝叶斯分类器
  • 8.5 实现强化学习
  • 8.6 实现人工神经网络
  • 第9章 程序化内容生成
  • 9.1 简介
  • 9.2 用深度优先搜索创建迷宫
  • 9.3 为地下城和群岛实现可构造算法
  • 9.4 生成风景
  • 9.5 使用N元语法生成内容
  • 9.6 用进化算法生成敌人
  • 第10章 其他
  • 10.1 简介
  • 10.2 创建和管理可编写脚本的对象
  • 10.3 更好地处理随机数
  • 10.4 构建空气曲棍球游戏对手
  • 10.5 实现竞速游戏架构
  • 10.6 使用橡皮筋系统管理竞速难度
展开全部