游戏开发学习思路

来源:互联网 发布:人工智能产品经理 编辑:程序博客网 时间:2024/04/29 12:18

2013、6、30:

1、精通一门编程语言

2、选择一门图形api(directx或者opengl)

入门书籍:

1、Introduction to 3D Game Programming with DirectX 9.0

2、<<DirectX 9 Graphics  the Definitive Guide to Direct3D>>

更新:<<Practical Rendering & Computation with Direct3D 11>> ,最好的DX11参考书

3、入门之后,是你巩固和拓展视野的阶段。现在看计算机图形学就比较合适了

<<Real-Time-Rendering>>,这本书算得上是所有图形程序员的必读书籍和参考手册了,一定要看第三版。

如果这个时候发现你当年数学没有学好,那么以下几本数学书是为游戏程序员量身定制的,基本上覆盖了所有常见数学和几何问题:
<<3D Math Primer for Graphics and Game Development>>  
<<Mathematics for 3D Game Programming and Computer Graphics 3rd>>
<<Essential Mathematics Guide 2nd Edition>>
<<Geometric Tools for Computer Graphics>>

更新(2010.11.6)  看完上述入门书籍之后,就应该花点时间好好的完整阅读DirectX文档以及部分sample了,加深对DX整个系统,函数的了解。你会发现普通论坛里60%的问题都是文档里讲过的。

网络:mai%25##&%...(本人网络白痴 +_+........)

综合:
<<Game Programming Gems>>系列,不过由于内容涉及的过于广泛,文章质量参差不齐,选择性阅读就可以了。历年GDC, Gamefest,Siggraph等大型会议的paper也是应该关注的。至于那些“All in one”或者n天较你写出个FPS游戏的书就不要读了,这类书的通病是什么都说了,结果什么也没说清楚。

 除了书以外,再推荐一些不错的网络资源:
http://www.gamedev.net/ 除了大量教程以外,论坛里多年累计下来的内容保罗万象。好好利用论坛搜索,你会发不管你多厉害,那里总有一些比你强大的人在很久以前就遇到了和你同样的问题,并且给出了解决方案。
Nvidia和ATI的开发者中心
http://www.gamasutra.com/ 与GameDev类似
http://www.beyond3d.com/ 这里的除了讨论软件以外,还能看到对硬件构架的分析

4、

         其实入门之后,就没有固定的学习路线了,最好根据你感兴趣的方向来学习。

Shader方面

《Cg_tutorial》和《The Complete Effect and HLSL Guide》都是不错的入门材料,当然还有SDK文档。<<Shaders for Game Programmers and Artists>>有大量入门的例子。<<Advanced Lighting And Materials With Shaders>>详细介绍了各种光照模型和技术。<<GPU Gems>> 1~3册肯定是必读的,虽然有1,2有中文版,但某些翻译并不是很理想,强烈建议直接看英文版。ShaderX系列也是很经典的系列,每年出版一本,包含了最新的实时渲染技术,如今已经出了第6册了。不过网络上只能找到1~3册。1,2册大部分shader都是用asm写的,不过看懂原理,转换为HLSL也并不难。另外Nvidia SDK和ATI SDK也是学习shader的重要资源。最后还有刚出的<< Programming Vertex, Geometry, and Pixel Shaders>>

更新(2010.4.30):ShaderX已经出版了第7册,后续的版本由于版权原因,改名为GPU Pro: Advanced Rendering Techniques,仍然每年出版一本。更新(2010.11.6): 天朝人民的智慧是无限的,很多图形学的新书都能在taobao买单翻印的纸版了,包括ShaderX, GPU Pro系统等等.....

更新(2010.11.6): 关于ShaderX和GPU Gems常常有人问我较老的几册值不值得看,还有看不懂怎么办。这里是我个人的看法,仅供参考:ShaderX和GPU Gems收录的都是比较前沿的技术,虽然每本之间没有连续性,但很多技术都建立在之前的方法上。有时间的话,建议从第一本看起。两本书都属于论文集,章节之间并没有太多连续性,所以不必从第一页看到最后一页,选择你感兴趣的部分即可。比如对阴影感兴趣,就只看阴影相关的章节,你可以看到整个阴影技术近10年的发展,变化,很有价值。另外,书里很多前沿,实验性的技术,由于硬件限制,通常要2,3年后才有可能普及,现在看以前的几册也不会太"过时"。 最后,这样的书内容涉及了图形学的方法面面,2d,3d,图像处理,ai,游戏构架,gpgpu等等,范围太过广泛,特别是GPU Gems相比ShaderX更偏重学术研究,很多技术最终不一定能实际应用到产品中,有些章节看不懂也属于正常现象。

地形:

<<Real Time 3D Terrain Engines Using C++ And DX9>>非常全面的讨论了关于地形渲染的各种技术,至少应该把第5~9章都浏览一遍。之后便可以 到virtual terrain查阅近期的地形渲染技术。
更新(2010.11.6): 经常尝试用PIX分析你电脑上的游戏,地形渲染通常是最容易分析的部分,而且可以让你马上了解目前流行的地形渲染方法。

模型导入和动画:

<<Advanced Animation with DirectX>>,仅此一本足以。
更新(2010.5.5):<<Character Animation With Direct3D>>已经可以很容易的找到了, 此书介绍了目前最新的游戏动画技术,作者是xbox360大作Alan Wake的开发人员,完全可以替代上面提到的那本。

物理:
<<Game Physics>>和<<Game Physics Engine Development>>都不错。<<Real-time Collision Detection>>是碰撞检测方面最好的书。:<<3D Game Engine Design, 2nd>>的8,9章也值得一看,除此之外,就是各种开源碰撞引擎,比如Bullet

 LOD:
<<Level of Detail for 3D Graphics>>

Ray tracing:
<< Physical-Based Rendering - From Theory to Implementation>> 
更新(2010.4.30): 一本免费的入门教程Another Introduction to Ray Tracing
更新(2011.10.23): 此书已有第二版,并且有电子版。

引擎设计:
说实话,这方面还没有特别好的书,大概越是核心的内容,越少有人愿意写吧。<<3D Game Engine Architecture Engineering Real-Time Applications with Wild Magic>>只有第三章值得一读。<<3D Game Engine Programming>>可以选部分感兴趣的章节看看,不过总的来说,讲的比较浅。
更新:<<3D Game Engine Design, Second Edition>>出了影印版本,此书是<<3D Game Engine Architecture Engineering>>更新版,强烈推荐。
最近发现<<Pro OGRE 3D Programming>>也很不错,200多页短小精干,但是可以让读者快速了解一个既有引擎的设计和构架。

更新(2010.7.15): 新出的《Game Engine Architecture》非常不错,注意是Jason Gregory的版本。如果只推荐一本引擎方面的书,绝对是这本,强烈推荐!!
更新(2010.6.28): <<Game Engine Gems>>是关于引擎设计的新系列丛书,与ShaderX类似,也是每年一本,目前已经出版了第一册,已有电子版

AI & Game Programming
<<Programming Game AI by Example>>非常不错,好像还有中文版,备选<<Artificial Intelligence for Games>>(已有第二版)。当然<<AI Programming Wisdom>>系列也是必读作品,不过目前网络上只有1~2册。
更新(2010.5.28):<<AI Game Engine Programming>>已比较好找了,虽然说这是一本名不副实的书,并没有完全介绍一个"one for all"类型的引擎,也没有具体算法讨论,但针对各种不同类型游戏的AI设计做了详细介绍,可作为一本指参考导性书选择阅读。

网络:mai%25##&%...(本人网络白痴 +_+........)

综合:
<<Game Programming Gems>>系列,不过由于内容涉及的过于广泛,文章质量参差不齐,选择性阅读就可以了。历年GDC, Gamefest,Siggraph等大型会议的paper也是应该关注的。至于那些“All in one”或者n天较你写出个FPS游戏的书就不要读了,这类书的通病是什么都说了,结果什么也没说清楚。

 除了书以外,再推荐一些不错的网络资源:
http://www.gamedev.net/ 除了大量教程以外,论坛里多年累计下来的内容保罗万象。好好利用论坛搜索,你会发不管你多厉害,那里总有一些比你强大的人在很久以前就遇到了和你同样的问题,并且给出了解决方案。
Nvidia和ATI的开发者中心
http://www.gamasutra.com/ 与GameDev类似
http://www.beyond3d.com/ 这里的除了讨论软件以外,还能看到对硬件构架的分析

附:博主建议:

其实图形只是游戏里的一小部分,加上大部分游戏公司都没有自己的引擎,所以工作以后真正能做底层图形开发的人并没不多,更多的可能是ai,游戏逻辑方面的脚本开发。最好先找准自己的定位,你喜欢做关卡的话,可能游戏逻辑开发更适合你,不妨多接触些ai方面的东西:)

原创粉丝点击