游戏AI开发实用指南

游戏AI开发实用指南 pdf epub mobi txt 电子书 下载 2025

[葡萄牙] 麦克·达格雷斯(Micael DaGra?a) 著,杨奕 马遥译 译
图书标签:
  • 游戏AI
  • 人工智能
  • 游戏开发
  • Unity
  • Unreal Engine
  • 行为树
  • 寻路算法
  • 机器学习
  • 深度学习
  • 路径规划
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111589402
版次:1
商品编码:12325480
品牌:机工出版
包装:平装
丛书名: 游戏开发与设计技术丛书
开本:16开
出版时间:2018-03-01
用纸:胶版纸
页数:236

具体描述

内容简介

智能和多样化是一个成功游戏的重要元素。本书将通过不同游戏类型的人工智能示例帮助读者进入游戏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开发实用指南》 内容简介 《游戏AI开发实用指南》并非一本介绍特定游戏AI算法或技术实现的教材,而是一本聚焦于构建高效、可维护、易于扩展的游戏AI系统的架构设计和开发流程的著作。本书旨在为游戏开发者提供一套系统性的思考框架,帮助他们理解在复杂的游戏环境中,如何才能设计出既能满足玩家体验需求,又能兼顾开发效率和迭代灵活性的AI。 本书的核心观点在于,优秀的游戏AI不仅仅是算法的堆砌,更是对游戏机制、玩家行为、系统性能以及团队协作的深刻理解和有效整合。它强调从宏观层面出发,将AI视为游戏整体不可分割的一部分,并在整个游戏开发生命周期中贯穿始终。 第一部分:游戏AI的哲学与定位 在开始深入技术细节之前,本书首先会探讨游戏AI的本质和它在游戏开发中的战略地位。我们会从以下几个维度深入剖析: AI的定义与误区: 区分“智能”AI与“功能性”AI。很多时候,游戏AI并非追求模拟人类的通用智能,而是要通过巧妙的设计,提供逼真、有趣、有挑战性的交互体验。我们会讨论“模拟”与“表现”之间的界限,以及如何在有限的资源下实现最佳的玩家感知。 AI与游戏设计的协同: AI不是独立于游戏玩法而存在的。本书将详细阐述AI如何服务于游戏的核心乐趣,如何通过AI的行为来引导玩家、塑造叙事、增加游戏的深度和重玩价值。我们将探讨AI在不同类型游戏(如RTS、RPG、FPS、模拟经营等)中的独特作用和设计考量。 AI的性能考量与权衡: 任何AI系统都必须在可接受的性能范围内运行。本书将介绍在游戏开发中,性能始终是AI设计中一个至关重要的约束。我们会讨论如何在复杂性和性能之间找到平衡点,以及如何通过架构设计来优化AI的执行效率。 AI的迭代与演进: 游戏开发是一个持续迭代的过程,AI也应如此。本书将强调AI系统的灵活性,以及如何设计能够方便修改、测试和更新的AI,以适应不断变化的游戏设计需求和玩家反馈。 第二部分:AI架构设计原则 本书将重点介绍构建健壮、可维护AI系统的架构设计原则。这部分内容是本书的基石,它指导开发者如何组织和管理AI相关的代码和逻辑: 模块化与组件化: 提倡将AI系统分解为独立的、可重用的模块和组件。我们将深入探讨如何设计这些模块,例如行为树、状态机、决策树、感知模块、导航模块、目标管理模块等,并解释它们各自的优缺点以及适用的场景。 数据驱动的设计: 强调将AI的“智能”部分与游戏数据分离,使得AI的行为可以通过配置和数据来调整,而无需修改核心代码。我们将介绍如何设计易于管理和修改的AI数据结构,以及如何利用这些数据来驱动AI的行为。 分层与抽象: 介绍如何通过建立不同层次的AI抽象来简化复杂性。例如,从低级的感知和移动,到中级的战术决策,再到高级的策略规划。我们将讨论如何设计清晰的接口和通信机制,使得不同层次的AI组件能够有效地协同工作。 面向对象与实体组件系统(ECS)在AI中的应用: 探讨如何在AI开发中运用面向对象设计原则,以及现代的ECS架构如何为AI系统的构建带来新的可能性,例如在处理大量AI实体时的性能优势和灵活性。 AI的通信与协作: 在多AI互动的场景中,AI之间的通信和协作至关重要。本书将介绍设计AI群体行为、合作机制、博弈策略等的设计思路和实现方法。 第三部分:关键AI子系统的设计考量 在理解了宏观架构之后,本书将深入探讨几种游戏AI中常见的关键子系统的设计和实现要点,但不是直接提供代码实现,而是侧重于设计思路和技术选择: 感知系统: 信息获取: 如何让AI感知游戏世界中的各种信息,包括视觉、听觉、触觉等模拟。 信息处理与过滤: 如何有效地处理海量的信息,过滤掉不相关的干扰,提取关键信息。 注意力机制: AI如何分配有限的注意力资源,关注最重要的对象或事件。 决策与规划: 行为决策: 行为树、状态机、效用系统等常用决策模型的深度解析,以及如何根据游戏需求选择和组合。 目标导向的行为: 如何设计AI的目标体系,以及AI如何根据目标来制定和执行一系列动作。 路径寻找与导航: A算法、导航网格、导航代理等在游戏AI中的实际应用和优化技巧。 战术与策略: 如何设计AI在特定情境下的战术应对,以及更长远的策略规划。 运动与控制: 角色动画与AI的融合: 如何让AI的动作与动画系统无缝衔接,创造流畅逼真的角色表现。 受力与物理模拟: AI在物理环境中如何做出真实的反应,例如躲避障碍、应对碰撞等。 高级运动控制: 探讨如PID控制器、模仿学习等在实现更复杂运动行为中的应用。 学习与适应(非通用AI): 简化的学习机制: 讨论在游戏AI中可以实现的、易于实现且有实际效果的学习和适应机制,例如基于表现的参数调整、基于经验的回避等,而非复杂的深度学习模型。 玩家行为的学习: 如何通过学习玩家的行为模式来调整AI策略,以提供更具挑战性或更有趣的体验。 第四部分:AI开发流程与实践 本书将结合实际的游戏开发流程,讲解如何有效地进行AI的开发、测试和优化: AI需求的定义与规格化: 如何从游戏设计文档出发,准确理解AI需要实现的功能和达到的效果。 AI的原型开发与快速迭代: 强调快速验证AI想法的重要性,以及如何通过原型来收集反馈和优化设计。 AI的测试与调试: 单元测试与集成测试: 如何针对AI模块进行有效的测试。 场景测试与回放: 利用游戏场景来测试AI在不同情况下的表现。 AI行为分析与可视化: 介绍调试AI行为的常用工具和技术,帮助开发者快速定位问题。 AI的性能分析与优化: 性能瓶颈的识别: 如何利用性能分析工具找到AI系统的瓶颈。 常用优化策略: 介绍各种代码、算法和架构层面的优化技巧。 团队协作与AI工具链: AI设计师与程序员的协作: 强调跨职能团队的有效沟通与配合。 AI编辑器与可视化工具: 介绍如何利用现有的工具或开发自定义工具来提升AI开发的效率。 第五部分:面向未来的AI发展趋势 在结尾部分,本书将展望游戏AI的未来发展方向,并鼓励开发者保持学习和探索的精神: AI在游戏叙事中的潜力: 探讨AI如何驱动更动态、更个性化的游戏叙事。 更智能的NPC交互: 展望更自然、更富有情感的NPC行为。 AI生成内容(AIGC)与游戏AI的结合: 探讨AI在关卡设计、角色生成等方面的应用,以及它们与游戏AI系统的互动。 机器学习在游戏AI中的审慎应用: 讨论在游戏环境中,如何以务实和有效的方式应用机器学习技术,以及需要注意的挑战。 总结 《游戏AI开发实用指南》并非一本“照猫画虎”式的技术手册,而是一本“授人以渔”的思维指南。它旨在帮助开发者建立起对游戏AI开发的全局观和系统性认知,掌握构建高质量AI系统的核心思想和方法论。本书将通过清晰的逻辑、丰富的案例分析(但非具体代码实现),引导读者理解“为什么”和“怎么做”,最终培养出能够独立设计和实现出满足游戏需求、带来卓越玩家体验的AI系统。它强调的是一种工程化的思维方式,一种面向解决问题的系统性方法,从而让开发者在面对层出不穷的游戏AI挑战时,能够游刃有余,不断创造出令人惊叹的游戏体验。

用户评价

评分

我不得不说,这本书的实操性远超我的预期。许多技术书籍往往在理论讲解上大刀阔斧,但在具体的代码实现和调试细节上却一笔带过,导致读者在实际操作中寸步难行。然而,这本书在这方面做得尤为出色,每一个章节的示例代码都经过了反复的打磨和优化,可以直接复制粘贴到自己的项目中进行测试和修改。作者对于代码风格的规范性也极为重视,这对于团队协作开发尤其重要。在讲解到某些核心功能模块的实现时,书中不仅展示了“是什么”,更细致地剖析了“为什么这样设计”,这种对设计思想的深度挖掘,远比单纯的代码堆砌来得更有价值。阅读这本书的过程,就像是跟着一位经验丰富的导师进行一对一的辅导,每一步的思考路径都清晰可见,让人在不知不觉中提升了解决复杂问题的能力和代码的健壮性。

评分

从排版和印刷质量上来说,这本书的制作水平绝对是上乘之作。纸张的质感厚实适中,墨水的清晰度极高,即便是长时间阅读也不会感到眼睛疲劳,这对于需要长时间面对屏幕和书本的开发者来说,是一个非常贴心的设计。图表的绘制也极其精美和专业,复杂的系统架构图和数据流向图被清晰地分解和可视化,使得原本抽象的概念变得直观易懂。我可以毫不夸张地说,这本书的实体版本在书架上看起来也很有分量感,完全配得上其内容的深度和广度。很多技术书籍在内容上尚可,但在实体呈现上却显得廉价粗糙,这本书在硬件和软件(内容)两方面都做到了极致的平衡,这体现了出版方对知识的尊重。

评分

这本书的装帧设计非常吸引人,封面采用了深邃的蓝色调,配以简洁有力的白色字体,给人一种专业、严谨又不失活力的感觉。初次翻阅时,被其清晰的目录结构所震撼,内容组织得井井有条,从基础理论到高级应用,层层递进,非常适合希望系统学习游戏开发相关技术的读者。作者在开篇部分对于技术选型和开发流程的阐述,显得非常老道和务实,没有过多空泛的理论,而是直击痛点,让人感觉这是一本真正能在实战中用到的工具书。尤其值得称赞的是,书中对不同开发环境的兼容性考虑得非常周全,即便是初学者也能很快找到适合自己的切入点,而经验丰富的开发者也能从中找到提升效率的捷径。书中引用的案例都非常贴近当前主流游戏开发的实际需求,讲解深入浅出,即便是复杂算法也能用通俗易懂的语言加以解释,这一点极大地降低了阅读门槛,让人阅读起来毫不费力,充满了探索的乐趣。

评分

这本书最大的价值在于它成功地搭建了一座理论与实践之间的坚实桥梁。它不是一本只停留在概念层面的“白皮书”,也不是一本只关注特定引擎工具的“操作手册”。它更像是一本关于“如何像一名资深工程师一样思考”的思维训练营。作者不断引导读者去思考代码背后的设计哲学,去理解为什么某些设计模式在游戏领域比在其他软件领域更具优势。当我合上书本,重新审视我过去的一些项目时,我能清晰地看到自己思维上的盲点和可以提升的空间。这本书不仅教会了我如何实现某个功能,更重要的是,它教会了我如何去设计一个健壮、可扩展且易于维护的系统。这对于任何志在游戏行业深耕的专业人士来说,都是一笔无法估量的财富。

评分

这本书的叙事风格非常独特,它不像传统教科书那样板着脸孔,而是带着一种与读者平等对话的亲和力。作者似乎非常了解游戏开发者在学习过程中容易遇到的那些“坑”,因此在关键节点会适时地插入一些“过来人的经验谈”,这些看似随笔的点滴,实则蕴含着宝贵的行业智慧。比如,在讨论性能优化章节时,作者没有仅仅列出优化列表,而是结合具体场景,分析了不同优化手段的适用范围和潜在副作用,这种辩证的看待问题的角度,让读者学会了如何在权衡中做出最佳决策。更令人惊喜的是,书中对未来技术趋势的预测和探讨,也显得十分精准和具有前瞻性,这使得这本书不仅仅是一本解决当下问题的指南,更像是一份面向未来的学习路线图,让人感到视野为之开阔。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有