【内容介绍】     AI(Artificial Intelligencc,人工智能)在游戏中是一个崭新的概 念,如今得到了普遍的关注和重视。人们期望与具有更高智能水平的AI对 手对抗,这促进了游戏AI技术的发展。特别是近来,已经出现了?人类玩 家的游戏风格和反应的AI对手,为游戏问题提供创造性解决方案的AI对手 ,甚至还出现了具有人类心情和情感的AI对手。 本书为游戏开发人员创建现代游戏的AI引擎提供了工具和必要的指导 。带领读者从理论入实际的游戏开发,并给出可用的代码框架,详细说明 技术的实现方法。另外,该书综合阐述了不同技术的使用范围,并囊括了 普遍存在的瓶颈、设计上应该考虑的问题以及优化策略。所有这些内容对 游戏AI引擎开发人员都是必不可少的参考资料。  
现在市面上关于一般游戏编程的书还不多,而关于“游戏人工智能(Game Artificial Intelligence,游戏AI)”编程的书则更少。本书将为读者介绍4个方面的内容,这些内容都是目前市面上的游戏编程书籍较少涉及到的。 (1) 对“游戏AI”进行清楚的定义。很多书本使用一个概括的或非常宽泛的概念来对AI这个术语进行解释,这样不仅会使读者对解答感到不满意,而且还可能加深对AI的“神秘”感,而AI在一般大众和行业人士的常识中是一个非常普遍的词汇。这里,将游戏AI问题划分成确实符合真实AI解决方案的若干部分来考虑。 (2) 对AI元素和解决方案按游戏类型进行分解。很多书本仅仅依赖于一种类型的游戏,或一个有限的示例程序。本书将大多数现代游戏类型进行分解,并以实际发布的名称给出AI使用技巧的具体示例。通过了解不同游戏类型的AI范例选择背后的基本思想,读者将会对范例本身有更多理解。 (3) 对大多数通用的AI范例进行代码实现。在本书的后几章中,对于每种AI技术都会给出真实代码,这包括以框架的形式和作为真实示例应用的一部分。本书将会对代码进行分解,并对其进行充分的讨论,以帮助说明系统的实际处理过程。 (4) 对未来改进方向进行讨论。对于每种游戏类型和AI技术,本书都会给出系统如何扩展的示例。这将通过两种方式来完成:指出当前游戏和经典游戏中的一般的AI缺陷;详细给出在空间、速度或其他限制条件下实现系统最优的方式。 本书总揽 本书第Ⅰ部分是对游戏AI的一个概述,它涵盖了贯穿于本书的基本术语,对游戏AI中的几个基本概念进行了探讨,并详细分析了游戏AI引擎的基本系统。第Ⅱ部分对具体的游戏类型以及它们如何使用不同的AI范例进行了讨论。尽管本书并不是包罗万象的(即详细论述每种游戏是如何实现的),但它将对各种类型游戏提出的问题的更一般解决方案进行讨论。第Ⅲ部分给出了基本AI技术的真实代码实现。而第Ⅳ部分则对高级的AI技术进行了讨论。第Ⅴ部分对许多概念和关注点进行了分解,着重处理“真正游戏AI开发”的各种事项,包括一般的设计与开发问题、作为一个综合范例的“分层式设计AI”(有助于几乎所有AI引擎的组织性)、对AI系统的调试以及AI的未来。 本书读者 本书旨在向游戏开发人员提供设计现代游戏AI引擎所必需的工具,并对当前一些AI引擎上应用的技术进行分析。AI编程是游戏开发过程中一个非常具有挑战性的方向,尽管已经有很多书对一般的游戏相关的数据结构和编码风格进行了阐述,但很少对“游戏AI”这个重要而且技术性又强的学科领域进行专门论述。 本书是为职业的游戏AI程序员,以及有志于将其兴趣领域扩展到AI的程序员专门编写的。如果在决定使用哪种技术上存在困难,或者对一个特定游戏最适合的引擎的工作代码存在问题,或者需要这样的运行代码,那么可以从本书中获取答案。本书将为多种有用的游戏AI技术提供一个简洁而可用的接口。本书将强调主要的决策范例,因此不会对路径搜索(至少不会直接深入研究,事实上很多本书提到的技术都可用于运行一个路径搜索器)或感知等重要的领域进行深入研究——尽管也会对它们进行讨论。 本书假定读者具有C++语言、经典数据结构以及面向对象编程基本知识的应用经验。本书的示例程序是在Windows®平台下用Microsoft Visual C++®编写的,但只有渲染是与具体平台相关的,并且所使用的渲染API是扩展到OpenGL中的GLUT。因此,如果需要,可以很容易地移植到另外的系统。可参见光盘中关于GLUT和OpenGL的信息。 读过本书之后,读者将对作为一个游戏AI程序员必备的知识结构有个充分的了解。游戏类型的介绍将使得程序员能够了解在给定产品和时间表的情况下,如何从头至尾地构造一个AI系统。本书的代码涵盖了非常宽广的游戏类型,几乎可以构造任意类型的AI系统,并将详细说明如何将这些技术综合应用到更复杂和可用的具体游戏AI引擎中。