耳机中循环着《我不愿让你一个人》……21:14,还有不到3个小时,就要和2013说再见了,回首这一年,或许虚度,或许充实,或许遗憾,或许还有许多许多放不下的事,但时间的脚步不会因我的不舍而暂停哪怕是0.01秒,再见2013。

     踏上IT这条注定“辛苦”的路已有五年。五年,从开始连C语言是什么不知道,到现在算是半个见习程序员,觉得自己走了许多弯路,就像现在许多大学生,不是不求上进,而是太求上进,迷失在这丰富的开发技能中。从C到Java,从Console到GUI,从PC到Android,自己学的太多,也忘的太多,就像我的师兄告诉我的,我现在就像慕容复,看似会各种招式,其实不敌乔峰的一招降龙十八掌。

     寒假快结束的时候,师兄和我聊天,发了一张他目前正在做的一个项目的截图,基于Leap Motion的游戏。看到那张游戏图,脑海忽然划过……五年前,在第一节C语言课时,老师曾经说过,学完这门课,就可以自己写一个俄罗斯的方块。从小就被父母和老师断定为动手能力差的我,没有在现实世界创造过什么东西,看着别的小朋友做着各种模型,我不羡慕,也不想去做。然而,直到那时,我才发现,我所能创造原来不在这,而是在那发着光芒的显示屏里面。但是,正如我之前说的,那个世界所拥有的技能太多了,就这样,我花了四年时间被那些技能所驾驭……

    直到我看到那张游戏图,我想是该到坚持自己梦想的时候了。就这样,我开始了游戏之旅,Begin My Game Life。随后,我便接触到了第一款游戏引擎Slick2D。显然,这款游戏引擎的知名度不高,性能也马马虎虎。但我却狂热的研究了它两个月,就是因为它是基于Java开发,当时的我还幻想着用Java开发游戏,而这款引擎刚好给了我这个假想。后来,对这款游戏引擎的热度逐渐消退,资料太少,原作者也停止更新,Wiki和教程也随着网站的迁移而丢失,就这样Slick2D在我心中逐渐没落。

    后来因为项目需要,可能要把之前做的游戏移植到手机上,所以又接触到手机上的游戏引擎。能支持Android和iOS的游戏引擎,比较有名的大概就是libGDX和Cocos2d-x了。当时是Java偏执者的我,对C++是无比的讨厌,自然是偏向libGDX。然而,师兄却建议我用Cocos2d-x,确实Cocos2d-x比libGDX的知名度要更大,而且是由国人开发和维护,最为重要的一点是,Cocos2d-x的资料无论是中文还是英文都极为丰富,而相比较之下,libGDX的资料就仅限于官网教程和个别牛人的博客。就这样,开始了Cocos2d-x的学习。

   相比较libGDX和Slick2D,Cocos2d-x对于初学者可谓不友好到令人发指的程度,这也跟Java和C++本身有关。Java的环境搭建,几个jar包配个Build Path就基本搞定,相比之下,C++就繁琐的多,不是找不到头文件,就是方法找不到实现,虽然这些错误现在看起来很容易解决,但当时对C++一窍不通的我,唯有到处google。更奇葩的是,那时的我居然还想用Eclipse去开发Cocos2d-x,然后折腾了一个多星期还是没搞定,主要是我想在Eclipse写Cocos2d-x能有代码提示,但是就是这点功能,怎么也配不好。无奈,经过百般鼓捣,才终于搭好Cocos2d-x的利器——Visual Studio+Visual Assist X,在解决安装向导的脚本问题后,终于能正式学习Cocos2d-x。

    在学的过程中,都是仿照别的例子代码写的游戏,包括仿制Cocos2d-html5的《Marrior Wars》,《超级玛丽》,还有自己学Box2D做的一个半成品,总的来说,学的也是虎头蛇尾。到后来,因为论文的事,Cocos2d-x也就放下,也因为自己的那阵子热情已经褪去。

    然后就是从10月到现在,开始接触3D,学的OpenGL,还是一样走了不少弯路。从NeHe的教程开始,看不懂代码,但还是一行一行跟着敲,又去借了两本《OpenGL游戏编程》的书,继续敲。后来接触到《超级宝典》才发现,自己原来学的都是旧式编程方式。之后就开始学习可编程管线,一直到现在………

2013,就这样结束了,和以前一样,这一年仍然走了不少弯路。但我不知道走这么多弯路是不是件好事,只是心里有些遗憾。看着那么多牛人的博客,和我一样的学,别人却能做出很好的作品,而我却只能搭个半成品出来,也许不是能力问题,还是心态问题。坚持游戏开发这条路,我想勇敢的走下去,因为为了坚持这个在大一或许更早就有的梦想,我失去了,说不后悔是假的,但既然失去,唯有更加坚持!

 再见,2013——我的游戏梦在跌跌撞撞中起航!