-
答案 1:
首先说明,“游戏制作”方面还是有很多个细的小方面的,对于一个大型游戏而言,不同的程序员之间往往是有相对比较明确的分工的。一般而言,每个方向的基本都是需要了解并掌握的,但是在深入学习之前,最好还是先对自己有一个定位。 游戏逻辑开发: 1、游戏的逻辑开发和其他软件行业没有本质不同,最好还是从数据结构和算法开始。并不要求你熟练掌握并编写每一个数据结构或者是算法,最重要的是你能够分析数据结构和算法的时间空间复杂度,能够进行一定的改造和组合工作,能够熟练利用别人(比如STL)提供好的数据结构和算法来快速无错的解决具体的问题。《数据结构》、《算法导论》(另外一本稍薄一点的算法书也很推荐,我个人是看这本书学习的,而没有看过算法导论,但我不记得它的名字和出版社了……) 2、你需要了解诸如“状态机”、“触发器”、“事件”之类的概念,它有助于你更好的模块化和组织你的代码,也有助于你更好的理解和接触别人提供的框架。至于在哪里可以学到这些概念…… 我也不清楚。Wiki或者与别人讨论 大概都是不错的方式,注意观察各种类似需求的解决方案(比如HTML/javascript、Flash/Actionscript)都有助于你改善自己的方案。 3、掌握几门常见的脚本语言。没错,我说的是几门。事实上,学到第二门之后你就会发现,它们本质上都差不多,同类型的脚本语言会有如此多的共同之处。把lua或者python嵌入到你自己的游戏框架之中吧,如果你的代码能力不错,嵌入javascript也许也是个不错的选择。 4、如果可能,深化一下你的C++基本功。Effective C++系列、Exceptional C++系列、C++ Template、Imperfect C++。 5、接触一款引擎,在其上做上层开发,不要急于过度深入引擎之中。越成熟用户量越大的引擎越值得你去体验。 6、推荐再去读一些关于游戏人工智能的书籍。 游戏图形开发: 1、对于英语没有困难的人,还是推荐先跟着DX SDK走一遭,里面的Tutorial非常简练,快速,也让你学习了一些基本的概念。DXSDK里关于现代图形管线的介绍也相当精确。 对于英语有困难的人,请参考莫伟琪的回答中引用Clayman的帖子,读相应书的中文版。 补充: 关于D3D9和D3D11:相比较来说,D3D11的接口比D3D9的更简练快捷,更易于学习,需要处理的各种意外状况较少,并且二者在API上不是一个补充完善升级的关系,所以并不需要“先学习D3D9,再升级到D3D11”,可以直接从D3D11开始。D3D10“还没普及就已经过时了”,可以略过。 关于D3D和OpenGL:二者在风格和习惯上有很大不同,但是在本质上没有任何的不同,初学者可以任意选择一个开始。相对而言,D3D的资料较丰富,在游戏行业应用较多,推荐自学的初学者优先接触。OpenGL在研究上的使用较多,在移动平台目前也是OpenGL ES等各种来自于OpenGL的标准较多,推荐在校研究生/有志于智能手机游戏研发的同学们接触。 关于固定管线/可编程管线:从应用上来说,固定管线已经成为历史了(即使移动应用也即将如此),从学习上来说,固定管线所涉及的概念较多,API较繁杂,比较耽误时间,而且其涉及的所有技术在可编程管线均可以实现,且更为自由,所以推荐直接从纯粹的可编程管线学起,并且在合适的时候了解一下固定管线和可编程管线之间的一些对应关系,不推荐先学习固定管线再“升级”到可编程管线。 2、了解基本API后,此阶段往往最缺的是数学,需要作为基础的可能有: 线性代数的基本概念(通常大学教材的前3-4章):最重要且最基础,最起码你要知道矩阵是干嘛的,是怎样参与运算的。 高等数学(微积分)的基本概念:你将来会发现稍微复杂一点的渲染算法都要用到这些作为基础知识。 四元数:在三维游戏里,通常用四元数来表达旋转 一些基本物理公式:诸如漫反射的强度公式等等 信号处理的一些常见概念:诸如傅里叶变换、卷积等等 除了线性代数基础以外,其他的数学学习都不是很紧急,可以手头备一两本书,或者养成快速上网查询的习惯,等到有了需求的时候紧急补课。作为一个程序员,没必要一开始就把自己当做一个数学家^_^ 也很推荐以上知识的打包书籍:《3D数学基础:图形与游戏开发》(3D Math Primer for Graphics and Game Development),还包含一些我没有列出的数学和算法。 3、基本概念和数学都了解了,推荐学DX的同学们重新系统的审视一遍DXSDK,或者把你手头的D3D/OpenGL入门书再从头到尾确认一遍,不明白的概念都查一下,然后搭建或者改造一个属于自己的实验平台(推荐从DXSDK里扒一个),就可以宣布基本知识毕业,开始从事各种效果的制作了。 4、论文实现。GPU Gems系列、游戏编程精粹系列、ShaderX(GPU Pro)系列,这种书都是将一个个独立论文集合出书的,找感兴趣的内容深入学习,自己实现吧。 游戏引擎架构: 1、没有任何资料可以推荐。先掌握基础,有使用成熟引擎的经历,然后: 2、写一个框架。 3、往里面适当添一两个新特性。 4、用这个框架写一个游戏。 5、列出不爽的地方。 6、看别人是怎么做的。 7、回到2或者3。 -
答案 2:
初入门我还是建议看《Windows游戏编程大师技巧》+《3D游戏编程大师技巧》(其实这是一套) 理解这两本书中内容即可(主要是固定渲染管线的原理),现在没必要写一遍书中的程序了。 另外Clayman说得很好:cnblogs.com/clayman... 只是我还是建议学习图形api前,先看以上两本书(除非你已经理解了书中的内容)。 -
答案 3:
推荐看看《游戏编程精粹》 1-6很不错 7稍微一般一点 -
答案 4:
开发方面不懂,推荐一个博客吧,necromanov.wordpress.com/
有什么关于游戏制作方面的教程好书?
2012-01-19 20:34:44 来源: 点击:
相关热词搜索:
上一篇:为什么CCTV的节目很多都没有字幕?
下一篇:床垫和床单之间垫的那个布叫什么?