# 课后阅读 | 游戏开发工程师学习路径(下) 上一节,我讲了一些底层知识和编程语言。搭好了底子,接下来,你需要掌握一些游戏的常规原理和机制。这里我也为你准备了一份学习书单。 ## 游戏设计 [《游戏机制》](https://book.douban.com/subject/25859579/),这是一本策划和程序员都可以看的书。在游戏设计中,游戏机制的设计,决定着游戏中的呈现效果,直接影响着玩家体验。而这本书就是教你如何打造出挑战丰富、乐趣十足、平衡良好的可玩性的游戏机制。它结合了很多实用案例,从不同角度介绍和阐述了游戏机制,介绍了用于构建和模拟游戏机制的Machinations工具。 [《游戏设计的100个原理》](https://book.douban.com/subject/26318335/)做游戏开发的人,基本上自己都是非常喜欢游戏的,肯定玩过不少游戏。但是估计你对游戏设计背后的原理性的东西,了解的不会很多。这本书就是讲很多原理性的东西,让你从更专业的角度来看你以前玩过的游戏,毕竟游戏设计其实更像是一门哲学。 [《Windows游戏编程大师技巧》](https://book.douban.com/subject/1230286/),这是一本经典书籍,属于游戏开发启蒙教材,它涉及了开发的基础知识和理论、开发技巧这些问题。有一点点汇编、C/C++语言基础,看这些就不会觉得特别难了。 ## 2D和3D编程 接下来,关于2D编程,我们可以看[《Cocos2dX游戏开发技术精解》](https://book.douban.com/subject/24733748/),这是一本让你一下子就能学习2D引擎且直接上手的书籍,几乎是学习2D游戏必备。 《Unity 4.x 2D游戏开发基础教程》是一本利用Unity编写2D游戏的教程书籍。另外有一本非常难买到的书[《2D Graphics Programming for Games》](https://book.douban.com/subject/20116832/),目前只有英文版,如果你能找到电子书也可以阅读一下。 毕竟3D游戏大行其道,但是它和2D游戏的路数又是非常不一样的。加上很多人上来就想做3D游戏,那关于3D开发,这几本书必看不可。 [《3D游戏编程大师技巧》](https://book.douban.com/subject/1321769/)[《Unity 3.x游戏开发实例》](https://book.douban.com/subject/25916788/)[《3D游戏开发大全》](https://book.douban.com/subject/1488758/)。第一本书可以让你很轻松地就了解3D游戏的编程基础知识,第二、三本书都是属于利用引擎来编写实例的,你可以在这些例子中获取更多的实战经验。 而《3D游戏开发大全》以Torque引擎来作为切入点,让你看到更多的技术。比如,游戏建模技术、人工智能技术、玩家控制技术等等游戏开发的细节。看完这三本书你就会对3D游戏编程有一个本质的了解。 做为3D游戏开发,还要知道3D模型、贴图、骨骼等一些3D美术知识。从基础开始学起的话,我推荐[《DirectX 9.0 3D游戏开发编程基础》](https://book.douban.com/subject/2111771/)。这本书介绍了一些必备的数学工具,涵盖了Direct 3D中几乎所有基本运算,以及如何使用Direct 3D来实现3D游戏。 ## 网页游戏开发 原生游戏客户端开发的学习重点在编程语言上,所以,其实你学了什么编程语言,几乎可以决定你会从事什么样的开发工作。而网页游戏相对来说就简单得多。 想要学习网页游戏制作,其实就是学习CSS3、HTML5以及JavaScript的知识。这方面的学习资料非常之多,网上一搜就能出来一大堆。其实你只要把每个方面专心学完一本书,把基本知识和核心知识搞懂了,结合一些项目实战有针对性的去练习就可以了,入门还是非常容易的。 比如,看些大家都推荐的经典书籍[《响应式Web设计》](https://book.douban.com/subject/20390374/)[《HTML5程序设计》](https://book.douban.com/subject/10608238/)等等。 最初,你需要学习最基础的HTML语言语法。HTML5本身对初学者就非常友好。 [《JavaScript语言精粹》](https://book.douban.com/subject/3590768/)也是必读的书籍。JavaScript语言的书籍非常非常多。这本书的内容就像它的书名,真是是精粹,从语法、函数、对象、数组、正则等等特性来介绍JavaScript语言的精髓,让你能真正掌握并高效地使用JavaScript,非常推荐。 到这里,按照原生游戏开发和网页游戏开发的分类,我们的游戏学习路径和书籍介绍已经写得差不多了,在这里再向你介绍两本与游戏无关却与编程有关的书籍[《设计模式》](https://book.douban.com/subject/1052241/)[《代码大全》](https://book.douban.com/subject/1477390/)。 这两本书能让你编写代码的水平提升一个层次,提高编程水平是让自己的职业化道路越走越好的一条唯一途径。世上没有捷径,勤学苦练,多看多写才是根本。游戏开发的基础是编程基础,有了扎实的底子,往后走提升得才会比较快。 一百多年前,福楼拜曾在一封信里写到:“谁要能熟读五六本书,就可成为大学问家了。”所以,我列的这些书,你能读完最好。但我知道,对大多数人来说,肯定是读不完的。你可以根据自己的情况做个筛选,有针对、有选择的去学习。 如果你想从事H5游戏开发的,你可以着重学习HTML和CSS;如果想学习服务器端开发的话,可以着重学习Socket开发和TCP/IP相关的书籍;如果想学习客户端知识,比如3D客户端的话,可以注重学习Unity或者虚幻引擎为载体的书籍。 希望今天的分享对你有帮助。