很多同学问我学游戏开发应该看些什么书,我在这里抛砖引玉,给一份推荐表,希望大家共同提高。由于本人英文不太好,推荐的大部书籍都是国人编写的,有些经典的外文图书可能是翻译不好,我自己难以读下去,所以未能推荐。
### 一、程序语言:工欲善其事必先利其器,游戏开发属于软件开发,因此学几门编程语言是必要的。
#### 1、C++:虽然目前电脑性能越来越强大,C++凭借其优异的性能,是游戏开发首选。当然C++因为功能强大,也是最难学的语言之一。
C++ Primer:经久不衰的C++经典图书,一本C++的百科全书,比较适合入门学习。由几位经验丰富的C++大师编著,其中包括几位C++标准委员会成员。
C++ Primer Plus:一本比较基础的C++入门图书,如果觉得上面一本比较吃力,那么从这本开始吧!COM本质论
Thinking C++:此书在某些方面比C++ Primer讲解要深入一些,有许多作者的独到见解,精通C++的必备图书之一。此书中文名是牛逼的《C++编程思想》。COM本质论
Effective C++:C++程序员必读的进阶图书,讲解了许多C++的使用技巧和方法,能够让你打开眼界,提升你的C++功底。
More Effective C++:此书是上一本的延续版本,也是不可多得的好书。COM本质论
Exceptional C++:此书是仿Effective C++的书,不过内容值得一看。
More Exceptional C++:同上。
Exceptional C++ Style:同上。
C++ STL:C++的标准模板库还是很有用处的,值得学一下。
STL 源码剖析:侯捷的大作,可以参考读一下,看看STL内部的实现机制。
C++ Template:模板是C++的高级技巧,多少还是需要了解一些,这本书通俗易懂,学习模板的首选图书。
boost程序库完全开发指南:boost号称C++的准标准库,功能强大,代码优雅,很值得学习,是C++进阶的参考书目之一。
#### 2、Lua:轻量级的精巧的脚本语言,很多游戏都选择它作为脚本语言,语法风格优美,数据结构强大。
Programming in Lua:前几年Lua只有这一本出版的书,lua开发人员几乎人手一本,本书能了解lua的大部分功能,但是有些高级的功能涉及不多,有些也没讲透,不过还是值得推荐!
云风的博客:云风应该是使用lua的大家,在他的博客上有不少lua领域的知识,很多都是在书本上找不到的,所以特别推荐一下,呵呵。
#### 3、Java:Java是世界上使用人数最多的语言之一,在游戏开发方面也颇有建树,特别是Android流行之后,在移动游戏开发领域大有前途。
> Thinking jave:C++编程思想的姊妹篇,布鲁斯.埃克尔的又一力作,java开发的圣典,精通java的必备图书之一。
java编程规范:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。
Effective Java:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力推荐的一本书。名字是不是和Effect C++很像呢?看名字应该是一本好书。
#### 4、Python:python和lua齐名,也是比较流行的脚本语言,大名鼎鼎的BIGWORLD就死使用它作为脚本开发语言,不过python本身有很强大的库,除了作为嵌入式语言,还能作为一门独立的开发语言。
> 简明 Python 教程:Swaroop C.H. 教授为Python初学者写的一本书。“如果你只会打字的话,那这本书就是给你写的。”这本书的网站上这么写道。本书相当初级,很多大学都讲其作为教科书。python初学者可以从他开始。
Python核心编程:Zed Shaw为初学者写的一本书,书内使用的是Python 2.6版本。本书也是python的入门级图书之一。
#### 5、Unity3D:Unity3D是一个开发平台,使用它可以很方便的开发跨平台的游戏程序。
> Unity3D游戏开发:国人编写的一本U3D的入门级图书,相当基础,用来练手是最合适不过的了,而且作者的博客很活跃,可以喝他直接进行交流。
#### 6、ActionScript3:随着网页游戏的盛行,逐渐成为当前炙手可热的游戏开发语言,不过我很少涉及AS领域,因此大家可以到网上找找相关的图书。
### 二、游戏编程的核心技术:我们做游戏的,当然还需要学一些游戏开发的技术才行。
#### 1、DirectX:大名鼎鼎的DirectX技术,微软公司大力推荐的一套3D图形处理API,目前是世界上最流行的图形API。
Visual C++/DirectX9 3D游戏开发导引:这是我阅读的第一本D3D的书,可能不是最好的,但是的确是它把我带进了游戏开发的大门。DX开发的入门级图书。
精通direct3d图形及动画程序设计:这本书也是国人写的,很多人都说是翻译的DX文档,但是我认为这本书是关于DX最好的入门图书了,讲解比较清楚,例子丰富,堪称DX开发百科全书,DX的入门级碧波图书。
Windows游戏编程大师技巧:游戏界享誉多年的图书,自成体系,不过经久失修,内容太旧啦,不过他的一些算法和思想还是蛮不错的。
3D游戏编程大师技巧:虽然是上一本书的升级之作,但是内容还是比较过时,不过作者在此书里面开发一个完整的引擎,在3D算法和数学方面的部分还算不错。
3D数学基础:图形与游戏开发:3D游戏开发进阶的一个门槛就是3D数学,如果数学不好,很难学好3D,本书是将数学和游戏开发结合的书,同时还封装了一套3D数学的库,值得初学者学习。
#### 2、OpenGL:一套和DirectX齐名的图形API,优势在于跨平台,目前支持Windows,linux,Mac,IOS,Android等系统,目前安卓流行之后,它的使用就更广泛了。
> OpenGL编程宝典:OpenGL开发中著名的红皮书。 经典中的经典。目前已经出了多个版本了,学习OpenGL的必备图书。
#### 3、网络技术:在线游戏必然离不开网络,我没有发现特别经典的图书,只推荐一本对我很有帮助的书。
Windows Socket 网络编程:对Socket编程的更方面做了详细的讲解。包括IO模型以及多线程的一些内容。
### 三、程序设计基础:看过武侠小说的都知道,厉害的武功还得匹配绝世的内功才行,设计思想就是程序员的内功。
#### 1、算法:算法是程序的灵魂,学好算法是成为优秀程序员的必经之路。
> 算法技术手册:这本书很薄,讲解了一些基础常用的算法,经常翻一下对自己很有帮助的。
程序员试用算法:这本书非常不错,对于日常开发中常用的算法都有阐述,并且有相应的代码辅助,值得常备在身边学习。
零基础学算法:这本书非常适合初学者,对常用算法有清晰的讲解,而且有相当数量的视频和PPT提供给读者,方便读者理解。
算法导论:本书是经典算法图书,但是我一直没有读完,感觉太厚给自己的压力太大,而且本书讲解了太多的算法基础理论,学术性质太浓厚,老是看的想睡觉,但是作为算法的经典图书,这里还是推荐一下。
#### 2、数据结构:如果说算法是建筑的设计图纸,那么数据结构就是构成建筑的基本组件。
> 数据结构(C语言实现):清华大学出版的此书,在很多大学都作为教科书来使用,非常不错。
大话数据结构:最近才推出的一本书,仿大话设计模式的思路,总的来说,本书还是值得一读的。
#### 3、设计模式
大话设计模式:本书通俗易懂,学习设计模式的入门级图书。
设计模式--可复用面向对象软件的基础:本书的作者是GOF(Erich Gamma 、 Richard Helm 、 Ralph Johnson、 John Vlissides),本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。
### 四、计算机理论和基础
80X86汇编语言程序设计:汇编虽然使用越来越少了,但精通汇编一定是牛人,如果有时间和精力多学习一些还是很有好处的。
琢石成器--Win32汇编语言程序设计:本书是学习win32汇编的一本很好的书,示例很丰富,比学纯汇编要容易很多。
深入理解计算机系统:本书多次入围年度最佳图书,有时间阅读次数还是能学到很多东西的。
程序员的自我修养—链接、装载与库:本书是近年来国人写的最好的一本书了,对于编译和链接等程序底层技术做了很好的讲解。
COM本质论:COM本身的设计思想是很先进的,微软的多项技术都使用了它,本书讲解了COM机制和编程方法。
重构--改善既有代码的设计:本书是我近年来看过的最好的书之一,重构是程序员的一项重要技能,本书将告诉你如何进行重构,如何将重构做好。
Window程序调试:讲解了widnow程序的调试思路和方法,调试是程序员的一项基本技能,本书会帮你提高这方面的能力。
人工智能:本书对神经网络、遗传算法、启发式搜索、状态机等AI命题做了详细的讲解。有精力可以看看。
软件工程:软件工程和程序员有这密切的联系,多看看软件工程理论的理解和互相实践,能扩展视野以及提高开发效率。
高效程序员的45个习惯:此书前面部分非常好,看完此书能够明显提高开发效率和改善工作习惯。
Win32多线程程序设计:本书是侯捷的大作,对于多线程编程讲解比较好。
正则表达式必知必会(正则表达式经典著作):正则表达式是一项基础的技术,对程序员的帮助很大。
### 五、数据库相关
Mysql核心技术手册:本书对MYsql的各方面都做了详细的讲解,是一本很好的参考书。
SQL查询初学者指南:关于SQL查询的入门级图书。>
- 前言
- 读《Linux内核设计与实现》我想到了这些书
- 梦想的启航,那些年,那些书
- C++和Windows平台的一些书籍
- java一路走来
- 《Android入门之旅》
- 致我们终将逝去的青春-PHP篇
- 多读书,读好书
- 这些年,那些我们一起读过的代码
- C++码农要读的经典
- 阅读IT类图书,能够收获什么
- 读完《大数据时代》的一点儿心得
- 这些日子我读过的《java编程思想》
- 关于C,看过的一些书
- Android系统深度游
- 《《内存和性能优化》》给我带来的!
- 「书评」SAP内存计算——HANA
- 书籍记录了我技术的成长历程
- 那一年读过的技术经典书
- 【时间规划】C/C++发展之路--读书
- UNIX 环境高级编程之我见
- 游戏开发图书推荐--我读过的技术经典图书
- 自己动手写操作系统-经典书籍
- 游戏升级之路
- 《SQL Server 2005开发技术大全》分享一本书
- 书,永远的朋友
- 学生时代的书单
- 追求技术之路 - 那些陪伴我的书籍
- 经典书籍--好书很多,重要的是有个目标,有个规划
- android系统深入开发
- 这些年一路相伴的书
- 从零开始学
- 这些年我读过的技术经典图书(附电子版下载地址)
- 书--益友--从不孤单
- 给自己时间沉淀下来
- 那些支持我学习与工作的良师益友
- 文章千古事、得失寸心知
- 从Linux 驱动到游戏可视化转行要读的书
- 那些年,我们一起读过的《JAVA与模式》
- 往事不堪回首 -- 多读书
- 我程序人生的启蒙书
- 一个不喜欢读书的Javaer的读书单
- 一本书,让我走上编程之路
- 程序员读书的五重天
- 大学那会儿,我读过的技术经典图书
- C语言高手进阶的三碟小菜和一盘大餐