内容简介
智能和多样化是一个成功游戏的重要元素。本书将通过不同游戏类型的人工智能示例帮助读者进入游戏AI编程,通过C#语言实现新、前沿的算法,终使游戏通过有趣的人工智能设计增加更好的玩家体验。同时,本书将带领读者以不同的方式思考人工智能。
目录
目 录?Contents
译者序
前言
关于作者
第1章 不同的问题需要不同的解决方案 1
1.1 游戏AI解决方案的历史简述 1
1.2 电子游戏中的敌人AI 2
1.3 从简单到聪明的类人AI 3
1.4 视觉和声音的感知 4
1.5 总结 5
第2章 可能性图与概率图 6
2.1 游戏状态 6
2.2 可能性图 7
2.2.1 怎样使用可能性图 7
2.2.2 准备一个可能性图(FPS游戏) 8
2.2.3 创建一个可能性图(FPS游戏) 9
2.3 定义状态 10
2.3.1 防守状态 12
2.3.2 进攻状态 13
2.3.3 可能性图小结 16
2.4 概率图 16
2.4.1 怎样使用概率图 17
2.4.2 接下来做什么 19
2.5 总结 19
第3章 产生式系统 20
3.1 自动有限状态机 22
3.2 基于效用的函数 26
3.3 游戏AI的动态平衡 36
3.4 总结 37
第4章 环境与人工智能 38
4.1 视觉交互 39
4.2 基本环境交互 40
4.2.1 移动环境中的物体 40
4.2.2 环境中的障碍物 48
4.2.3 用区域阻断环境 52
4.3 高级环境交互 54
4.3.1 适应不稳定的地形 55
4.3.2 使用射线检测评估决策 56
4.4 总结 58
第5章 动画行为 59
5.1 2D动画与3D动画的对比 59
5.1.1 2D动画-精灵 59
5.1.2 3D动画-骨骼结构 61
5.2 动画状态机 62
5.3 平滑过渡 78
5.4 总结 79
第6章 导航行为和寻路 80
6.1 导航行为 80
6.1.1 选择新的方向 80
6.1.2 点到点的移动 90
6.2 总结 123
第7章 高级寻路 124
7.1 简单寻路与高级寻路 124
7.2 A*搜索算法 126
7.3 总结 149
第8章 群体交互 150
8.1 什么是群体交互 150
8.2 电子游戏与群体交互 151
8.2.1 《刺客信条》 151
8.2.2 《侠盗猎车》(GTA) 152
8.2.3 《模拟人生》 152
8.2.4 FIFA/实况足球 153
8.3 规划群体交互 154
8.3.1 小组战斗 154
8.3.2 通信(警告区域) 157
8.3.3 通信(与其他AI角色交谈) 160
8.3.4 团队竞技 161
8.4 群体碰撞避免 169
8.5 总结 171
第9章 AI规划与碰撞避免 172
9.1 搜索 172
9.2 总结 189
第10章 感知 190
10.1 潜入类游戏 190
10.2 关于战术 190
10.3 关于感知 191
10.4 实现视觉感知 191
10.5 总结 225
前言/序言
Preface?前 言游戏开发对有些人来说充满了激情,我相信这是因为,我们可以创造一个完全由我们想象出来的世界。这有点像开创一个新的世界,我们放置的AI角色就像是这个世界的居民,他们生活在我们创造的这个世界里。我们可以自由地想象他们的行为,基于想象创造一个社会体系,创造一个甜美又温柔的角色,也可以创造一个前所未有的恶魔——这种可能性是无限的,这也是为什么我们总是冒出新的游戏创意来。无论我们打算做什么类型的游戏,这个世界和这些角色都是我们将会看到的基本要素,我们的游戏也因此独一无二。理想情况下,我们应当能够将脑海中所有的东西都原封不动地创造出来。本书就是想达到这个目的——让所有人都能够实现自己的想法,而不应当约束我们的想象力,因此本书将会涵盖创造人工智能角色的基础。当你读完以后,我们可以继续深入探索这些你学过的主题,创造出完全符合我们想象的AI角色。
本书内容第1章是对电子游戏产业与游戏AI的综述。
第2章重点介绍如何创建和使用AI的可能性图和概率图。
第3章描述了怎样对AI角色创建一系列必要的规则以实现其目标。
第4章聚焦于游戏中的角色与他们所处环境之间的交互。
第5章展示了在游戏中实现动画的最佳实践。
第6章主要讨论实现实时计算的AI移动方案的最佳实践。
第7章主要介绍使用A*算法寻找最短路径。
第8章主要讲述在当同一场景中有大量角色时,AI应该如何表现。
第9章探讨AI的预期,事先知道当到达某个位置或面对某个问题它们将会做什么。
第10章主要讨论创建潜入类游戏的技术:感知系统。
读前准备推荐安装一个使用C#语言的游戏引擎(Unity3D有免费版本,本书的例子中也使用了它)。
读者对象本书面向的读者是这些开发者:他们已经用C#创作了一个游戏并且在探索用AI扩展游戏内容,从而创建具有自主行为的群体、敌人或是盟友。
下载示例代码你可以从http://www.packtpub.com通过个人账号下载你所购买书籍的样例源码。如果你在其他地方购买了本书,你可以访问http://www.packtpub.com/support并注册账户,相关文档就会直接发送到您的邮箱中。
你也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号,下载本书的源代码。
下载本书彩图我们还提供了一份具有彩色插图的PDF文件,包含了书中的屏幕截图和图表的彩色版。这些彩图会帮助你更好地理解程序输出的变化。可以从以下网址下载:https://www.packtpub.com/sites/default/files/downloads/PracticalGameAIProgramming_ColorImages.pdf。
About the Author?关?于?作?者Micael DaGra?a 是一位游戏设计师以及AR开发者,现居葡萄牙波尔图市。他曾为多个游戏工作室工作,致力于创建与众不同的独立游戏和交互式应用程序。
Micael 的童年伴随电子游戏一起长大,对游戏的热情也从未消去过。因此,在他后来的生活中,他决定学习如何制作游戏。一开始,他没有任何编程或3D动画方面的知识,他便从制作一些简单的游戏开始,在这个过程中每次都学到了更多的游戏制作经验。当游戏可以正常运行并且变得有趣时,他开始计划与一个老朋友合作发布一款游戏。Micael负责游戏的技术方面,确保游戏可以按照预期进行开发,而他的朋友则负责游戏的所有美术工作。最终,游戏成功发布,并获得了其他独立游戏开发者的一些积极反馈。由于游戏产生了一些收入,成为游戏设计师的梦想也随之变成了现实。
现在,Micael为其他工作室工作,帮助他人实现他们的游戏创意,并整合了一家专注于制作游戏以及开发健康类App的公司。尽管他没有时间继续从事个人项目,但他还有一些在朋友的帮助下仍在开发中的游戏项目。
“我要感谢父母多年来给予我无条件的支持,因为没有他们,我不可能成为一个游戏设计师;非常感谢我的妹妹Alexandrina,感谢她在我最需要帮助的时候帮助我,让我在她的办公室制作游戏,从而使我可以开始做游戏设计师。感谢我的老朋友兼老对手Vicente,逼着我不断突破自己的极限,使我成为一个更好的专业人士。感谢我的女朋友Marta,她的微笑总是让我很开心,她处理好了生活中的每件事,让我可以专注于我的工作。最后,我想把本书献给我的爷爷,是他激励我成为今天的自己。”
游戏AI开发实用指南 下载 mobi epub pdf txt 电子书 格式