从计算机到强大的游戏程序员必备书单

 从计算机到强大的游戏程序员必备书单
2007-10-08 22:14
终于可以登陆blog了,从昨天周六到今天白天,一直系统繁忙,不知道新浪怎么搞的.
起个乍眼点的名字,给我新开的blog吸引点人气.之所以从计算机系学生入手,是因为不想列
举一些跟编程关系不大,但做为程序员应该看的书.如操作系统,编译原理,数据库,基本数据
结构.强大的游戏程序员这个词造有点夸张,实话实说,吸引眼球用的。

我在面试程序员的时候有一个问题无论对方经验、学历如何,都一定要问。就是让其列举
几本自己喜欢的技术书籍,在我看来,如果连几本好书都没看过,水准也高不到哪儿去。
通过其对列举书的描述和一些简单的交流,除了考察技术水平,也可以比较容易看出应聘
者是否好学上进。

我本人是喜欢看书的,市面上的技术书籍,但凡认为稍有阅读价值的,都会收入柜中。这
其中不乏稍加翻看后束之高阁的,也确实发现了一批好书。新进公司的程序员,特别是应
届生,我都会给他们推荐下面这份书单。还有些书是要求人手一份的。来找工作的计算机
应届生,在我看来最大的问题不是经验的不足,而是视野狭窄,除了课堂内容外所知寥寥
。大部分人对C++的认识竟然还停留在C+class的程度.有课外阅读书籍的也以一些手把手
系列为主.

这份书单跟论坛上常见的应该有所不同,涉及游戏开发的各方面。书的数量也比较多,但
每一本都尽量做适当说明.书目内容之后随着我购书进程也会更新.书目里的大部分书我
书柜里都有,手头没有或为电子版的尽量说说明.想买这些书的话可以去www.dearbook.c
om.cn和www.china-pub.com找.电子书的下载地址不要问我.
书单里从入门到高阶的书籍都有,在校生,应届生,各等级程序员,应该都能找到适合自
己的内容.
PS:看书之余不要停止思考和动手写代码练习.
8月9日版本在书评里新增阅读难度,从1到10,皆为整数,大家可以根据自己水平作为购书
参考。难度低的书不见得对高手没用,如C++编程规范等。初学者建议循序渐进的阅读。很
多书可能难度跨越较大,如C++必知必会后十条跟前十条的差距,这样的书会给一个折衷数
字。


第一类 通用编程技术及C++书籍

新人在进入游戏行业之前通常会做些准备,又通常都以d3d,openGL,DDraw,Shader,J2me等
实用性技能内容为主.其实一般游戏公司招应届生最注重的反而是基本的编程素养(不排
除有垃圾公司指望应届生进来解决技术困难).基本编程素养并不是生下来就定型了的,
这里面包括程序设计的思维能力,编码风格,和对所使用的语言的掌握程度等.这些东西
通过阅读书籍和勤加练习都能得到很大程度的提高.而对于刚进入这个行业的程序员而言
,提高自己的编程素养是你提高自己在项目中的地位,升职加薪的最重要一环.

重点推荐书籍:
1 Effective C++ 中文第三版       阅读难度:3
关于这本书已经有太多的褒奖之词,我不多说了.如果你想靠C++吃饭而没读过这本书的话
,可以反省一下自己的闭塞了.想进入C++领域而不读此书,无疑要走无数弯路.

2 C++编程规范                     阅读难度:4
这本书是我要求进来的程序员必买的书.来找工作的大部分应届生(其实很多有经验的应
聘者也一样),对编程规范毫无概念.很多公司会让应聘者寄代码片段,一般就是为了考
察编程风格,新人进到公司,往往第一件事就是要进行对编程规范的培训.这本书的100条
稍显冗长,并非条条精彩.不过多数条目确实是实际项目中应该切实遵守并成效明显的.
这本书价格很便宜,我认为在职程序员,应该人手一本.

3 重构                            阅读难度:4
又是一本java书,对于这本书最重要的不是它的内容,而是它所宣扬的重构对于程序设计
的重要性.重构绝对不止改变已有代码,更重要的是每次精心的重构都会给你带来编程素
养的飞升.当然,这本书的内容也非常棒.如果你所在的团队还拒绝重构,能改变就改变
,不能改变尽快离开...

4 C++必知必会                      阅读难度:3
另一本我要求新来程序员人手购买的书.这是一本汇集了很多时髦的初中级编程技术的小
册子.里面的大部分内容已经成为现代C++编程的基本技能需求.你可以看看书的目录,如
果有三分之一以上内容你不知所云,请立刻购入吧.(实际上除了前几条外几乎所有内容
应届生和一年左右经验的程序员都不知道).稍有遗憾是翻译质量不太满意,可以考虑购
英文版.

5 Exceptional C++系列              阅读难度:8
这个系列一共出了三本,Exceptional C++, More Exceptional C++, Exceptional C++ S
tyle.这套书不太适合初学者阅读,但如果当对C++的基础内容如多态,模版,stl,异常,
内存管理都有一定认识,并有十来万行编码经验后,阅读这个系列的书会让你感到愉悦.
这是一个问答系列,里面的问答都很精彩.翻译得不错(翻译算不上精彩,只是不错).
所讲内容实用性都非常强,讲解也比较易懂.

6 高质量C++编程指南                  阅读难度:1
重点推荐里第一本国产书(不知道什么时候会再有国产书加进来)。这本书除了对编码风
格的一些讨论,也列举了C++使用中的一些常见问题。内容非常浅显易懂,不过这些问题确
实经常困扰C++初学者。

7 C++程序设计语言            阅读难度:1
这本书无论在C++程序史上,还是在今天的众多C++书籍里,都是无法替代的.如果说在自
己所在历史时期的价值,这本书绝对是排名第一的.

推荐书籍:(介绍待添加)

------------------------------------------------------8月9日更新内容

 


Think in C++ 卷一,卷二              阅读难度:2
这本书总觉得有点名不符实,觉得这书的定位应该在入门指导比较合适,内容易懂,讲解翔实
.不过书中对C++的思考似乎有点少.仍不失为C++领域的入门经典.

More Effective C++                  阅读难度:5
仍旧精彩,但照Effictive C++有所下降,主要是实用性的差距,Effictive的条款感觉是
万试万灵,过目不忘。而这本书更多关注了一些语言的细节,还有很多篇幅用在了一些不
大常用的语法角落。版本的更新也不如Effective及时.

Effective STL                       阅读难度:4
Scott Meyers针对STL写的50个改进效率的条款,这本书来的恰到好处,是不可多得的STL
实用教程.适合在某本入门教程里初步了解了STL的用法,想进一步提升STL使用能力的人
阅读.市面上深入研究STL的书不少,入门书更多,但能如此迅速有效的提升STL使用技巧
的书目前只此一本.喜欢STL的朋友不可错过.

STL源码剖析               阅读难度:7
侯捷老师的力作.国产书的骄傲.书的思路清晰,编排合理.虽然代码的篇幅较多,但讲
解部分也很到位.除了介绍STL的实现,也图文并茂的介绍了STL中用到的一些算法和数据
结构.想深入探究STL和学习范行编程的程序员不可不读的一本书,源码面前了无秘密.这
本书的缺点在于想一口气读完实在需要过人的耐力,有些章节让人感觉沉闷.

C++程序设计新思维                      阅读难度:9
这本书应该是市面上阅读门槛最高的一本C++书了,一年前我买回这本书的时候感觉像天书
.现在偶尔翻看隐约能感到这本书的伟大之处,但里面所讲的很多内容仍然不能充分理解
.这本书主要讨论几个常用模式用充分利用范性特性的实现,并提出几个新的基于范性的
模式(或者叫做工具).及这些东西在Loki库中的实现.

C++网络编程利用模式和ACE消除复杂性 卷1,卷2      阅读难度:8
相比于网络编程,这套书更关注于副标题的内容.对于想学习ACE的朋友这本书是很有价值
的.(国内好几家游戏公司都在用ACE了)

Imperfect C++              阅读难度:6
C++的复杂性和可操控性也造就了无数的陷阱,C++兼容了C语言的同时注定了C++有很多落
后的设计.这本书的构思很新颖,从内容上来说也确实是市面上无可替代的一本书.书中
讨论了大量的易造成错误和混淆的语言细节.同时大部分问题都提出了有效的克服C++不足
的解决方法.对于想深入了解C++的程序员不可错过.缺点也是内容太多,有些语言细节实
在太偏僻了.

C++Template               阅读难度:5
一本传说中的书,现在已经买不到了.关于这本书我听过无数的赞誉,然而并没仔细读过
.大学的时候从图书馆借过,当时还读不太懂.之所以也拿来推荐,是因为觉得市面上确
实缺少一本模板的实用性晋级教程.大家如果看到这本书不妨收下.

C++STL                  阅读难度:6
这本书和STL源码剖析有相进之处,不同在于这本书一边讲解用法,一边探究实现.这本书
也已经断货了,我有幸买到一本,确实值得一读.和源码剖析可以互补.

C++游戏编程                阅读难度:3
书的思路不错,针对游戏编程可能会遇到的一些问题进行讲解.内容写得也不错,每个主
题从入门的讲解到高级话题都有.书里并没有任何游戏专用技术的内容,而是介绍游戏相
关的C++内容.缺点是中文版的译法比较另类,很多词汇翻译得都跟常见书籍不太一样.而
且书中有一些过时和错误的观点.不过总体来说这本书对初入行的程序员来说非常合适,
见到不妨翻翻.里面的内容你会喜欢的.

Unix程序设计艺术              阅读难度:4
看这本书并非关注技术本身,更多的是希望了解Unix的一些文化和技术内涵.

代码大全第二版                           阅读难度:1
这本书才叫对得起面面具到这个词.这本书很多C++程序员不屑阅读,我倒觉得读一读这种
书对扩展自己的思路很有益处.也可以让自己多了解一些编码以外的软件开发知识.

道法自然                                 阅读难度:2
又一本优秀的国产书,这本书关注的是面向对象的设计方法.通过真实的案例和不同的解
决方案的对比,来探讨如何达成优秀的设计.

------------------------------------------------------8月19日更新内容

第二类 游戏编程技术
   这里的游戏编程技术,基本指的是游戏开发用到的一些非通用技术,比如图形学,D3D,
OpenGL, Shader, DDraw,人工智能,物理模拟.游戏编程的专门书籍其实也就是这几年才丰
富起来,总体来说推荐书目的品质和C++书或项目管理书没法比。国内市场上出版的游戏书
籍不算多,还有很多是粗制滥造的抄袭作品。我的推荐单除了力争将市面上能买到的一些
优秀书籍作推荐外,也会推荐一些国内没出版的英文版本书籍。对于英文版书,有钱上Am
azon.com都能买到,没钱自己搜电子书,还是那句话,我不会给电子书地址,写书不易,
多去书店买几本书,我们以后才能有更多的好书看。还有,我本人不是专门研究图形学或
3D引擎或物理模型的纯技术人员(我一直觉得这些人才叫纯技术人员,我这样的程序员对
游戏本身内容接触的比较多,不那么纯粹),所以对于这些专门书籍的介绍还停留在我手
头有的一些书上。对于国内买不到也看不到电子书的一些最新的技术书,如GpuGem2,是没
法介绍了。一些太纯粹的技术书也不会推荐,比如分形,小波,视频动作捕捉,这些留着
你进入了相关领域去和你的同事讨论吧。

重点推荐书籍:

1 3D游戏编程(入门必看)

2 游戏编程精粹系列                                  阅读难度:6
 这个系列国内出版了四本,原版大概已经出到6了.这套书的对于初学者用处不大,不
过对于工作中的游戏程序员来说实在是太棒了.里面的内容包罗万象,从通用编程技术到
3D技术,音频技术等等.里面都是一些短小精悍的文章,内容都很精彩。平常工作中的问
题经常能在这套书里找到解决方案。读一读书中的文章,也能学到很多优秀的解决问题的
思路。唯一遗憾的就是几本书翻译水平参差不齐,各文章间翻译质量差异也比较大。这可
能跟这套书每本出的时候都是在介绍当时比较新的技术有关。

3 GpuGem系列(Gpu精粹)                                      阅读难度:8
   原版出到2,国内出了一本。对于从事3D引擎开发和游戏图形学研究的朋友,这书应该是
人手一套了。作为Nvidia给开发人员的指定参考书,这套书里总能找到最新的游戏图形技
术。这套书的内容也是一篇篇独立的文章,内容都非常不错。2我还没看过,但即使我手头
这本原书已经出了有段时间的国内翻译本,所介绍的大部分内容仍未曾在国内游戏中见过
。所以,从事相关工作和对游戏图形技术感兴趣的朋友应该购入。

4 游戏编程全接触                                    阅读难度:3
   全面介绍游戏编程的书也不少了,当然其中已游戏学院之类出的教材书为主.我翻阅过
的几本中,这书品质是最优秀的.游戏开发的方方面面都涉及了,不光是编程和技术实现
,还有很多项目管理的内容.相对于技术内容来说,这本书关于项目管理和非技术的内容
可能显得更有价值。对于业内工作者可以学习国外的一些先进管理方法,对于学生也可以
对游戏开发有个更全面的认识。游戏项目管理和周期控制讲得比较全面的市面上就这本了
。另外,这本书是我以前同事翻译的,还要加上友情推荐分。

5 我的游戏编程感悟
   国内最著名的游戏程序员,云风的作品。里面的内容比较杂,更像是随笔集,当然,基
本都是技术内容。不过写得还是不错的,对于想了解国内游戏开发行业情况的朋友,这本
书一定要读一读。里面讲到了很多技术细节,不过总体看来书的目的性不是很强。作为国
产游戏编程书的精品,买来读一下是值得的。什么你不知道云风是谁?大话西游的主程,
国内游戏界响当当的程序员。

6 CG教程
   CG可不是Computer Graphic, 而是c for Graphic。其实就是Nvidia的shader语言,跟H
LSL基本是共通的。想学Shader的话,目前市面上最好的入门书就是这本了。Nvidia官方背
景,内容简单翔实,翻译也不错。看完红龙就该读这本了。想干3D编程不可不买这本。


7 3D游戏卷1 卷2:经典

8 实时计算机图形学(必看)

(内容陆续添加中)


第三类 项目管理,开发流程,杂谈

转载请写明出处 我的blog http://blog.sina.com.cn/u/1246772293
未完待续
 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值