简评游戏人工智能相关的中文书

http://blog.csdn.net/gzlaiyonghao/article/details/4553567


http://blog.csdn.net/gzlaiyonghao/article/details/4557082


赖勇浩(http://laiyonghao.com)

引言

因为心中的傻傻的梦想,高考我报了计算机专业;也因为傻傻的梦想,我在大学年代阅读了好些关于人工智能的图书;也因为傻傻的梦想,在工作后我把兴趣灌注到游戏人工智能领域,却因为网络游戏几乎不需要AI 而抱憾。

把手上的 MMO 项目的服务器端架构设计和实现了一个版本之后,终于有机会去做一下真正的 Game AI 了,这个格斗型的网络游戏除了在网络实时性的要求很高之外,也需要强大的 AI,对我而言,实在是不可多得的好项目。

终于有机会做梦想中的事情,当然要认真对待。我把自己收藏的和图书馆能够借到的GameAI 的书都弄到手头上,虽然基本上全部都读过一遍了,但真正动手,还是手边有个参考,心里更定一些。再去浏览了几天之后,我觉得有必要把我对这几本书的认识都写下来,这样一来自己更能够记住主要内容,另一方面也可以给其他像我这样有着“傻傻的梦想”的青年参考。

注:以出版日期为序

又注:不要向我索取这些书的电子书。

人工智能游戏开发——创造具有学习和反应能力的角色

2004 年 12 月第一版

这本书一听名字,就有一种很牛的感觉上来。作者 Alex J.C 绝对是 Game AI 领域的泰斗,他在很多个游戏论坛上发表关于 Game AI 的演讲,也是一位资深撰稿人,同时也是 AI-depot 和 aigamedev.com的创造人。这本书是他早期在这个领域上的思想和经验之总结,基于 FEAR 开源项目(项目创建人就是 Alex),所以读者可以很容易地动手去实验书中的内容。

这本书的卓越之处在于它绝不是一本只会讲讲寻路、状态机和脚本的泛泛之作,而是自成一个体系,组织了一套自己的 Game AI 开发方法学。因为 FEAR 项目又基于 Quake2,所以它在 FPS 游戏中的 AI 需求讲得相当出色,在感知、决策,以及模糊逻辑和不确定性状态机等领域可以说是做到了深入浅出,而分层状态机仍然被当今的大多数游戏开发者视为 AI 杀手锏。

这本书的可怜之处在于它被北京希望出版社拿到中文版权,这是一家对外文书毁书不倦,对中文书毁人不倦的出版社,在网上也找不到一点关于译者(陈贵敏、冯兰胜、李萌萌)的蛛丝马迹。翻开书,大片大片的翻译错误,绝对不忍卒读,你要是买了这本书,一定会气得吐血,不过不知道 Alex 有没有气到吐血?

对于想读原版的朋友,可以在网上下载到电子书,chm 格式和 pdf 格式的都有。但是要有心理准备的是 Alex 行文颇为难懂,他很喜欢用长句和用典,我读英文版读得颇为头大,还是很希望国内有出版社能够在希望出版社的版权到期后买回来重新翻译,那样将是中国游戏业之福。

推荐度:中文版,两星;英文版,四星

人工智能游戏编程真言

2005 年 1 月第一版

这是一本名符其实的书,由 Steve Rabin 主篇,记忆中 Steve 是 Nintendo 美国的 AI 工程师,这是个专攻机器人学的家伙,有超过 10 的视频游戏开发经验,至少参与过 3 款已经发布的游戏的 AI 实现,他为《游戏编程精粹》系列图书写了很多篇在 Game AI 领域的文章,质量相当高。这本书是作为《游戏编程精粹》的分枝而成的,所以质量上乘,按前言的说法就是“很好地证明了游戏中的人工智能是一件严肃的事情,不再是游戏开发后期的修修补补”,这句话真让人动心。

就像《游戏编程精粹》一样,本书也是一个论文集,有许多知名游戏开发厂商的知名开发工程师为这本书撰稿,其中就包括上一本书的作者 Alex。与其它书不同,这本书绝对是“提高篇”,没有一定的 Game AI 编程经验的话,只能用这本书打开打开眼界罢了。从目录中随便摘取几个节名,你就能想像到它的份量:通用触发器系统、有限状态机的图形化开发工具、如何实现闪电般快速的 A*、门升降机壁架和各种障碍物的导航、利用导航点的战略战术推理、采用指挥等级的战术的团队人工智能、实现一种状态机语言、RTS 游戏中目标指引推理的经济学方法、开放式街道环境下的竞争智能竞赛、为非程序员开发脚本语言、使用 N 元文法的统计模型预测游戏者行为。这些,只是冰山一角而已。

毕竟是清华大学出版社的书,这本书的中译本中规中矩,似乎我还在网上看到过本书的堪误表,比较难得,是一本值得有志于搞搞 Game AI 的朋友收藏一本的书,就是不知道现在市面上还有没有得买。这本书后来出了一个系列,共4本,也建了一个网站 www.aiwisdom.com,值得时常去逛一下。

推荐度:中文版,四星;英文版,四星

游戏编程中的人工智能技术

2006 年 5 月第一版

照例先介绍一下作者,Mat Buckland 也是一个牛人,他牛在大学时读计算机科学,毕业后去做了多年的风险管理咨询顾问,传说他厌倦了金融行业的金钱游戏之后一把火烧掉了所有正装,去干薪水少得多的游戏开发工作了。果然牛人做哪行都牛啊,没有办法的事情。他写书也很出色,跟前面介绍过的 Alex 不同,Mat 行文非常平实,他的书的英文版本也很容易读懂,对于我等英文半吊子的程序员来说,实在是个福音。

这本书写得很好,但书里讲的东西要么你已经懂了,要么你在工作中“永远”用不着。这本书可以大体上分为三部分,第一部分是 Windows 编程基础,这一部分写得很好的,如果你还不懂 Windows 编程,从这里入手也是一个不错的选择呢。接下来内容才跟 AI 关系,又可以分为两部分:遗传算法和人工神经网络。话说 Mat 真的是个牛人,文章写得好到译者吴祖增把关于 GA 的一部分内容翻译后放到自己的个人网站上,现在成了中文网站上关于 GA 的流传最广的最受好评的教程呢。所以关于 ANN 的部分质量如何,我也无需多言了。

这本书的遗憾之处是中国鲜有开发视频游戏的厂商,如果是网络游戏,那是万万用不上 GA 和 ANN 的,因此大家买来开开眼界足矣。

译者吴祖增是游戏业内人士,所以不会出现什么专业名词乱译的低级错误,当然文采之类的也不能有太高的要求了,如果觉得自己以后有机会去外企做视频游戏或认为中国很快就会有厂商开发单机游戏,你有机会实践里面的知识,也可以买来储备。

推荐度:中文版,三星半;英文版,四星


好啦,太晚了,以后再接着写……


游戏开发中的人工智能

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% 的“实践”内容能让读者有多少东西可以动手,或者说能够动得起手来?

从书来看,作者的见识是无需怀疑的,但全书的内容基本上停留在介绍的层面,没有深入的理论,也没有发挥自带实验平台的优势,让读者能够多多动手。在翻译上,也没有出彩之处,小的翻译错误仍然随处可见,还好,不置于太影响阅读。

推荐度:中文版,三星半,英文版,没读过,不评价

人工智能游戏编程案例精粹 

Programming Game AI by Example   http://www.amazon.cn/gp/product/B0099JK31O

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 的内容让人大感受用之外,如何设计正交的系统、如何编写更加面向对象的架构,这本书也能给大家意想不到的收获。

推荐度:中文版,四星半;英文版,四星半


嗯,好了,与游戏人工智能相关的中文书七本,就评价完了。在写这篇博客的过程中,我又想起了一些跟游戏人工智能有关的书,但又不是这方面的专注的,我将另写一篇博客介绍之,敬请期待。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值