图书介绍
AI游戏引擎程序设计PDF|Epub|txt|kindle电子书版本网盘下载
- (美)施瓦布著 著
- 出版社: 北京:清华大学出版社
- ISBN:730216312X
- 出版时间:2007
- 标注页数:459页
- 文件大小:31MB
- 文件页数:474页
- 主题词:游戏-软件开发
PDF下载
下载说明
AI游戏引擎程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 概述3
第1章 基本定义与概念3
1.1 什么是智能3
1.2 什么是游戏AI3
1.3 什么不是游戏AI6
1.4 该定义与人工智能理论定义的区别8
1.5 可应用的大脑科学与心理学理论9
1.5.1 大脑的组织结构9
1.5.2 知识库与学习10
1.5.3 认知12
1.5.4 心智理论13
1.5.5 有限最优19
1.5.6 来自机器人技术的启发20
1.6 小结22
第2章 AI引擎的基本组成与设计23
2.1 决策与推理23
2.1.1 解决方案的类型24
2.1.2 智能体的反应能力24
2.1.3 系统的真实性24
2.1.4 游戏类型25
2.1.5 游戏内容25
2.1.6 游戏平台25
2.1.7 开发限制27
2.1.8 娱乐限制28
2.2 输入处理机与感知29
2.2.1 感知类型29
2.2.2 更新规则29
2.2.3 反应时间30
2.2.4 门限30
2.2.5 负荷平衡30
2.2.6 计算代价与预处理30
2.3 导航31
2.3.1 基于网格31
2.3.2 简单避免与位势场32
2.3.3 地图节点网络33
2.3.4 导航网格33
2.3.5 组合系统34
2.4 综合考虑35
2.5 小结36
第3章 AIsteroids:AI试验平台37
3.1 GameObj类38
3.2 GameObj类的Update()函数39
3.3 Ship对象40
3.4 其他游戏对象41
3.5 GameSession类42
3.5.1 主逻辑与碰撞检测43
3.5.2 对象清除45
3.5.3 主飞船和宝物的产生45
3.5.4 奖励生命46
3.5.5 级别和游戏的结束46
3.6 Control类47
3.7 AI系统钩子47
3.8 游戏主循环48
3.9 小结48
第Ⅱ部分 游戏类型53
第4章 角色扮演类游戏53
4.1 通用AI元素57
4.1.1 敌人57
4.1.2 头目58
4.1.3 非玩家角色58
4.1.4 店员59
4.1.5 队员59
4.2 有用的AI技术60
4.2.1 脚本60
4.2.2 有限状态机61
4.2.3 消息62
4.3 示例62
4.4 例外63
4.5 需要改进的具体游戏元素64
4.5.1 角色扮演不等于战斗64
4.5.2 语法机器64
4.5.3 任务发生器65
4.5.4 更好的队员AI65
4.5.5 更好的敌人66
4.5.6 完全真实的市镇67
4.6 小结68
第5章 冒险类游戏69
5.1 通用AI元素70
5.1.1 敌人AI70
5.1.2 非玩家角色70
5.1.3 协作元素71
5.1.4 感知系统71
5.1.5 摄像机71
5.2 有用的AI技术71
5.2.1 有限状态机71
5.2.2 脚本系统72
5.2.3 消息系统72
5.2.4 模糊逻辑72
5.3 示例73
5.4 需要改进的领域74
5.4.1 潜行目标的附加类型74
5.4.2 传统冒险根源的回归74
5.4.3 更好的NPC通信74
5.4.4 用户界面74
5.5 小结75
第6章 即时策略游戏77
6.1 通用AI元素77
6.1.1 个体单元77
6.1.2 雇佣个体单元78
6.1.3 指挥官与中级战略性元素78
6.1.4 高层战略性AI78
6.1.5 市镇构建79
6.1.6 本土生活79
6.1.7 路径搜索79
6.1.8 战术与战略支撑系统79
6.2 有用的AI技术81
6.2.1 消息81
6.2.2 有限状态机81
6.2.3 模糊状态机82
6.2.4 层次化AI82
6.2.5 规划82
6.2.6 脚本82
6.2.7 数据驱动AI83
6.3 示例84
6.4 需要改进的领域85
6.4.1 学习85
6.4.2 确定AI元素何时受困85
6.4.3 AI助手86
6.4.4 对抗人物86
6.4.5 多战略少战术87
6.5 小结88
第7章 第一人称/第三人称射击游戏89
7.1 通用AI元素91
7.1.1 敌人91
7.1.2 敌人头目92
7.1.3 死亡竞赛对手92
7.1.4 武器92
7.1.5 协作智能体93
7.1.6 分队成员93
7.1.7 路径搜索93
7.1.8 空间推理94
7.2 有用的AI技术94
7.2.1 有限状态机94
7.2.2 模糊状态机97
7.2.3 消息系统98
7.2.4 脚本系统98
7.3 示例98
7.4 需要改进的领域99
7.4.1 学习与对手建模99
7.4.2 个性100
7.4.3 创造力100
7.4.4 预测100
7.4.5 更好的会话引擎101
7.4.6 动机101
7.4.7 更好的分队AI101
7.5 小结101
第8章 平台游戏103
8.1 通用AI元素108
8.1.1 敌人108
8.1.2 敌人头目108
8.1.3 协作元素108
8.1.4 摄像机109
8.2 有用的AI技术110
8.2.1 有限状态机110
8.2.2 消息系统110
8.2.3 脚本系统110
8.2.4 数据驱动系统110
8.3 示例110
8.4 需要改进的领域111
8.4.1 摄影技巧111
8.4.2 帮助系统111
8.5 小结112
第9章 射击类游戏113
9.1 通用AI元素118
9.1.1 敌人118
9.1.2 敌人头目118
9.1.3 协作元素119
9.2 有用的AI技术119
9.2.1 有限状态机119
9.2.2 脚本系统119
9.2.3 数据驱动系统119
9.3 例外120
9.4 示例120
9.5 需要改进的领域121
9.6 小结122
第10章 运动类游戏123
10.1 通用AI元素124
10.1.1 教练或团队级别AI124
10.1.2 玩家级别AI124
10.1.3 路径搜索125
10.1.4 摄像机125
10.1.5 混杂元素126
10.2 有用的AI技术127
10.2.1 有限状态机与模糊状态机127
10.2.2 数据驱动系统133
10.2.3 消息系统134
10.3 示例134
10.4 需要改进的领域135
10.4.1 学习135
10.4.2 游戏平衡135
10.4.3 玩法创新135
10.5 小结136
第11章 赛车游戏139
11.1 通用AI元素140
11.1.1 轨迹AI140
11.1.2 交通141
11.1.3 行人142
11.1.4 敌人与战斗142
11.1.5 非玩家角色142
11.1.6 其他竞争行为142
11.2 有用的AI技术143
11.2.1 有限状态机143
11.2.2 脚本系统143
11.2.3 消息系统143
11.2.4 遗传算法143
11.3 示例143
11.4 需要改进的领域144
11.4.1 除犯罪以外的其他感兴趣领域144
11.4.2 更多的智能AI敌人144
11.4.3 永不落幕的游戏世界144
11.5 小结145
第12章 经典策略游戏147
12.1 通用AI元素156
12.1.1 对手AI156
12.1.2 AI助手157
12.2 有用的AI技术157
12.2.1 有限状态机157
12.2.2 Alpha-Beta搜索157
12.2.3 神经网络158
12.2.4 遗传算法158
12.3 例外158
12.4 示例158
12.5 需要改进的领域159
12.5.1 创造力159
12.5.2 速度159
12.6 小结159
第13章 格斗类游戏161
13.1 通用AI元素162
13.1.1 敌人162
13.1.2 碰撞系统163
13.1.3 敌人头目163
13.1.4 摄像机163
13.1.5 动作和冒险元素164
13.2 有用的AI技术164
13.2.1 有限状态机164
13.2.2 数据驱动系统164
13.2.3 脚本系统164
13.3 示例165
13.4 需要改进的领域165
13.5 小结166
第14章 著名的混杂游戏类型167
14.1 文明游戏167
14.2 天神游戏174
14.3 战争游戏177
14.4 飞行模拟游戏181
14.5 音乐游戏186
14.6 益智游戏186
14.7 人工生命游戏187
第Ⅲ部分 基本的AI引擎技术193
第15章 有限状态机193
15.1 FSM概述193
15.2 FSM骨架代码197
15.2.1 FSMState类197
15.2.2 FSMMachine类198
15.2.3 FSMAIControl类199
15.3 在试验平台上实现FSM控制的飞船200
15.4 示例实现201
15.4.1 Control类编码202
15.4.2 状态编码204
15.5 使用该系统的AI的性能213
15.5.1 基于FSM系统的优势213
15.5.2 基于FSM系统的劣势214
15.6 范例扩展215
15.6.1 层次化FSM215
15.6.2 基于消息和事件的FSM216
15.6.3 具有模糊转换的FSM216
15.6.4 基于堆栈的FSM216
15.6.5 多重并发FSM217
15.6.6 数据驱动FSM217
15.6.7 惯性FSM218
15.7 最优化219
15.7.1 FSM和感知的负荷平衡219
15.7.2 LOD AI系统219
15.7.3 共享数据结构220
15.8 设计上考虑的因素220
15.8.1 解决方案的类型221
15.8.2 智能体的反应能力221
15.8.3 系统的真实性221
15.8.4 游戏类型221
15.8.5 游戏内容222
15.8.6 游戏平台222
15.8.7 开发限制222
15.8.8 娱乐限制222
15.9 小结223
第16章 模糊状态机225
16.1 FuSM概述225
16.2 FuSM骨架代码228
16.2.1 FuSMState类228
16.2.2 FuSMMachine类230
16.2.3 FuSMAIControl类231
16.3 在试验平台上实现FuSM控制的飞船232
16.4 示例实现232
16.4.1 添加Saucer232
16.4.2 其他的游戏修改233
16.4.3 FuSM系统233
16.5 控制类编码234
16.6 使用该系统的AI的性能241
16.6.1 基于FuSM系统的优势241
16.6.2 基于FuSM系统的劣势242
16.7 范例扩展243
16.7.1 有限数量当前状态的FuSM243
16.7.2 作为角色支持系统的FuSM243
16.7.3 在较大FSM中作为单一状态的FuSM244
16.7.4 层次化FuSM244
16.7.5 数据驱动FuSM244
16.8 最优化245
16.9 设计上考虑的因素245
16.9.1 解决方案的类型245
16.9.2 智能体的反应能力245
16.9.3 系统的真实性245
16.9.4 游戏类型246
16.9.5 游戏平台246
16.9.6 开发限制246
16.9.7 娱乐限制246
16.10 小结246
第17章 基于消息的系统249
17.1 消息概述249
17.2 消息的骨架代码250
17.2.1 Message对象250
17.2.2 MessagePump类251
17.3 客户端句柄255
17.4 在AIsteroids试验平台上的示例实现256
17.4.1 MessState类256
17.4.2 MessMachine类257
17.4.3 MessAIControl类258
17.5 状态编码262
17.6 使用该系统的AI的性能265
17.6.1 消息系统的优势265
17.6.2 消息系统的劣势266
17.7 范例扩展266
17.7.1 消息优先级266
17.7.2 消息仲裁267
17.7.3 自动和扩展的消息类型267
17.8 最优化268
17.9 设计上考虑的因素268
17.9.1 解决方案的类型268
17.9.2 智能体的反应能力268
17.9.3 系统的真实性268
17.9.4 游戏类型和平台268
17.9.5 开发限制269
17.9.6 娱乐限制269
17.10 小结269
第18章 脚本系统271
18.1 脚本概述271
18.2 AIsteroids测试平台中的脚本实现272
18.2.1 一种配置脚本语言273
18.2.2 配置脚本系统的AI性能分析278
18.2.3 游戏中Lua的嵌入278
18.3 Lua在AIsteroids测试平台中的实现286
18.4 Lua脚本系统的AI性能分析290
18.5 脚本系统的优点290
18.5.1 快速原型开发290
18.5.2 更低的门槛291
18.5.3 更快的AI调试速度291
18.5.4 更多的用户扩展手段291
18.5.5 更广的适用范围291
18.6 脚本系统的缺点291
18.6.1 执行速度292
18.6.2 调试难度292
18.6.3 脚本作用292
18.6.4 宿主代码和脚本的功能划分293
18.6.5 需维护的系统数量293
18.7 范例扩展294
18.7.1 自定义语言294
18.7.2 内建调试工具294
18.7.3 智能脚本IDE294
18.7.4 游戏脚本自动集成295
18.7.5 自主修改脚本295
18.8 优化295
18.9 设计上考虑的因素296
18.9.1 解决方案的类型296
18.9.2 智能体的反应能力296
18.9.3 系统的真实性296
18.9.4 游戏类型和平台297
18.9.5 开发限制297
18.9.6 娱乐限制297
18.10 小结297
第19章 基于位置的信息系统299
19.1 基于位置的信息系统概述299
19.1.1 影响图技术(IM)299
19.1.2 智能地形技术(Smart Terrain)300
19.1.3 地形分析技术(Terrain Analysis,TA)301
19.2 各种技术的使用方法301
19.2.1 占用数据301
19.2.2 场地控制301
19.2.3 探路系统的辅助数据302
19.2.4 危险预警302
19.2.5 初步战场计划303
19.2.6 简单战场分析303
19.2.7 高级战场分析303
19.3 影响图框架代码及测试平台实现305
19.3.1 占用影响图310
19.3.2 占用IM测试平台的使用314
19.3.3 控制影响图315
19.3.4 控制IM测试平台的使用318
19.3.5 逐位影响图319
19.3.6 逐位IM测试平台的使用324
19.3.7 其他实现324
19.4 基于位置的信息系统的优点326
19.5 基于位置的信息系统的缺点326
19.6 范例扩展326
19.7 优化326
19.8 设计上考虑的因素327
19.8.1 解决方案的类型327
19.8.2 智能体的反应能力327
19.8.3 系统的真实性327
19.8.4 游戏类型和平台328
19.8.5 开发限制328
19.8.6 娱乐限制328
19.9 小结328
第Ⅳ部分 高级AI引擎技术331
第20章 遗传算法331
20.1 遗传算法概述331
20.1.1 自然进化规律331
20.1.2 游戏中的进化332
20.1.3 遗传算法基本过程333
20.2 问题的表示334
20.2.1 基因和基因组335
20.2.2 适应度函数336
20.2.3 繁殖337
20.3 AIsteroids测试平台中遗传算法的实现342
20.4 遗传算法在测试平台中的性能354
20.5 基于遗传算法的系统的优点356
20.6 基于遗传算法的系统的缺点357
20.6.1 时间代价较大357
20.6.2 算法性能随机性大357
20.6.3 结果成败定义模糊358
20.6.4 最优解不能保证358
20.6.5 参数调试和扩展难度大358
20.7 范例扩展358
20.7.1 蚁群算法358
20.7.2 协同进化359
20.7.3 自适应遗传算法359
20.7.4 遗传程序设计359
20.8 设计上考虑的因素360
20.8.1 解决方案的类型360
20.8.2 智能体的反应能力360
20.8.3 系统的真实性360
20.8.4 游戏类型360
20.8.5 平台361
20.8.6 开发限制361
20.8.7 娱乐限制361
20.9 小结361
第21章 神经网络363
21.1 自然中的神经网络363
21.2 人工神经网络概述364
21.3 神经网络的使用366
21.3.1 结构366
21.3.2 学习机制367
21.3.3 创建训练数据368
21.4 神经网络活动368
21.5 在AIsteroids测试平台上实现神经网络371
21.5.1 NeuralNet类371
21.5.2 NLayer类375
21.5.3 NNAIControl类379
21.6 测试平台的性能384
21.7 优化385
21.8 基于神经网络的系统的优点386
21.9 基于神经网络的系统的缺点386
21.10 范例扩展387
21.10.1 其他类型的神经网络388
21.10.2 神经网络学习的其他类型388
21.11 设计上考虑的因素389
21.11.1 解决方案的类型389
21.11.2 智能体的反应能力389
21.11.3 系统的真实性389
21.11.4 游戏类型和平台390
21.11.5 开发限制390
21.11.6 娱乐限制390
21.12 小结390
第22章 其他技术备忘录393
22.1 人工生命393
22.1.1 人工生命在游戏中的用途394
22.1.2 人工生命学科394
22.1.3 优点395
22.1.4 缺点396
22.1.5 游戏设计可以开发的领域396
22.2 规划算法396
22.2.1 当前在游戏中的使用状况397
22.2.2 优点398
22.2.3 缺点399
22.2.4 游戏设计可以开发的领域399
22.3 产生式系统400
22.3.1 优点401
22.3.2 缺点401
22.3.3 游戏设计可以开发的领域401
22.4 决策树402
22.4.1 优点403
22.4.2 缺点403
22.4.3 游戏设计可以开发的领域404
22.5 模糊逻辑404
22.5.1 优点406
22.5.2 缺点406
22.5.3 游戏设计可以开发的领域406
22.6 小结406
第Ⅴ部分 AI实战游戏开发411
第23章 分层式AI设计411
23.1 基本回顾411
23.2 分层式层结构412
23.2.1 重现前述示例413
23.2.2 感知和事件层414
23.2.3 行为层414
23.2.4 动画层415
23.2.5 运动层417
23.2.6 短期决策层(ST)418
23.2.7 长期决策层(LT)418
23.2.8 基于位置的信息层418
23.3 BROOKS包容式体系结构419
23.4 游戏层次分解419
23.4.1 目标419
23.4.2 分层式超级玛莉420
23.4.3 AI怪物的实现420
23.4.4 AI玩家的实现424
23.5 小结427
第24章 AI开发中普遍关心的问题429
24.1 有关设计的问题429
24.1.1 数据驱动系统设计时需考虑的问题429
24.1.2 “一根筋”(OTM)综合症431
24.1.3 多细节层次(LOD)AI432
24.1.4 支持AI434
24.1.5 通用AI设计思想435
24.2 有关娱乐的问题436
24.2.1 所有重要的趣味性因素436
24.2.2 随机感437
24.2.3 一些令AI系统看上去非常愚蠢的因素438
24.3 有关产品的问题439
24.3.1 保持AI行为的一致性439
24.3.2 提前思考游戏参数的调试问题440
24.3.3 预防AI系统的未知行为440
24.3.4 注意设计人员工具使用方式的差异性441
24.4 小结441
第25章 调试443
25.1 AI系统的通用调试443
25.2 可视化调试443
25.2.1 提供各种信息443
25.2.2 有助于调试444
25.2.3 时序信息444
25.2.4 监视状态转变444
25.2.5 有助于控制台调试444
25.2.6 调试脚本语言444
25.2.7 双功能影响图444
25.3 Widget445
25.3.1 实现445
25.3.2 BasicButton448
25.3.3 Watcher449
25.3.4 RadioButton449
25.3.5 OnOffButton450
25.3.6 ScrubberWidget451
25.3.7 程序集成452
25.4 小结456
第26章 总结与展望457
26.1 AI引擎设计总结457
26.2 AI游戏的未来展望457
附录 有关CD-ROM的说明459