楼主学习编程有两年了,决定向游戏发展大概就是半年前了,在这里总结一下游戏方面的学习经历过,给初学的朋友们参考下,也顺便参加下CSDN的读书活动。
PS:本来楼主打算游戏的方式总结一下自己近两年的来的游戏方面的学习状况的,但是由于脑细胞死光了,到了后面显得很混乱,不幸看到这篇文章的同志们请勉强一下。
完全开源的C++开发的聊天软件
登陆:2011年的9月,在XX大学软件学院注册了个ID,开始了游戏之路。
0~5级
1.谭浩强版《C语言程序设计》 低级小怪 掉落小刀
这货长的就是下面这样
对于这货,怎么说呢,尽管对它的贬低要远远多于对它的褒扬,但是它的确是楼主编程入门的第一本书。各个高等院校计算机软件专业C语言课程基本都选用的这本书,不管喜欢也好,不喜欢也好,高等学校出身的应该都是学习过这本书的,没办法,谁让它就堵在了大家的出生点附近呢。在各个专业论坛我们看到的都是建议不要学习这本书,百度C语言贴吧里甚至在置顶帖里明确的不建议使用谭浩强的书,给出的理由一般都是概念不准确,有一些错误,只给出了最基本的使用方法,但是忽略了很多的东西。但是这本书的厚度在那里,它就是一本入门书,楼主觉得还是很适合初学编程的同学。
2.《C Primer Plus》 低级小怪 掉落长剑
比较厚的一本书,有600多页吧。大一的时候没事干,就把这本书都看完了,讲解的不能再详细了,看了这本书,也确实知道了谭书少讲了很多东西,导致对很多东西理解都不透彻,比如缓冲区等,这本书还是建议初学的朋友看看,但是缺点就是太厚。
http://blog.csdn.net/i_like_cpp
KO这两个,就具备基本的战斗能力啦,就可以打造自己喜欢的东东了,在这个阶段,楼主整了编程新手必备的贪吃蛇和扫雷,没写过贪吃蛇,你好意思说你学过编程?嗯哼。下图就是当年刚学完谭浩强的书自己做出的丑爆了的贪吃蛇和扫雷啦。
5~10级
3.《C和指针》 精英小怪 经验多多
这本书楼主全部看完了,特别推荐学C的朋友们看,由于作者考虑到了没有编程基础的读者,所以虽然标题为指针,但是仍让把C语言从语法开始一点点都讲解了一遍,只不过没有《C Primer Plus》那么详细,毕竟它的字数只有上本书的1/3不到吧,不够浓缩的都是精华。特别一提的是课后的习题非常不错,《C Primer Plus》的课后习题都是很基础的东西,但是《C和指针》的课后习题有一定难度,而且趣味性很足,对初学者吸引力非常大,并且给出了详细的解答。
4《C专家编程》 小怪Boss 打完可以直接升级了
很经典的一本书,但是难度有点大,谁让它是Boss呢,肯定不能和小怪一个难度哈。即使到现在楼主都没有完全看完整本书,大概还有两章没看,因为感觉看起来很头疼。楼主看书的原则是如果感觉看不懂就会放下,过段时间再说。这本书在近一年的时间内断断续续的看了大部分章节,每隔一段时间都会拿出来看一次,每一次都觉得经验大涨不少。
干掉了《C和指针》后,楼主初略的了解了一下Windows程序设计和MFC,就是最基础的那一点,犹记得当年学会用MFC贴图的欣喜若狂啊,瞬间感觉自己可以做出真正的游戏啦
下图就是当年自己做的游戏,全屏的,RPG,因为很喜欢仙剑,就仿了仙剑的风格,哈哈。现在看那时候的代码简直不忍直视,从来没有写过长程序,完全是一点点累起来的,大概写了1700行纯C风格的程序,没有一个类,全部写在一起,现在好佩服自己当时理清楚了那么复杂的逻辑,呵呵。不过自己琢磨出了背景移动,动画的实现和游戏中插入视频,虽然很简单的东西,但是现在想起来仍然感到高兴。
《C++ Primer》 NPC 随时对话
由于最开始自己尝试学习的是PC游戏,C++是必学的,所以就买了这本书。这本书应该算是学C++最权威的一本书了吧,但是实在是太厚了,所以虽然买了很久了,但是楼主一直没有看完,看了几章之后我就决定放下,去找了本很薄的C++的书看了一遍,对C++了解了基础之后,就在实践中学习它,而把这本书当做字典来用,因为现在自己已经没有耐心去看一本厚达750页的讲语言的书籍了。
完成上面这些,楼主就达到了转职的条件啦
10~100级
数据结构 终极BossA
算法导论 终极BossB
这两货联系的太紧密了,经常都是成对出现的,而且难度很大,要死很多次都不一定打得过的那种,不过感觉这两货是可以慢慢处理的,不必急于一时,完全可以每天磨它们一点血,哈哈。这两本书楼主学的并不好,只是了解基本的东西,在以后还是打算再好好学习一遍。这两本书是最经典的书了,没有之一。目前只能说这两本书养成了楼主基础的数据结构和算法素养,当做游戏需要学习新算法的时候,也就比较轻松一点了。
在20~30级的时候,也就是半年前楼主转向了3D
《DirectX 9.03D游戏开发编程基础》 中级小怪
这本书就是传说中的龙书了,几乎学3D的人都会推荐这本书入门吧。当初要学3D的时候第一时刻入手了这本书。看完这本书后,楼主的感受就是它的确是一本入门书,讲述了最基本的3D东西,但是看完它是绝对不可能做出一个游戏的Demo,顶多能整出一个3D场景漫游的程序,但是这离我们想做出3D游戏的梦想还是差得太远。这本书讲述了3D的一些基本概念,但是很蛋疼的没有讲解动画,很是遗憾,但是看在它只有300多页,而且是小本书的情况上,它可以说是一本非常不错的书!即使不学3D,我觉得也是可以看看这本书,因为书不厚,但是可以对3D有一些基础的了解。另外,这本书的作者考虑到了初学者的心情,在每一节之后都可以让大家实现一个小小的效果,让大家有动力继续学习下去,这点很不错。
当然,由于它是一本入门书,对于3D的原理什么的没有讲解,比如投影变换和取景变换,视口变换的公式推导都省略了,这一点对于刨根问底的同学来说有点不足。
《DirectX 3D游戏编程使用教程》郑阿奇主编 中级小怪
这本书也是针对于9.0版本的,同时它是一本国产书。其实现在的3D教材基本都是把DirectX SDK文档给抄了一遍或者翻译了一遍而已,这本书相对于其他书来说要好很多,事实上在我看来,它比龙书要强很多,而且要通俗很多。首先它讲解的内容比龙书要多很多,多讲了输入控制接口DirectInput,球形天空,碰撞检测,骨骼动画,实时阴影,广告牌技术,LOD地形,音频处理,联网控制DirectPlay等很多东西,同时也要比龙书详细很多,非常适合初学者。有时候楼主觉得龙书看起来不是那么好理解的地方,看这本书会觉得讲的很清楚,所以学习DirectX9.0c的朋友们,更建议学习这本书,但是后来由于感觉3D是在是个大坑,加上大二课程太紧张,这本书后半部分没读完,但是前半部分很赞。
3D还有一些杂七杂八的书,楼主都只看了其中一小部分,就不写出来了。
到了30级,楼主发现,3D真的是个巨坑啊,入行需谨慎,对于个人来说真的是太困难了,想完成一个游戏demo都不是那么容易的事情,所以到现在楼主也只实现了3D场景漫游的那种简单程序。
其实楼主看的书真心不多,虽然楼主买了很多书,但是很多其实都没翻开过。。。。。。楼主更喜欢去CSDN这种社区看看大家写的博客,学习大家分享的知识。对了还有一本书,对游戏感兴趣的朋友一定要读一下,就是云风大神的
《游戏之旅—我的编程感悟》 大补品 满蓝满血
这本书讲了一些游戏方面的技术,但是很多都已经过时了,毕竟它是云风大神十年前写的书,但是正如书名所言,书侧重的是编程感悟,书中包含了很多云风对游戏的思考和认识,写的很深刻,非常推荐大家读一下
在两个月前,楼主觉得3D比较困难,就把它作为业余爱好,慢慢研究。决定先走向2D之路,楼主花了十天时间整了第一个简单的ARPG游戏,写了2150行代码,就是下面这货,这一次楼主感觉代码风格组织好多了,至少楼主会分层次了,写了地图类,人物类,动画类,管理类等等大大小小十几个类,感觉还是像那么回事了,虽然楼主从来没有见过一个完整的游戏架构,不知道真正的游戏是怎么架构的。
在近一个月前,楼主偶然发现了cocos2d-x这货可以满足楼主不学Java而写Android游戏的愿望,于是学习了一段时间,这也是楼主第一次使用传说中的游戏引擎,在前几天弄出了第一个Android游戏,Hi,我在这里
嗯,楼主的经历就是这样,接触编程到现在已经接近两年了,楼主目前仍然是一个初学者。马上就开学了,楼主就要大三了。在大二干了杂七杂八很多种事情之后终于确定了要做游戏,期待着大三一年可以在游戏开发上学到更多的东西,至少做出一款出色的游戏!