游戏人工智能编程案例精粹

当前位置:首页 > 计算机网络 > 图形图像多媒体 > 游戏人工智能编程案例精粹

出版社:人民邮电出版社
出版日期:2012-9
ISBN:9787115291134
作者:Mat Buckland
页数:362页

作者简介

《游戏人工智能编程案例精粹(修订版)》由Mat Buckland著,罗岱等人译,是游戏人工智能方面的经典之作,畅销多年。它展示了如何在游戏中利用专业人工智能技术,并针对实际困难问题,给出了强有力的解决方法。
《游戏人工智能编程案例精粹(修订版)》主要讲述如何使游戏中的角色具有智能的技术。本书首先介绍游戏角色的基本属性(包括速度、质量等物理属性)及常用数学方法。接着,深入探讨游戏智能体状态机的实现。通过简单足球游戏实例,本书给出用状态机实现游戏ai的例子。在图论部分,本书详细介绍图在游戏中的用途及各种不同的图搜索算法,并用一章的篇幅讨论了游戏中路径规划是如何完成的。此外,本书还对目标驱动的智能体的实现、触发器与模糊逻辑在游戏中的运用进行了讨论。为使智能体行为更加丰富、灵活、易于实现,本书还介绍了游戏脚本语言的优点,并以lua脚本语言为例进行了说明。
《游戏人工智能编程案例精粹(修订版)》适合对游戏ai开发感兴趣的爱好者和游戏ai开发人员阅读和参考。

书籍目录

第1章 数学和物理学初探 
1.1 数学 
1.1.1 笛卡尔坐标系 
1.1.2 函数和方程 
1.1.3 三角学 
1.1.4 矢量 
1.1.5 局部空间和世界空间 
1.2 物理学 
1.2.1 时间 
1.2.2 距离 
1.2.3 质量 
1.2.4 位置 
1.2.5 速度 
1.2.6 加速度 
1.2.7 力 
1.3 总结 
第2章 状态驱动智能体设计 
2.1 什么是有限状态机 
2.2 有限状态机的实现 
2.2.1 状态变换表 
2.2.2 内置的规则 
2.3 West World项目 
2.3.1 BaseGameEntity类 
2.3.2 Miner类 
2.3.3 Miner状态 
2.3.4 重访问的状态设计模式 
2.4 使State基类可重用 
2.5 全局状态和状态翻转(State Blip) 
2.6 创建一个StateMachine类 
2.7 引入Elsa 
2.8 为你的FSM增加消息功能 
2.8.1 Telegram的结构 
2.8.2 矿工Bob和Elsa交流 
2.8.3 消息发送和管理 
2.8.4 消息处理 
2.8.5 Elsa做晚饭 
2.8.6 总结 
第3章 如何创建自治的可移动游戏智能体 
3.1 什么是自治智能体 
3.2 交通工具模型 
3.3 更新交通工具物理属性 
3.4 操控行为 
3.4.1 Seek(靠近) 
3.4.2 Flee(离开) 
3.4.3 Arrive(抵达) 
3.4.4 Pursuit(追逐) 
3.4.5 Evade(逃避) 
3.4.6 Wander(徘徊) 
3.4.7 Obstacle Avoidance(避开障碍) 
3.4.8 Wall Avoidance(避开墙) 
3.4.9 Interpose(插入) 
3.4.10 Hide(隐藏) 
3.4.11 Path Following(路径跟随) 
3.4.12 Offset Pursuit(保持一定偏移的追逐) 
3.5 组行为(Group Behaviors) 
3.5.1 Separation(分离) 
3.5.2 Alignment(队列) 
3.5.3 Cohesion(聚集) 
3.5.4 Flocking(群集) 
3.6 组合操控行为(Combining Steering Behaviors) 
3.6.1 加权截断总和(Weighted Truncated Sum) 
3.6.2 带优先级的加权截断累计(Weighted Truncated Running Sum with
Prioritization) 
3.6.3 带优先级的抖动(Prioritized Dithering) 
3.7 确保无重叠 
3.8 应对大量交通工具:空间划分 
3.9 平滑 
第4章 体育模拟(简单足球) 
4.1 简单足球的环境和规则 
4.1.1 足球场 
4.1.2 球门 
4.1.3 足球 
4.2 设计AI 
4.2.1 SoccerTeam类 
4.2.2 场上队员 
4.2.3 守门员 
4.2.4 AI使用到的关键方法 
4.3 使用估算和假设 
4.4 总结 
第5章 图的秘密生命 
5.1 图 
5.1.1 一个更规范化的描述 
5.1.2 树 
5.1.3 图密度 
5.1.4 有向图(Digraph) 
5.1.5 游戏AI中的图 
5.2 实现一个图类 
5.2.1 图节点类(GraphNode Class) 
5.2.2 图边类(GraphEdge Class) 
5.2.3 稀疏图类(SparseGraph Class) 
5.3 图搜索算法 
5.3.1 盲目搜索(Uninformed Graph Searches) 
5.3.2 基于开销的图搜索(cost-based graph searchs) 
5.4 总结 
第6章 用脚本,还是不用?这是一个问题 
6.1 什么是脚本语言 
6.2 脚本语言能为你做些什么 
6.2.1 对话流 
6.2.2 舞台指示(Stage Direction) 
6.2.3 AI逻辑 
6.3 在Lua中编写脚本 
6.3.1 为使用Lua设置编译器 
6.3.2 起步 
6.3.3 Lua中的石头剪子布 
6.3.4 与C/C++接口 
6.3.5 Luabind来救援了! 
6.4 创建一个脚本化的有限状态自动机 
6.4.1 它如何工作? 
6.4.2 状态(State) 
6.5 有用的链接 
6.6 并不是一切都这么美妙 
6.7 总结 
第7章 概览《掠夺者》游戏 
7.1 关于这个游戏 
7.2 游戏体系结构概述 
7.2.1 Raven_Game类 
7.2.2 掠夺者地图 
7.2.3 掠夺者武器 
7.2.4 弹药(Projectile) 
7.3 触发器 
7.3.1 触发器范围类(TriggerRegion) 
7.3.2 触发器类(Trigger) 
7.3.3 再生触发器(Respawning Trigger) 
7.3.4 供给触发器(Giver-Trigger) 
7.3.5 武器供给器(Weapon Givers) 
7.3.6 健康值供给器(Health Giver) 
7.3.7 限制生命期触发器(Limited Lifetime Trigger) 
7.3.8 声音通告触发器(Sound Notification Trigger) 
7.3.9 管理触发器:触发器系统(TriggerSystem)类 
7.4 AI设计的考虑 
7.5 实现AI 
7.5.1 制定决策(Decision Making) 
7.5.2 移动(Movement) 
7.5.3 路径规划(Path Planning) 
7.5.4 感知(Perception) 
7.5.5 目标选择(Target Selection) 
7.5.6 武器控制(Weapon Handling) 
7.5.7 把所有东西整合起来 
7.5.8 更新AI组件 
7.6 总结 
第8章 实用路径规划 
8.1 构建导航图 
8.1.1 基于单元 
8.1.2 可视点 
8.1.3 扩展图形 
8.1.4 导航网 
8.2 《掠夺者》游戏导航图 
8.2.1 粗颗粒状的图 
8.2.2 细粒状的图 
8.2.3 为《掠夺者》导航图添加物件 
8.2.4 为加速就近查询而使用空间分割 
8.3 创建路径规划类 
8.3.1 规划到达一个位置的一条路径 
8.3.2 规划路径到达一个物件类型 
8.4 节点式路径或边式路径 
8.4.1 注释边类示例 
8.4.2 修改路径规划器类以容纳注释边 
8.4.3 路径平滑 
8.4.4 降低CPU资源消耗的方法 
8.5 走出困境状态 
8.6 总结 
第9章 目标驱动智能体行为 
9.1 勇士埃里克的归来 
9.2 实现 
9.2.1 Goal_Composite::Process Subgoals 
9.2.2 Goal_Composite::Remove AllSubgoals 
9.3 《掠夺者》角色所使用的目标例子 
9.3.1 Goal_Wander 
9.3.2 Goal_TraverseEdge 
9.3.3 Goal_FollowPath 
9.3.4 Goal_MoveToPosition 
9.3.5 Goal_AttackTarget 
9.4 目标仲裁 
9.4.1 计算寻找一个健康物件的期望值 
9.4.2 计算寻找一种特殊武器的期望值 
9.4.3 计算攻击目标的期望值 
9.4.4 计算寻找地图的期望值 
9.4.5 把它们都放在一起 
9.5 扩展 
9.5.1 个性 
9.5.2 状态存储 
9.5.3 命令排队 
9.5.4 用队列编写脚本行为 
9.6 总结 
第10章 模糊逻辑 
10.1 普通集合 
集合运算符 
10.2 模糊集合 
10.2.1 用隶属函数来定义模糊的边界 
10.2.2 模糊集合运算符 
10.2.3 限制词 
10.3 模糊语言变量 
10.4 模糊规则 
10.4.1 为武器的选择设计模糊语言变量 
10.4.2 为武器的选择设计规则集 
10.4.3 模糊推理 
10.5 从理论到应用:给一个模糊逻辑模块编码 
10.5.1 模糊模块类(FuzzyModule) 
10.5.2 模糊集合基类(FuzzySet) 
10.5.3 三角形的模糊集合类 
10.5.4 右肩模糊集合类 
10.5.5 创建一个模糊语言变量类 
10.5.6 为建立模糊规则而设计类 
10.6 《掠夺者》中是如何使用模糊逻辑类的 
10.7 库博方法 
10.7.1 模糊推理和库博方法 
10.7.2 实现 
10.8 总结 
附录A C++模板 
附录B UML类图 
附录C 设置你的开发环境 
跋 
参考文献 

编辑推荐

亚马逊连续多年游戏开发畅销图书游戏开发图书的经典之作AI技术在游戏中应用的经典案例合集针对实际难题提供权威的专业解决方案引导读者学习使用C++变成语言设计、编程和实现游戏人工智能的过程读者可以从http://www.jblearning.com/catalog/9781556220784/下载本书的配套示例代码。

内容概要

Mat Buckland是一位自由职业程序员和技术作家。他在20世纪80年代为ZX Spectrum编写Waddington’s
Monopoly的时候,对AI产生了兴趣,多年以来,他对于让计算机“思考”的热情丝毫没有减退。他是AI Techniques for
Game Programming一书的作者,也是专注于AI教程的知名网站ai-junkie.com的创始人。他是AI
Interface Standards Committee的成员,还是European Game Developers
Conference圆桌会议的主持人。

图书封面


 游戏人工智能编程案例精粹下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     如果你做游戏,那推荐你一定看看这本书,书中用现实的例子做素材,告诉你如何一步一步的完成一个个AI算法,这些都是游戏智能最基本的技术,掌握好他们,那些高深的东西也不再遥不可及。书还没读完,先赞一个,书有点小贵,封面蛮喜欢,挑个刺,封底评论把“黑与白2”印刷成“黑与自2”了

精彩短评 (总计69条)

  •     这本书不咋的,感觉对不起书名
  •     在公交、地铁上看。看起来还不错,比较基础。唯独不好的就是没有人机博弈的内容。比看理论书轻松一些。
  •     感觉内容很不错,是用c++写的。
  •     我有一定的机器学习基础,读过之后 才感受到游戏AI和一般的机器学习的不同,这本书通过分析案例让读者领会到游戏设计的巧妙之处。书中没有冗长的算法,即使没有AI基础也适合阅读。
  •     内容不错,推荐。程序员必读
  •     很实用的一本书,里面的知识点可以在工作中立马用到。
  •     给力的书哦给力的书哦
  •     书是好书,但是翻译的质量太差
  •     内容具体 详实
  •     研究人工智能编程
  •     我是看到作者那句:它必须使玩家从椅子上跳起来喊:“拿起它来,你这个笨蛋”立刻笑喷了,觉得作者用心,果断买了。书不错。不过书籍装卸过程有油印,这个不太满意。当当以后发货要注意了。
  •     书本印刷质量还不错,内容也很好,就是有些小错误,例如46页中间一句的“这样”写成了“怎样”
  •     FSM 精读,其余略读+查阅。好书差翻译。1. Boids 群集运动自治 2. 竞技场类游戏 AI 示例,可改造适用于 RTS、RPG、FPS/TPS、战术类 3. 分层决策逻辑 4. 路径规划(A* 寻路) 5. Lua 脚本编程和嵌入 6. FuSM。示例代码:http://www.jblearning.com/catalog/9781556220784/ 作者网站:http://ai-junkie.com/
  •     内容还是挺有帮助的,不错
  •     内容很充实,值得拥有
  •     翻译的还算过得去,坚持学下去
  •     编辑写的人工智能,是我梦寐以求的,我喜欢
  •     1:本书中讲解的内容非常好,是游戏前端程序员了解智能编程的居家旅游必备良药,在很多领域如状态机、群落等方面均给出了精简优雅的解释,内容方面绝对满分。2:美中不足的是翻译略显生硬,一些口语化的翻译不是很恰当,比如“有许多实现一个singleton的方法”,如果修改成“实现singleton的方法有很多种”应该更容易让读者理解吧。... 阅读更多
  •     游戏AI入门书,讲的都是最基础的知识,但都是正经的,经典的思路。
  •     很好的AI入门书
  •     没来急看
  •     慢慢读,认真做
  •     值得认真读一读。
  •     书不错,送货挺快的,下次买书还来这里
  •     这是游戏AI开发的入门书
  •     收到了,书面脏,内容还可以
  •     真是本好书
  •     书里的内容很有智慧
  •     游戏人工智能编程案例精粹(修订版)
  •     第一版看过了一半,才决定要买的。哈哈
  •     靠 包裹书脏死了 书面上全是土 还让我自提 要不是等着看 必须拒收
  •     经典好书,值得学习
  •     挺好.值得推荐
  •     唔!~没有让我失望,质量不错,好书。
  •     这本书还是值得看的,迅速改变你对游戏ai的理解
  •     翻译质量令人发指
  •     看完了 还感觉一边还是不大懂的需要慢慢琢磨,游戏开发不错
  •     案例都蛮不错的,不过不太适合初学者。
  •     首先书本内容很启发人,其次,发现翻译者的功力也深厚,不然呈现不了原作的味道。
  •     内容很丰富
    只是专讲了人工智能,自己一个人还是不能做什么,适合进阶人群
  •     书的内容是很好的,但是翻译的人语文水平很一般哦,翻译出来的比较生硬,有空多看看书,炼炼笔
  •     结合公司项目,力荐这本书,比较基础,但是非常不错
  •     我是先看了100多页的pdf才决定买这本书的,很适合入门级别的游戏程序员学习,赞一个
  •     挺不错的,很好,很喜欢
  •     一般,部分有点难懂,比较空洞,可能内功不够
  •     书本的色调有点暗,纸张的厚度较薄,字体还算清晰,纸张有点软,并且有点潮(可以放时间久了的缘故),还没发现缺页的现象,应该是正版,就是包装不怎么样,关键是内容好,包装方面就忍了吧,就5星吧.
  •     志向是走人工智灵至于大环境影响准备以游戏隐蔽开发就是这样你懂的
  •     实现人工智能的设计模式
  •     通常评价很好的书,买回来未必是好的。但这本书确实很不错,拜读了其中两章,讲解得很好~很值~
  •     前面的基础有点太基础了,但后面很有意思的样子
  •     翻译减一星
  •     书挺好,看了下目录就会令人振奋
  •     这本书很好, 里面的状态转换逻辑讲的很详细
  •     内容五星,因模式太多,降为四星
  •     清晰 简单 直白 并且细微
  •     作为AI没有以前看的那本好 也没那么厉害 不过作为一般程度挺不错的
  •     慢慢体验,体会。很好的书。
  •     书比较内容适当,方便学习
  •     这本还算不错吧,但是对于逻辑的讲解部分,没有独特的见解
  •     书是好书,翻译让人xxx,不仅学到很多实用的AI技术,能让自己构建有趣生动的游戏,而且在涉及模式,代码技巧方面也学到不少。
  •     本来要买一本《游戏中的AI》可是没买到,先买这本看看吧,翻了翻还不错
  •     第一版想买结果绝版了,看过code,严重推荐!
  •     面向有一定基础的开发人员
  •     很适合作为参考
  •     书是买给儿子的。还行,比较满意。
  •     一本难得的好书,除了游戏AI,在面向对象的设计与构建有状态的系统的核心等方面都可以学到很多东西。
  •     案例经典,代码清晰,可逐个上手练习。
  •     这本书很好,例子很经典,风趣幽默,就是书中代码有写错误,修版没有改过来
  •     看PDF看了几章受益匪浅早就想买了这不一出修订版的就立刻下单了
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024