一份游戏开发学习路线
前阵子被邀回答过这个问题:
认真学完 C++ Primer 是否有能力写个小游戏?
我的原回答如下:
读完 C++ Primer,不在开发环境中写代码练习,还是啥也写不出来。
读完 C++ Primer, 同时把书中的习题和例子在开发环境中操作练习,但是不了解 Windows API 或者 QT,MFC 等框架或者其他图形库,或许就只能写出控制台小游戏。
读完 C++ Primer, 同时把书中的习题和例子在开发环境中操作练习,与此同时再去学习一下 Windows API 或者 QT,MFC 等编程框架,那么此时可以写出带界面的小游戏了。
读完 C++ Primer, 同时把书中的习题和例子在开发环境中操作练习,与此同时再去学习一下 Windows API 或者 QT,MFC 等编程框架,接着再去学习下 OpenGL/DirectX/Unity3D/Cocos2d-x 等一堆乱七八糟的东西,同时学好计算机网络,操作系统,数据结构与算法、计算机图形学等理论知识,那么好了,理论上王者农药应该都不在话下了。
其实当时我更想写一下游戏开发的学习路线,有了学习路线,就好像有了地图,可以随时清晰的看到「此处离终点还差多少距离」,对学习者非常具有指导意义。
不过游戏开发所涉及的知识众多,我个人并没有接触过所有的东西,所以很难写全面。
后来无意中在 GitHub 上看到有人已经总结过关于游戏开发的学习路线。
作者 Chris Ohk 为来自韩国的游戏开发工程师。
链接在这里:
https://github.com/utilForever/game-developer-roadmap
带大家一起来看下这副关于学习游戏开发升级打怪的路线图。
介绍
总体上来说,分为客户端和服务器两条不同的路径,路径不同,所需技能也不同。
但还是有些技能是通用的,比如数据结构与算法、Git\GitHub、自学能力和搜索能力等。
2
Client 学习路线
首先是掌握一些相对基础的理论,比如数学和物理。
然后学习一至两门编程语言,同时学习一些流行的游戏引擎。
接着进一步深入的学习计算机专业理论,另一方面学习流行的图形学接口,如 OpenGL, DirectX。
再接着做更进一步的学习,如图形学相关理论和 AI 相关理论。
3
Server 学习路线
这幅图内容很多,看起来很「吓人」,其实总体来说,分为这几大块:
计算机网络
编程语言
网络编程
多线程
序列化
数据库
关于学习路线,我觉得对于学习者,尤其是初学者来说,非常有用,它的作用就是一幅地图,让你在浩瀚的知识丛林不至于迷失方向,甚至放弃在 99% 的地方。
可现实总归是现实,现实中很少有非常精确如同教科书中的公式一般的学习路线,大多数的所谓的学习路线都是某个或者某些人根据自己的经验总结出来的,不可避免的存在误差或者主观判断。
吾生也有涯,而知也无涯。可能这就是教科书里出现不了学习路线的原因,并没有人能掌握知识哪怕某一领域知识的方方面面...
所以,大家在参考学习路线的时候,注意这一点行了,还是要结合自己的实际情况来学习。
未来,看到总结的好的学习路线,我还是会继续分享,大家有什么想要了解的学习路线或者疑惑的问题,可以下面留言。