游戏包含了很多人的梦想,大部分现实中无法做到的事情,游戏中都能做到,也能在平平无奇的日常生活中,为我们带来刺激感。
对于想学游戏编程的朋友们,小编这里推荐C++以及学习之后的流程:
C++的学习不用非常深入,学习之后在数据结构上下点功夫,学到树就可以了,树和图可以留到以后看,之前的链表堆栈队列都看掉,争取自己写出来。然后学下SDL,这个包很容易学,看网上的教程几天就学会了,然后接下来就是从最傻逼的游戏开始写。我的过程是贪吃蛇-->乒乓-->打砖块,现在忙了没写下去了,都快忘记了,之后规划的路径是Galaxia--> 警察抓小偷-->简单的2d scroll游戏-->简单的2d rpg引擎,最终目标是看懂博德之门的开源引擎,尝试自己写2d RPG。
其实这里头都是有学习点的:贪吃蛇是练手,顺便学习简单的动画;乒乓是学最简单的碰撞检测 +物理;打砖块是学稍微精细一点的碰撞检测+第一个商业游戏(目的是练手);
Galaxia是学习简单的AI和Sprite表,这是第一个Sprite数量比较大的游戏,警察抓小偷是学习更复杂一点的AI,和简单的关卡编辑器;2d scroll游戏就是学习scroll的;简单的2d rpg引擎,这里能学到的东西就很多了,但是最主要的是,做一个完整的游戏引擎,以及所有的工具,包括更复杂的关卡编辑器、试验一下简单的脚本(物品掉落,比如说)。
相关教程:
Lazy Foo' Productions (SDL + C++的教程,作者连怎么配置环境都手把手的交给我们了,每天学个两节很快就下来了,等学完了基本上我上头那个列表也写完了)
2D Game Programming Tutorials with SDL (同样是SDL+C++的教程,但是这里头有好几个游戏的源代码,开始写游戏的话,C++学好了,然后写一个月游戏应该就能看懂这里所有的源代码了,好处是他上来就告诉你 要有怎么样的架构)
可以看下entity driven engine的知识吧,如果你要写比较复杂的游戏的话。当然如果要写3d的话要看的就更多了,其实也很简单,就是比照着游戏发展史来,比如先上Wolf3d这样的游戏,当然不是比照它的源代码,而是实现类似的功能。
C++的相关的教程多的数不胜数,这里就不一 一列举了,但你学习到C++面向对象的时候,知道继承大概是个什么样子就行。细节部分慢慢追究。
总的来说每天花五六个小时学习,是为了保证自己生活有质量,在学习过程中,数据结构的学习也是不可获缺的,毕竟这是游戏编程里头很重要的一部分,数据结构设计的不好会影响你今后的发展,以及初学C++的小白,肯定没写过什么正经的代码,学数据结构可以大量的练习算法,而且最主要的,熟悉常用的数据结构。我觉得学到树就够了,最多把树学完就足够了,这也就是一个月的时间最多了。
最后,从开始的学习就要严谨,拿自己写的代码与专业的代码比较很重要,至于专业代码从网上搜索就好了,包括一些书上可能不会说到的东西。