专业向游戏编程书籍分享和学习心得建议

时间:2021-11-22 16:52:40
国内经典的中文游戏开发类的学习资源应该都在这里面了。拿出来分享给还徘徊在游戏编程领域边缘的新同学们,顺便贴上我自己总结的学习指南,另外其他相关的学习指南都已经放在共享的资源里了。


编程书籍下载地址(百度网盘链接,都已分类整理好了,可以方便查阅自己需要的资源): 
http://pan.baidu.com/s/1sj8ZtmP 


(注:以下建议都是针对于专业向的游戏编程领域(C/C++、DirectX、OpenGL),打算用flash、GameMaker或rpgmaker等制作游戏的同学可以不用看)


需要代码资源的可以下载directX sdk或nvidia sdk(里面涵盖了当今大部分主流的3D渲染技术),里面有许多sample,直接用Visual Studio C++打开.sln文件即可看到源码(VC的版本最好高于6.0),自己修改编译方便学习。
当需要学习引擎的时候可以下载Irrlicht、HGE或OGRE(都为开源引擎),相对来说比较适合新人。

68 个解决方案

#1


学习步骤:

第一阶段.编程基础目录
1.C++ primer 这本书必读吧,建议学C++的第一本书,学C++其他的书都可以不用看了(包括谭浩强,XX宝典等等)。
第1章到第15章都是重点,16章包括16章以后可以暂时不用看(等有很多年经验了后面的部分可以作为参考来学习)。

2.林锐的高质量编程
当会写些简单的程序时可以看看这本书,简单易懂,难得国人写的书里十分优秀的,里面有许多现今很多IT公司的笔试题范例,新手看此书可以避免编程中很多的低级错误。

3.数据结构
我这里建议 等有一定编程经验再看,一开始新手肯定会不知所云,学习数据结构之前强烈建议把C++里的STL搞清楚(方便理解数据结构的本质),STL相关可以参考C++ primer里的第6章(抽象容器类型)。核心的部分还是数组、链表、二叉树这三种,其他的可以忽略,实际开发用的并不多。所以这本书应该是边实际开发边做为工具书参考。并不需要流水线的学习。

4.编程规范
可以放到以后看,也可以开始参考参考,主要是代码风格和一些细节规范相关,如果时间不够可以直接忽略这本书。

#2


第二阶段.windows平台编程
通常游戏都是运行在windows系统上,所以windows是游戏开发的主要环境,需要理解windows 基本api的使用和原理,这里十分不建议学习MFC,新手应该想办法绕过MFC(MFC是个既耗时间又对游戏开发没有多少帮助的东西),游戏开发领域,MFC几乎可以不被用到(这也是以后的趋势),窗体UI方面可以用基本的win api来实现。
1.windows 程序设计
这本书我这里没有收录,网上有下载,学习的时候不必全部看,找些基础的篇章范范看看,只要会搭建基本win32编程程序环境,理解窗体消息系统原理即可。
2.windows核心编程
windows更加深入的学习,可以作为参考学习,当然前期如果想尽快做游戏DEMO,可以暂时忽略这本书。

第三阶段.3D图形相关
这个目录里的教程并不是所有都必须看,有些是可选其一。《directx实时渲染技术详解》和《3dgame.pdf》可选其一,两者都是directx编程学习的好入门教程,《GPU1精粹》《GPU2精粹》是作为进阶的学习(可最后看)。《HLSL基础教程》是shader(GPU着色器语言)的基础教程,《实时地形引擎》是地形编程相关的基础教程,《DIRECTX9.0 3D游戏开发编程基础》可以作为参考工具书看,里面有很多基本3D知识的解释和运用(例如矩阵、向量、基本变换的原理、directx api的基本运用),《3D游戏编程大师技巧》这本书十分经典,早已绝版,是3D图形编程的原理级别的好书,书中都是代码和理论穿插,比起纯粹的图形学习原理书籍更加容易理解。

#3


建议学习流程:
1.《3D游戏编程大师技巧》如果想要更深入的理解3D图形的底层(包含了很多数学的运用),包括如何用代码构筑一个软渲染管线等等,务必看看。
2.《3dgame.pdf》中间穿插《directx实时渲染技术详解》、《DIRECTX9.0 3D游戏开发编程基础》,哪个觉得容易就看哪个,根据个人而定。
3.《OPENGL红宝书》这本书这里没有收录,是非常好的图形编程入门书(个人觉得这本书可以算做新手学习3D编程最好的入门书籍),网上可以下到(建议购买实体纸质版)。
4. GPU精粹系列。

另外《DOOM启示录》是描写了id software游戏公司的几位创始人成长励志的真实故事。

以上这些教程并不都是按流水线的步骤学习,很多时候都应该互相穿插的看,每本书里都有对应的知识点,彼此可以互补。
编程工具还是推荐visual studio 2005或2008、2010, VC6不建议,功能老旧,调试不便。

  学习游戏编程最重要的并不是看书,而是3分看书7分实际编码,书中有很多实例,最好能亲自在电脑上编码调试,这是游戏编程入门最快速最捷径的手段,很多书中的原理知识,在实际编码调试前,都很难真正理解。

  游戏编程学习应该是,渐进实践的方式,一旦有了非常基本的编程基础,就应该立即放下书本从最简单的游戏小程序写起(可以从修改其他游戏源代码的方式开始,多看别人写的程序也是快速提升编程水平的好方法),遇到了技术瓶颈再去看书查资料,然后回过头来再进一步改善自己的游戏程序,写代码和看书并行交叉,而不是闷着头看书(闷头看书是永远不可能入门的),这种学以致用的方式才能真正的走捷径。

  对于一开始想利用unity3d、UDK这类强大速成引擎来做游戏的人来说,以上学习方法可能并不合适(无论用何种简单的引擎,基础仍然是决定游戏开发水平高低的关键),个人建议如果对游戏开发技术方面有较高的追求(真正想搞明白计算机游戏究竟是如何被实现的),并不甘屈于国外技术之下,想自己亲手做出unity3d、UDK这样的游戏引擎并可以改变国内游戏开发技术无比落后局面的人来说,那就从基础的学习流程开始吧,加油,有梦想的年轻人们!

#4


很好啊,谢谢分享~楼主自己总结和收集的吗,好厉害~

很多是基础知识,对于想要打好基础的童鞋来说很不错~

再补一句,如果大家想要学习DX和GL这种,一定要尽量找最新的版本,比如现在《OPENGL红宝书》已经出到了第八版。

#5


必须得赞一个!

#6


为立志成游戏大牛赞一个!

见过很多手游公司里面的程序员只会拿cocos2d-x 或者 unity 写写ui和逻辑,抄抄改改,完全没有技术积累。

真心觉得要搞游戏最好还是进大厂。

#7


专业向游戏编程书籍分享和学习心得建议

#8


楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

#9


专业向游戏编程书籍分享和学习心得建议

#10


谢谢楼主分享,赞一个

#11


谢谢 专业向游戏编程书籍分享和学习心得建议分享

#12


该回复于2014-11-23 09:23:18被管理员删除

#13


谢谢分享~点赞~

#14


感谢 赶快收藏之

#15


引用 6 楼 shun_fzll 的回复:
为立志成游戏大牛赞一个!

见过很多手游公司里面的程序员只会拿cocos2d-x 或者 unity 写写ui和逻辑,抄抄改改,完全没有技术积累。

真心觉得要搞游戏最好还是进大厂。

有必要自己写引擎吗?写的能有cocos2d-x和u3d好吗?能把引擎用好,能把逻辑写好不就够了吗,一样也能拿到20K+

#16


很好的分享~谢谢~

#17


楼主好人,感谢分享。

#18


引用 8 楼 LINUX2012LINUX 的回复:
楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

没必要学习MFC:
1.过时
2.mfc是基于window api的封装,不如去学下window api

#19


感谢楼主分享,收藏了 专业向游戏编程书籍分享和学习心得建议

#20


该回复于2014-11-23 17:13:06被管理员删除

#21


可以方便查阅

#22


学j2ee方向的有点像转游戏开发,c++就学了半学期,低空飘过的那种。

#23


楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

#24


楼主辛苦 谢谢 

#25


楼主辛苦 谢谢 

#26


很好啊,谢谢分享

#27


手机游戏开发前途更大妈

#28


该回复于2014-11-24 10:27:08被管理员删除

#29


专业向游戏编程书籍分享和学习心得建议

#30


专业向游戏编程书籍分享和学习心得建议

#31


看见大家讨论那么热烈,吐槽几句,主要针对图形:
门外:            c或C++
                                计算机原理
                  图形图像入门
                  Window编程入门类2 
计算机专业相关:  计算机图形学
                  一些简单的算法
DX或OpenGL编程类:红龙书籍、OpenGL
                                   SDK例子或者《DirectX3D HLSL 高级实例精讲》类或《OpenGL实例编程精粹》
                    按自己的想法做或者学习引擎源码(Unreal已经开源)

#32


楼主好人,正需要这个

#33


专业向游戏编程书籍分享和学习心得建议

 必须顶!!!

正派回在游戏编程的边缘呢!!!

#34


专业向游戏编程书籍分享和学习心得建议
web前端一枚,打算进入游戏领域~感谢楼主分享

#35


引用 8 楼 LINUX2012LINUX 的回复:
楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!


MFC windows 编程 (第二版)不错,正是你想要的!

#36


感谢楼主分享

#37


感谢楼主分享

#38


专业向游戏编程书籍分享和学习心得建议

#39


该回复于2014-11-24 17:49:31被管理员删除

#40


该回复于2014-11-25 09:36:19被管理员删除

#41


引用 31 楼 ljb1672 的回复:
看见大家讨论那么热烈,吐槽几句,主要针对图形:
门外:            c或C++
                                计算机原理
                  图形图像入门
                  Window编程入门类2 
计算机专业相关:  计算机图形学
                  一些简单的算法
DX或OpenGL编程类:红龙书籍、OpenGL
                                   SDK例子或者《DirectX3D HLSL 高级实例精讲》类或《OpenGL实例编程精粹》
                    按自己的想法做或者学习引擎源码(Unreal已经开源)

顶一个

#42


太好了,感谢楼主

#43


要学的东西太多记不住,感谢LZ总结经验

#44


说得真好呀呀呀呀

#45


看看~~~~~~~~~~~~~

#46


感谢分享,拿走了 专业向游戏编程书籍分享和学习心得建议

#47


依然那么热烈,再顶下。

#48


多谢分享!!!!!!!

#49


资料很好,很实用

#50


专业向游戏编程书籍分享和学习心得建议

#1


学习步骤:

第一阶段.编程基础目录
1.C++ primer 这本书必读吧,建议学C++的第一本书,学C++其他的书都可以不用看了(包括谭浩强,XX宝典等等)。
第1章到第15章都是重点,16章包括16章以后可以暂时不用看(等有很多年经验了后面的部分可以作为参考来学习)。

2.林锐的高质量编程
当会写些简单的程序时可以看看这本书,简单易懂,难得国人写的书里十分优秀的,里面有许多现今很多IT公司的笔试题范例,新手看此书可以避免编程中很多的低级错误。

3.数据结构
我这里建议 等有一定编程经验再看,一开始新手肯定会不知所云,学习数据结构之前强烈建议把C++里的STL搞清楚(方便理解数据结构的本质),STL相关可以参考C++ primer里的第6章(抽象容器类型)。核心的部分还是数组、链表、二叉树这三种,其他的可以忽略,实际开发用的并不多。所以这本书应该是边实际开发边做为工具书参考。并不需要流水线的学习。

4.编程规范
可以放到以后看,也可以开始参考参考,主要是代码风格和一些细节规范相关,如果时间不够可以直接忽略这本书。

#2


第二阶段.windows平台编程
通常游戏都是运行在windows系统上,所以windows是游戏开发的主要环境,需要理解windows 基本api的使用和原理,这里十分不建议学习MFC,新手应该想办法绕过MFC(MFC是个既耗时间又对游戏开发没有多少帮助的东西),游戏开发领域,MFC几乎可以不被用到(这也是以后的趋势),窗体UI方面可以用基本的win api来实现。
1.windows 程序设计
这本书我这里没有收录,网上有下载,学习的时候不必全部看,找些基础的篇章范范看看,只要会搭建基本win32编程程序环境,理解窗体消息系统原理即可。
2.windows核心编程
windows更加深入的学习,可以作为参考学习,当然前期如果想尽快做游戏DEMO,可以暂时忽略这本书。

第三阶段.3D图形相关
这个目录里的教程并不是所有都必须看,有些是可选其一。《directx实时渲染技术详解》和《3dgame.pdf》可选其一,两者都是directx编程学习的好入门教程,《GPU1精粹》《GPU2精粹》是作为进阶的学习(可最后看)。《HLSL基础教程》是shader(GPU着色器语言)的基础教程,《实时地形引擎》是地形编程相关的基础教程,《DIRECTX9.0 3D游戏开发编程基础》可以作为参考工具书看,里面有很多基本3D知识的解释和运用(例如矩阵、向量、基本变换的原理、directx api的基本运用),《3D游戏编程大师技巧》这本书十分经典,早已绝版,是3D图形编程的原理级别的好书,书中都是代码和理论穿插,比起纯粹的图形学习原理书籍更加容易理解。

#3


建议学习流程:
1.《3D游戏编程大师技巧》如果想要更深入的理解3D图形的底层(包含了很多数学的运用),包括如何用代码构筑一个软渲染管线等等,务必看看。
2.《3dgame.pdf》中间穿插《directx实时渲染技术详解》、《DIRECTX9.0 3D游戏开发编程基础》,哪个觉得容易就看哪个,根据个人而定。
3.《OPENGL红宝书》这本书这里没有收录,是非常好的图形编程入门书(个人觉得这本书可以算做新手学习3D编程最好的入门书籍),网上可以下到(建议购买实体纸质版)。
4. GPU精粹系列。

另外《DOOM启示录》是描写了id software游戏公司的几位创始人成长励志的真实故事。

以上这些教程并不都是按流水线的步骤学习,很多时候都应该互相穿插的看,每本书里都有对应的知识点,彼此可以互补。
编程工具还是推荐visual studio 2005或2008、2010, VC6不建议,功能老旧,调试不便。

  学习游戏编程最重要的并不是看书,而是3分看书7分实际编码,书中有很多实例,最好能亲自在电脑上编码调试,这是游戏编程入门最快速最捷径的手段,很多书中的原理知识,在实际编码调试前,都很难真正理解。

  游戏编程学习应该是,渐进实践的方式,一旦有了非常基本的编程基础,就应该立即放下书本从最简单的游戏小程序写起(可以从修改其他游戏源代码的方式开始,多看别人写的程序也是快速提升编程水平的好方法),遇到了技术瓶颈再去看书查资料,然后回过头来再进一步改善自己的游戏程序,写代码和看书并行交叉,而不是闷着头看书(闷头看书是永远不可能入门的),这种学以致用的方式才能真正的走捷径。

  对于一开始想利用unity3d、UDK这类强大速成引擎来做游戏的人来说,以上学习方法可能并不合适(无论用何种简单的引擎,基础仍然是决定游戏开发水平高低的关键),个人建议如果对游戏开发技术方面有较高的追求(真正想搞明白计算机游戏究竟是如何被实现的),并不甘屈于国外技术之下,想自己亲手做出unity3d、UDK这样的游戏引擎并可以改变国内游戏开发技术无比落后局面的人来说,那就从基础的学习流程开始吧,加油,有梦想的年轻人们!

#4


很好啊,谢谢分享~楼主自己总结和收集的吗,好厉害~

很多是基础知识,对于想要打好基础的童鞋来说很不错~

再补一句,如果大家想要学习DX和GL这种,一定要尽量找最新的版本,比如现在《OPENGL红宝书》已经出到了第八版。

#5


必须得赞一个!

#6


为立志成游戏大牛赞一个!

见过很多手游公司里面的程序员只会拿cocos2d-x 或者 unity 写写ui和逻辑,抄抄改改,完全没有技术积累。

真心觉得要搞游戏最好还是进大厂。

#7


专业向游戏编程书籍分享和学习心得建议

#8


楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

#9


专业向游戏编程书籍分享和学习心得建议

#10


谢谢楼主分享,赞一个

#11


谢谢 专业向游戏编程书籍分享和学习心得建议分享

#12


该回复于2014-11-23 09:23:18被管理员删除

#13


谢谢分享~点赞~

#14


感谢 赶快收藏之

#15


引用 6 楼 shun_fzll 的回复:
为立志成游戏大牛赞一个!

见过很多手游公司里面的程序员只会拿cocos2d-x 或者 unity 写写ui和逻辑,抄抄改改,完全没有技术积累。

真心觉得要搞游戏最好还是进大厂。

有必要自己写引擎吗?写的能有cocos2d-x和u3d好吗?能把引擎用好,能把逻辑写好不就够了吗,一样也能拿到20K+

#16


很好的分享~谢谢~

#17


楼主好人,感谢分享。

#18


引用 8 楼 LINUX2012LINUX 的回复:
楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

没必要学习MFC:
1.过时
2.mfc是基于window api的封装,不如去学下window api

#19


感谢楼主分享,收藏了 专业向游戏编程书籍分享和学习心得建议

#20


该回复于2014-11-23 17:13:06被管理员删除

#21


可以方便查阅

#22


学j2ee方向的有点像转游戏开发,c++就学了半学期,低空飘过的那种。

#23


楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!

#24


楼主辛苦 谢谢 

#25


楼主辛苦 谢谢 

#26


很好啊,谢谢分享

#27


手机游戏开发前途更大妈

#28


该回复于2014-11-24 10:27:08被管理员删除

#29


专业向游戏编程书籍分享和学习心得建议

#30


专业向游戏编程书籍分享和学习心得建议

#31


看见大家讨论那么热烈,吐槽几句,主要针对图形:
门外:            c或C++
                                计算机原理
                  图形图像入门
                  Window编程入门类2 
计算机专业相关:  计算机图形学
                  一些简单的算法
DX或OpenGL编程类:红龙书籍、OpenGL
                                   SDK例子或者《DirectX3D HLSL 高级实例精讲》类或《OpenGL实例编程精粹》
                    按自己的想法做或者学习引擎源码(Unreal已经开源)

#32


楼主好人,正需要这个

#33


专业向游戏编程书籍分享和学习心得建议

 必须顶!!!

正派回在游戏编程的边缘呢!!!

#34


专业向游戏编程书籍分享和学习心得建议
web前端一枚,打算进入游戏领域~感谢楼主分享

#35


引用 8 楼 LINUX2012LINUX 的回复:
楼主为什么不推荐学习MFC呢?我觉得学习MFC对于理解Windows应用程序还是有一定帮助的,包括消息机制、类体系结构设计等。也希望楼主推荐一个Windows程序设计容易上手的资料,谢谢!


MFC windows 编程 (第二版)不错,正是你想要的!

#36


感谢楼主分享

#37


感谢楼主分享

#38


专业向游戏编程书籍分享和学习心得建议

#39


该回复于2014-11-24 17:49:31被管理员删除

#40


该回复于2014-11-25 09:36:19被管理员删除

#41


引用 31 楼 ljb1672 的回复:
看见大家讨论那么热烈,吐槽几句,主要针对图形:
门外:            c或C++
                                计算机原理
                  图形图像入门
                  Window编程入门类2 
计算机专业相关:  计算机图形学
                  一些简单的算法
DX或OpenGL编程类:红龙书籍、OpenGL
                                   SDK例子或者《DirectX3D HLSL 高级实例精讲》类或《OpenGL实例编程精粹》
                    按自己的想法做或者学习引擎源码(Unreal已经开源)

顶一个

#42


太好了,感谢楼主

#43


要学的东西太多记不住,感谢LZ总结经验

#44


说得真好呀呀呀呀

#45


看看~~~~~~~~~~~~~

#46


感谢分享,拿走了 专业向游戏编程书籍分享和学习心得建议

#47


依然那么热烈,再顶下。

#48


多谢分享!!!!!!!

#49


资料很好,很实用

#50


专业向游戏编程书籍分享和学习心得建议