赞
踩
因为列举和介绍的广泛, 每本都去自己专研是不太现实的事情,毕竟我们的精力有限。大型三维游戏的编写往往是一个团队花费数年时间才能完成的,团队中的一份子只在某特定领域有所造诣,做好自己分内的事情即可。所以,在3D 游戏编程领域入门之后,最好找到自己喜欢的一个具体方向去精研,去选择性地阅读与摄取知识。
C++的老手。
想要走最短最有成效的学习路线,在这一阶段中了解基本的C++语法特性其实就够用了,并不用去纠结更深层次的知识,如模板、泛型、STL。这些更深一层的内容在游戏编程学习初期基本上涉及不到,在以后学游戏编程的过程中用到的时候,再翻翻书去现学现用,会更加事半功倍。
如果你真是精力旺盛,看《C++ Primer》一本学C++还满足不了你, 《Effectrive C++》《More Effecitve C++》
《Effective STL》 《C++沉思录》等等一大堆C++著作一定可以填饱你的肚子。
对于第一阶段,总结起来就是C++编程语言的学习。说浅它很浅, 一本《C++ Primer》或者大学的C++教程足矣(作者当年就是一本《C++程序设计教程》入的门) ; 说深它很深, C/C++是计算机高级编程语言的泰斗,讲解C++编程语言高级特性的专著数不胜数。总之,想要走最短最有成效的学习路线,在这一阶段中了解基本的C++语法特性其实就够用了,并不用去纠结更深层次的知识,如模板、泛型、STL。
第二阶段, 熟悉windows 下的编程。
第三阶段, Visual C++ 的学习
看完本书前面的内容,第二阶段和第三阶段基本上算是可以过关了。所以在这里我们把重点放在百花齐放的第四阶段。
第四阶段, 图形API与游戏引擎的学习
走到这一阶段, 算是正式开始了游戏编程的学习。从这一阶段开始, 深入一点的游戏编程书籍基本上都是英文的了。
很多学习游戏编程的朋友都应该有这样一个印象,国内很少能有一本有足够分量和水准的游戏编程书籍面世,而在国外,出版的游戏编程书籍却常常都能成为高水准的经典之作。而出版时间方面, 讲述新技术的游戏编程书籍往往在国外面世两年甚至三年之后,才可能会有中文版面世。因为国内写不出这样水平的著作来,所以需要从国外的出版社引进。而引进方面需要国内出版社与国外出版社之间的协商,需要一定的时间,而翻译成中文往往得花费一年甚至更久的时间。
比如,我们就拿学习DirectX 必读的经典,我们俗称“红龙书”的《Introduction to 3D Game Programming with DirectX9.0》来看,这本书的中文译版为《DirectX 9.0 3D游戏开发编程基础》。这本DirectX 的经典之作《Introduction to 3D Game Programming with DirectX 9.0》出版时间为2003 年6 月,而译文《DirectX 9.0 3D游戏开发编程基础》的出版时间为2007 年4 月, 中间的跨度为3年10个月,而且,后来《Introduction to 3D Game Programming with DirectX 9.0》出了第二版,基本上进行了完全的重写,主要是在讲可编程渲染线编程,而不是第一版中的固定功能渲染流水线编程。
而只有像“红龙书”这样经典的书籍才有机会引进并翻译成中文, 一般的游戏编程书籍由于专业性很明显(比如专门讨论3D 地形编程的书),在国内受众很少,引进了不能保证销量,所以很少被引进。
以上的这些无非是想向大家说明,游戏编程后面的学习,常常需要阅读原版的英文书籍( 一般SDK 文档, Samples 自然也是英语) 。其实,阅读原版的英文书籍对英语水平的要求没有想象中的那么高,书中并不会故意去用一些晦涩的单词,一般有大学英语四级的水平,就可以畅读原版游戏编程书籍和SDK 文档了。
开始学习专门介绍游戏开发的教程〈有DirectX 和OpenGL 两条路可选,这里我们选择DirectX,DirectX 在国内为主流。推荐书籍为《DirectX 9.0 3D游戏开发编程基础》, 《Windows 游戏编程大师技巧》、《DirectX 游戏开发终极指南》等等。下面我们会详细探讨。
另外需要注意的是,下面我们介绍的书籍和开源代码(3D 引擎、动画实现)都是针对引擎程序员的底层技术和引擎开发方向的。而对于游戏性程序员需要修习的主技能并非如此,游戏性程序员应该把功夫花在对某种引擎的炉火纯青的使用之上,再根据自身发展方向修习其他技艺(可偏美术和设计),如3D 建模( Technical Art 方向) 。
《3D 游戏编程大师技巧》两部曲。
值得一提的是《Windows 游戏编程大师技巧》的主题是关于Windows 2D 游戏编程的基础。它的内容过于陈旧,不建议使用这本书学习游戏编程。书中作为重点讲解的DirectDraw 在十年前发行的DirectX 8 中就已经被抛弃了。现在看这本书的话,主要是看其中的编程思想。
然后是《3D 游戏编程大师技巧》,这本书可谓是理解3D 游戏程序的内部原理最经典的著作,每个对3D 程序有兴趣的朋友都应该读一下。书中的内容基本上是把目前流行的图形API 都实现了一次,而且解释得非常详细,十分值得一读。读完后,你会更加理解图形渲染管线的内部实现方式。
“ 红龙书” 第一版中讲解的内容基本上在我们这本书中都做了更有条理更符合我们习惯的演绎,所以在读完本书之后,承接读下去的最好选择是更偏向于可编程渲染流水线介绍的“ 红龙书”的第二版
《Introduction to 3D Game Programming with DirectX 9.0c A Shader Approach>。
另外, 红龙书的作者Frank Luna 在2012 年出版了红龙书的DirectX 11 版本一一《Introduction to 3D Game Programming with DirectX 11 > , DirectX 11 有点像Windows 8 , 都是叫好不叫座, 短时间还不能普及,目前依旧是Direct 9.0c 的天下。
2. 《DirectX 游戏开发终极指南》
这本书的英文原版名为《Ultimate Game Programming With DirectX》, 教你如何用DirectX 9写出一个简单的第一人称射击游戏,还算是不错的DirectX 入门书籍, 书本的配套代码有一定的借鉴意义。
专门介绍DirectX 的书籍其实是比较多的, 而且其实内容都大同小异,我们更多的是去看看它们的配套源代码。学完本书, 接下来去看“红龙书”的第二版《Introduction to 3D Game Programming with DirectX9.0c A Shader Approach 》, 去了解可编程渲染流水线, 是最好的选择。同样的,<Introduction to 3D Game Programming with DirectX9.0c A Shader Approach 》一书的配套源代码很有必要去研究和学习。
接下来,我们介绍一下学完DirectX 基础知识后一些进阶的书籍。
3. 《Al 游戏引擎程序设计》
这本书英文原版为《AI Game Engine Programming》。虽然说这是一本名不副实的书,并没有完全介绍一个“one for all ”类型的引擎,也没有具体算法讨论,但针对各种不同类型游戏的AI 设计做了详细介绍,可作为一本参考指导性书选择阅读。
4. 《Game Engine Gems 》系列
这是关于引擎设计的新系列丛书, 约定是每年出一本, 在2013 年6 月份已经出版了两册。
5. 《Al Programming Wisdom 》系列
游戏Al 编程方面的系列书籍, 在2013 年6 月份已经出了4 本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。