首先,题主要做的是学好C++,为什么这么说呢?因为不管是现在的图形引擎(如OpenGL)还是游戏制作引擎(如Cocos2d-x)都是把C++作为主力语言的。
那么,我就先推荐几本C++的入门书籍吧:
C++Primer中文版(第五版)(豆瓣)
C++程序设计教程(豆瓣)
数据结构与算法分析(豆瓣)
Effective C++ (豆瓣)
Effective C++(豆瓣)
楼主可以按照顺序依次看下来,由于都是我看过的书,我可以完全保证这些书的质量!
接下来,楼主可以去 Problems|LeetCode OJ,Programming problems and Competitions::HackerRank 这些网站刷一些算法题,毕竟光说不练肯定是不行的 =_=。
接着,摆在题主面前的是两条不同的发展路线
- Gameplay Programmer(游戏型程序员)
- Graphics Programmer(图形程序员)
由于Gameplay主要集中于游戏逻辑的编写,在这一块,我的经验是最好从使用一个游戏引擎开始,考虑到你的C++和程序员背景,推荐你使用Cocos2d-x这个游戏引擎,下面是这个引擎的网址。
Cocos2d-x
游戏逻辑部分,你需要理解游戏中的场景管理,资源管理,状态机,AI和网络这些模块的编写。具体的操作可以查看我的这个答案:
学Cocos2d-x,需要掌握多少C++知识?大概多久可以做出一个游戏
另一种是Graphics Programmer,或者说是Engine Programmer,他们是给程序员写程序的程序员(有点绕口啊=O=)。这部分你需要学习的是OpenGL和ORGE等等
首先,你要学习的是OpenGL,首先我们要看的当然是这个红宝书了!OpenGL编程指南(原书第7版)(豆瓣)
然后,就是读一些OGRE的源码了,国内的许多“自研引擎”就是通过ORGE做出来的,所以,作为一个Graphics Programmer读这个引擎的源码是非常必要的
最后呢?我们不管是当那种程序员,我们最终都是要做出项目的。
如果你是图形程序员,那么最好的项目就是,自己做一个游戏引擎
如果你是Gameplay Programmer,那么最好的项目j就是,自己做一个游戏项目
比如说我最近做个一个Demo类型的游戏项目:MrNerverDie/Four - GitHub MrNerverDie/Four · GitHub