简评游戏人工智能相关的中文书(下)
赖勇浩(http://laiyonghao.com)
游戏开发中的人工智能
2006 年 9 月第一版
AI for Game Develpoers 应该算得上一本质量在中等偏上的书,可惜的是即使中文版是由 O’Reilly Taiwan 公司编译,中文版的质量依然差强人意。小的翻译错误就不提了,只让你猜一下“描述式AI及描述引擎”是什么?纠结吧,告诉你,是“脚本化AI和脚本引擎”。里面关于脚本的翻译全部错了。
这本书基本上按操控、寻路、脚本、状态机、模糊逻辑,然后讲到ANN 和 GA 的套路来写的,比较出彩之处是补充了一章概率,使得在介绍贝叶斯技术的时候平缓了学习曲线,里面介绍规则式 AI 的部分也颇能为有经验的 Game AI 人士一些参考,特别是想重构之前的 AI 引擎的话。
第一作者 David 也是《游戏开发中的物理学》一书的作者。这两本书现在都由东南大学出版社出了影印版和中文版,据我看这本中文的经验,我觉得有兴趣的还是去买影印版来看吧,用来入门还是颇为不错的。
推荐度:中文版,三星;英文版,三星半
游戏人工智能——计算机游戏中的人工智能
2007 年 6 月第一版
这本小册子很有意思,但有意思的不是它本身的技术与知识,而是关于作者、校对和译者的八卦。这本书的作者署了个中文名:方约翰,然后才用小括号包起一个英文名,之所以会这样,是因为他是校对者涂晓媛的丈夫,作为中国人的女婿,有个中文名很正常了。这个涂晓媛女士,google 一下的话会知道她相当有份量,在1996年获国际计算学会acm最佳博士论文奖,她的获奖论文题目就是“人工动物的计算机动画”(artificial animals for computer animation: biomechanics , locomotion, perception and behavior)。据说涂晓媛是第一位也是迄今唯一一位获此殊荣的中国学者,她有一个主页:http://www.dgp.toronto.edu/~tu/,有兴趣的可以去看看。后来离开学术界之后,她和丈夫创建了 AiLive 这家公司,关注 Game AI 等领域。她的父亲是中国人工智能学会理事长、北京科技大学涂序彦教授,所以像这样一本书也在国内有人翻译出版颇让人寻味了。
除了这本书,另一本方博士的博士论文也在国内出了中文版,那本书我曾在图书馆打过照面,薄薄一本,已经不记得说些什么,就不多言了。但这本书我手上却有一本,也读过了,倒是可以多说两句。本书的英文版名为:Artificial Intelligence For Computer Games: An Introduction,我觉得还是相当得当的,就是不知道北京邮电大学的老师李睿凡、郭燕慧是不是年纪太大,老眼昏花,硬是能把 Introduction 视而不见,弄出一个如此可笑的译名。这本书在内容上可以说是开卷有益,介绍了一个游戏 AI 引擎的基本架构,其仿真器、控制器和渲染器的架构是很为灵活的。如果是从头开始规划一个 AI 引擎,这种设计有借鉴意义,如果是在已经开发的游戏引擎上做一些 AI 功能,你又照本宣科,就只怕给自己招麻烦了。
另外照例说说翻译的情况,因为书是由在校师生翻译的,所以一些经典的游戏名称、一些游戏界的术语都译错了,关于技术方面的译法倒还算可以接受。最让人受不了的是这本书顶了个“智能科学与技术本科专业系列教材”,这样一本小册子成了一本教材,联想到作者的泰山大人的地位,不禁让人对国内学术腐败浮想联翩。
推荐度:中文版,两星半;英文版,没读过,不评价
AI游戏引擎程序设计
2007 年 11 月第一版
据封底介绍,作者 Brian Schwab 有十几年的开发经验,曾在 DreamWroks 做过 AI 程序设计,现在是 Sony娱乐公司的资深 AI 程序员,从作者看,书的技术含量应该不错。书中的第一部分是对 AI 的一个介绍,还引入了自己的 AI 实验平台,因为这个平台的存在,所以很多代码都可以让读者自己动手实践,还是不错的。第二部分花了一百多页来介绍各种类型的游戏中的 AI 实现,作者的确是见多识广,里面包含了不少经典游戏关于 AI 的代码片段,如果有耐心读完,应该有一些收获。从第三部分起,终于开始介绍常用的 AI 技术,比如状态机、模糊状态机、消息系统、脚本等。第四部分仍然落入俗套,介绍 ANN 和 GA,还扯了一下人工生命这种高端话题。第五部分终于进入了所谓的实践开发,但不知道仅占全书篇幅 10% 的“实践”内容能让读者有多少东西可以动手,或者说能够动得起手来?
从书来看,作者的见识是无需怀疑的,但全书的内容基本上停留在介绍的层面,没有深入的理论,也没有发挥自带实验平台的优势,让读者能够多多动手。在翻译上,也没有出彩之处,小的翻译错误仍然随处可见,还好,不置于太影响阅读。
推荐度:中文版,三星半,英文版,没读过,不评价
人工智能游戏编程案例精粹
2008 年 6 月第一版
哈哈,又一本 Mat Buckland 的书,就像我在书评(上)篇(http://blog.laiyonghao.com/2009/09/book-reviews/374)中介绍的一样,Mat 的书写得非常平实,行为简单,但技术含量充足,而且学习曲线非常平缓,动手的机会也相当多。在 2005 年我初见这本书的英文版《Programming Game AI by Example》时,我就深信这本书是我一直在寻找的书。如果你也是一个想进入 Game AI 开发领域的朋友,那么这本书绝对不容错失;古人说半部论语治天下,这本书虽然达不到这样的高度,但读完之后,绝对能够胜任大部分 AI 开发工作,如果再把《AI Game Programming Wisdom》四册啃掉,我觉得绝对可以搞定遇到的所有难题吧。
书中首先介绍游戏角色的基本属性(包括速度、质量等物理属性)及常用数学方法。接着,深入探讨游戏智能体状态机的实现。通过简单足球游戏实例,本书给出用状态机实现游戏AI的例子。在图论部分,本书详细介绍图在游戏中的用途及各种不同的图搜索算法,并用一章的篇幅讨论了游戏中路径规划是如何完成的。此外,本书还对目标驱动的智能体的实现、触发器与模糊逻辑在游戏中的运用进行了讨论。为使智能体行为更加丰富、灵活、易于实现,本书还介绍了游戏脚本语言的优点,并以Lua脚本语言为例进行了说明。
这本书的内容如此之好,所以我曾经在中文版还没有出版的时候,自己去作者的个人网站 ai-junkie.com 把他用来宣传本书的关于有限状态机的章节翻译出来放到自己的博客里(http://blog.csdn.net/lanphaday/archive/2007/06/24/1664369.aspx),现在成为了我的博客访问量最大的一个专题。
这本书读起来相当容易的,译者罗岱也译得比较用心,至少我没有发现多少让我忍受不了的错误,这是我目前看过的关于 AI 的最好的一本书。除了对 Game AI 的内容让人大感受用之外,如何设计正交的系统、如何编写更加面向对象的架构,这本书也能给大家意想不到的收获。
推荐度:中文版,四星半;英文版,四星半
嗯,好了,与游戏人工智能相关的中文书七本,就评价完了。在写这篇博客的过程中,我又想起了一些跟游戏人工智能有关的书,但又不是这方面的专注的,我将另写一篇博客介绍之,敬请期待。