zoukankan      html  css  js  c++  java
  • 简评游戏人工智能相关的中文书(上)

    赖勇浩(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 的,因此大家买来开开眼界足矣。

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

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


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

  • 相关阅读:
    贝赛尔曲线实现填充不规则图形,并且随手指运动
    当view为wrap_conten时获取一个view的具体宽高
    Scrapped or attached views may not be recycled
    installation failed with message INSTALL_FAILED_INSUFFICIENT_STORG
    RecycleView设置顶部分割线(记录一个坑)
    Java list.remove( )方法需要注意的地方
    JAVA forname classnotfoundexception 错误
    调用android的getColor()方法出现 java.lang.NoSuchMethodError: android.content.res.Resources.getColor
    JSONObject.parseObject
    设置抓包工具Fiddler的host
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154399.html
Copyright © 2011-2022 走看看