AI游戏引擎程序设计PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)施瓦布著
- 出 版 社:北京:清华大学出版社
- 出版年份:2007
- ISBN:730216312X
- 页数:459 页
第Ⅰ部分 概述 3
第1章 基本定义与概念 3
1.1 什么是智能 3
1.2 什么是游戏AI 3
1.3 什么不是游戏AI 6
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 更好的队员AI 65
4.5.5 更好的敌人 66
4.5.6 完全真实的市镇 67
4.6 小结 68
第5章 冒险类游戏 69
5.1 通用AI元素 70
5.1.1 敌人AI 70
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 高层战略性AI 78
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 层次化AI 82
6.2.5 规划 82
6.2.6 脚本 82
6.2.7 数据驱动AI 83
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 更好的分队AI 101
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 教练或团队级别AI 124
10.1.2 玩家级别AI 124
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 轨迹AI 140
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 对手AI 156
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 层次化FSM 215
15.6.2 基于消息和事件的FSM 216
15.6.3 具有模糊转换的FSM 216
15.6.4 基于堆栈的FSM 216
15.6.5 多重并发FSM 217
15.6.6 数据驱动FSM 217
15.6.7 惯性FSM 218
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 添加Saucer 232
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 有限数量当前状态的FuSM 243
16.7.2 作为角色支持系统的FuSM 243
16.7.3 在较大FSM中作为单一状态的FuSM 244
16.7.4 层次化FuSM 244
16.7.5 数据驱动FuSM 244
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 智能脚本IDE 294
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)AI 432
24.1.4 支持AI 434
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 Widget 445
25.3.1 实现 445
25.3.2 BasicButton 448
25.3.3 Watcher 449
25.3.4 RadioButton 449
25.3.5 OnOffButton 450
25.3.6 ScrubberWidget 451
25.3.7 程序集成 452
25.4 小结 456
第26章 总结与展望 457
26.1 AI引擎设计总结 457
26.2 AI游戏的未来展望 457
附录 有关CD-ROM的说明 459
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019