游戏脚本高级编程

出版时间:2006-10  出版社:清华大学出版社  作者:瓦兰尼斯 (Alex Varanese)  页数:889  字数:1284000  译者:陈洪  
Tag标签:无  

内容概要

本书引领读者进入程序员们称之为“游戏脚本编程”的全新领域,本书将从概括论述什么是脚本编程以及它是如何实现的开始,阐述游戏编程的理念,根据作者多年的开发经验,使读者掌握使用脚本是把游戏代码和主引擎分离开的最理想的办法,带读者进入神秘的游戏脚本语言世界,学习如何编写脚本语言,编译器理论,享受游戏编程方面的极大乐趣。     本书是游戏开发经典丛书系列之一,适合游戏开发人员、业余游戏软件开发爱好者,也可以作为大专院校相关专业的参考书。

作者简介

Alex Varanese从20世纪80年代中期,也就是在他5岁时就被游戏开发给迷住了,他首先把眼光投向了——带着迷恋和某种不可解释的亲密——8位的任天堂娱乐系统;同时他也对艺术有极大的热情,但是后来才成为一个真正的代码编写者。
现在是eGameZone(http:www.egamezone.net)

书籍目录

第1篇 脚本编程的基本原理  第1章 脚本编程概论    1.1 什么是脚本编程    1.2 结构化的游戏内容——一种简单的游戏设计方法    1.3 通过将逻辑和具体实现相互分离来改善这种方法    1.4 硬编码的危险性    1.5 将功能函数存放到外部文件    1.6 脚本是如何运行的    1.7 脚本系统的基本类型    1.8 总结  第2章 脚本编程系统的应用    2.1  编写脚本的普遍目的    2.2  角色扮演游戏(Role Playing Games,RPGs)    2.3  第一人称射击游戏(First-Person Shooters,FPSs)    2.4  总结第2篇 基于命令的脚本  第3章 基于命令的脚本编程绪论    3.1  基于命令的脚本编程的基础知识    3.2  基于命令的脚本编程综述    3.3  实现一种基于命令的语言    3.4  为一个游戏的介绍顺序编写脚本    3.5  为RPG游戏中某个角色的行为编写脚本    3.6  并发的脚本执行    3.7  总结    3.8  CD上的内容    3.9  挑战  第4章  基于命令的高级脚本    ……第3篇 结构化的脚本编程语言概述  第5章 结构化的脚本编程系统介绍  第6章 对现有脚本编程系统的集成和使用  第7章 设计一个面向过程的脚本编程语言第4篇 设计和实现一种底层语言  第8章 汇编语言入门  第9章 构造XASM汇编器第5篇 设计和实现虚拟机  第10章 汇编语言入门  第11章 高级虚拟机的概念和问题第6篇 编译高级代码  第12章 编译理论概论  第13章 词法分析器  第14章 构造XtremeStcript编译器框架  第15章 语法分析和语义分析.第7篇 完成培训  第16章 应用这个系统开发的一个完整游戏  第17章 从今往后,何去何从

编辑推荐

  《游戏脚本高级编程》是游戏开发经典丛书系列之一,适合游戏开发人员、业余游戏软件开发爱好者,也可以作为大专院校相关专业的参考书。

图书封面

图书标签Tags

评论、评分、阅读与下载


    游戏脚本高级编程 PDF格式下载


用户评论 (总计32条)

 
 

  •   这本书不仅仅介绍了游戏开发中常用的脚本语言,更是教你如何实现一个脚本解释器。全书简单易懂,不过要看完还是要有一定耐心的,呵呵。
  •   获益非浅!!作者的水平是假设你对脚本一点也不了解,从头教你去写一个脚本解释器,虽然有点啰嗦,但是越看会让你对脚本编程理解越深刻!!
  •   本书作者深入浅出~适合初学者和有一定工作经历的读者
  •   非常不错。可以作为学习编译原理的材料看。。比较通俗易懂。。也非常适合学习编译原理的初学者。。
  •   只是虚拟机和汇编器结构上得重构重构,呵呵
  •   刚买来,看了一部份,收获很大。
  •   很不错这种书同类的感觉比较少
  •   由浅入深,写得很好,我正在学。
  •   买了,还没看。。。。
  •   书还可以,就是大错没有,小错不断。审校太不负责任了!!!
  •   看了前几张,还行,没太多感觉,看完再说
  •   看了前面的一些,真的是好书!!我喜欢!!!
  •   书看了一小半,感觉很爽~~
  •   书籍质量不错,送货很快,谢谢
  •   初步的感觉,书是有用的。但翻译者的水平有待提高!
  •   真马虎!没有给我盘啊!我也是马虎,没有检查!郁闷
  •   游戏脚本高级编程,后面的600页左右有2/3都是在说怎样设计及编写一个虚拟机,而不是实实在在的笔述脚本应用编程,与主语言嵌入编程等。
  •   送来的时候,书中夹的光盘是已经折断的!
  •     书还行。不过我觉得光买书还不够,自己学这个又慢又累,想等着学完换工作呢。后来还是去一个猎豹网校报名学了。感觉上网校,还是比自学容易多了。
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
  •      Alex Varanese的《Game Scripting Mastery》是本不可多得的好书,我在网上试读几章后就决定买一本,看了下有中文翻译版的,于是花了70多块钱在网上订购了一本,从此,噩梦开始了。
      
       以前基本没买过清华大学出版社翻译的书,我学C/C++时看的基本都是侯捷老师的作品,不管是亲自撰写还是翻译,侯捷老师都能做到认真二字,每一行代码,每一句翻译稿都经过仔细推敲,甚至还能发现原书的不妥之处,把自己的修改意见放在译文边上做为参考。后来还有买了些李建忠翻译的.Net书籍,着实不错。这让我对市面上的书籍估计的过于乐观,闲话少说,来说这本书吧:
      
       《游戏脚本高级编程》拿到手的第一感觉还是不错的,重新设计了封面,封面上绘有中国气息的龙图案,写着清华大学出版社,北京递归开元教育有限公司审校。我看还有专门的审校公司,质量应该有保证。可是一翻开书,粗粗看了下,就发现有点不对:
      
      本书目录结构就有明显错误,第8章和第10章都叫“汇编语言入门”,而实际上第10章是讲虚拟机的。这个错误可以很容易在卓越网的目录结构上看到。
      英文原版的每页都有精美的图形页脚页尾,中文版的只是白纸黑字。
      英文原版对应的每个关键字都有特殊字体(斜体)表示,而中文版的正文就一个字体过去,并且没有关键词翻译对照表。
      原文中的备注用的是一个精美的方框,黑底白字写上注释,而中文版的就一个简单的注释跟在正文后面。
      做为一本标价99元人民币的书籍,中文版并没有将原文中的图片重新绘制,导致图片显示失真现象很严重,在英文版很清楚的图片,经过了第二次印刷后效果大大不如从前。
      本书的CD-ROM不包括微软提供的DirectX,而是要读者自己去下。
      以上是中文版的书给我的第一感觉,不过我们毕竟是看内容,只要内容好,对于书的包装和排版就别做过多苛求了,因为我对汇编语言比较感兴趣,所以我就先读了第8章,读着读着,实在是读不下去了,很多翻译感觉就像机器翻译出来的,虽然每个汉字都认得,但连在一起就不想到到底是个什么意思,没办法,重新买了本英文的,一对比,恍然大悟,不是我理解能力不行,实在是翻译的太不负责任!我只举8.36这一小节(中文版299页开始,英文版389页开始)做为说明:
      
      中文版:由于堆栈固有的增长和压缩能力,以及严格和顺序的命令用来压入和弹出数据,堆栈已经成为管理顺序变化数据(也就是函数调用的剧烈行为)的典型数据结构。 不知道各位看到上面这段翻译是什么感受,我反正是一头雾水。什么叫“顺序变化数据?”什么叫“函数调用的剧烈行为?”看原文吧:The stack, due to its inherent ability to grow and shrink, as well as the rigid and predictable order in which data is pushed on and popped off,make it the ideal data structure for managing frequently changing data—namely, the turbulent behavior of function calls. 于是一切都清楚了,所谓的“顺序变化数据”正确意思应该是“经常变化的数据”,再具体一点,指的是函数调用时,需要传递给堆栈的返回地址,参数,返回值等等,你也许还需要处理函数中的局部变量,所以数据是frequently changing 的。而不是什么“顺序变化”!
      如果上面这个例子让你一头雾水的话,下面这个例子就让你觉得莫名其妙。这个例子是介绍堆栈的两个基本操作PUSH和POP,我们先看英文版吧:Push accepts a single value and pushes it onto the stack. Pop accepts a single memory reference and pops the top stack value into it.这段话在中文版被翻译成:压入操作接收一个值并把它压入堆栈。弹出操作会弹出堆栈顶部的值并把它赋给一个内存引用作为自己的返回值。 这时候容易让人疑惑的是,翻译最后的“作为自己的返回值”这句话是从哪来的?大家都该清楚Pop语句只是将栈顶元素赋值给那个接收的参数,并没有什么返回值!。此外这种Push和Pop这种单词,一般正规的默认不翻译,保持英文更让人容易理解。而返回值(return value)这个单词在本章中特指函数的返回值,估计被人翻混了。
      好了,上面两个翻译如果你说我强词夺理的话,这次看的这个错误也许是个人都不能容忍了:英文原版:Call is a lot like Jmp in the sense that it causes the flow of execution to branch to another instruction.However, in addition to simply making an unconditional jump, it also pushes the current instruction index (which is its own index, as well as the return address) plus one onto the stack. It adds one to its own address to make sure the function returns to the following instruction, not itself;otherwise you’d have an infinite loop on your hands.,在中文版中被翻译成:Call使得执行流分支到另外一个指令,从这个意义上来说很想Jmp。然而,除了做了一个简单的非条件跳转之外,同时还把当前指令的索引(是它自己的索引,也是返回地址)压入堆栈。它把自己的地址压入堆栈来确保函数返回到下一条指令,而不是自己,否则的话就造成了一个无穷循环。问题来了,英文原版红色的plus one在中文版的翻译中哪去了?英文原版的意思是当发生函数调用时,Call指令会把“当前指令的索引+1”做为函数返回值压入堆栈,这样函数退出时,就执行堆栈中的“当前指令的索引+1”的指令。可翻译中却把+1漏掉了,这不正是造成死循环的原因吗?
      其他的翻译晦涩,翻译错误还很多,比如书中后来提到了堆栈对返回地址(return address)的处理,以及堆栈对函数返回值(return value)的处理。对照英文原版可以看到,中文版至少有两处把return value 和return address翻译混淆,本该是“返回地址”的地方翻译成了“返回值”。
       基于以上原因,我决定再买一本英文原版(因为这本书的确值得买,值得细看),同时奉劝各位还是打开金山词霸看英文原版吧,最多也就是单词不认识。看中文版只会让你一头雾水。另外,开始怀念看侯捷老师书的日子,怀念那种和作者一起交流,一起学习人类智慧结晶的喜悦。而不是面对一堆翻译出来像机器翻译的,毫无生气的文字。对于本书的翻译,我只能用一句话形容--用google翻译吧,也许效果还好点!
      
      
  •     虽然代码罗唆了一点,不过写的scirpt VM思路还是很有意思的,其实当年大学里的编译原理就应该这样教。。。
      不知道有没有中文译本,可以做不错的编译原理教材。不过估计销量不会太好,国内功利的环境,让一般技术人员没有耐心研究这类一时用不上的东西。
      如果你对实现自己的script VM没有兴趣,也可以看一看里面的一章,讲如何整合python, lua或者TCL进自己的系统,写的深入浅出
  •   同感,大部分翻译过来的经典著作都有点让人猜不忍睹的感觉!!!
  •   还在看中,清华的 给我最好印象的就是c的那本 不过不是翻译的 翻译的感觉看上去都是会看死我的 象过几天要考试的体系结构- -
  •   很无语的是我把评论发到当当和卓越,都被河蟹掉了。
    以后买书真的不能听这种门户网站的评论了,都是利益相关,只许说好,不能说差。不过话说回来,这本书还是很经典的。
  •   本来今天想去买一本的,看来还是看英文电子版算了。。
  •   翻译大概不懂编程 哈哈
  •   差点买了 幸好看到你这个评论。。
  •   现在有些人急功近利,拿个机器翻译的东西改改就出版,极度不负责任。我看了电子版的,觉得很有收获,正想去买一本回来再仔细看看。感谢你的评论!
  •   看英文的啦~ 看起来 很流畅很舒服
  •   我现在只要一看到 清华大学出版社 出版的书就不敢买,清华出版社貌似是给钱就印,,,比机工和人邮的书差远了
  •   翻译确实一般,最好中英文对照看吧,觉得书本身还是很赞的
  •   多谢,不然就买了
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7