我的游戏编程之路(一)
【序?】
一直觉得时间过的越来越快。2010年一晃就过去了,甚至比2009年过去的更让我觉得不可思议的快。在这个21世纪的第一个十年结束时,我想我有必要来一个总结。
【家庭的熏陶】
1983年,那个流氓罪盛行的年代,我出生在山东的一个小村子里。据说,我小时候很喜欢带字的纸,一看到带字的纸,我就不哭不闹了。
我的父亲是一位家用电器维修师,他靠半自学的电器维修技术,支撑着我的家。家里的藏书很多,几乎全部是父亲的电器维修技术的教学书籍和杂志。其中,《家用电器》《电子技术》《无线电》等杂志上,从80年代开始,就有刊登各种计算机相关的文档。从那些文章里我了解到了苹果II电脑,中华学习机,PC/XT等。好像是《家用电器》杂志上,一直有一个展望全球科技的栏目,名字忘了,但是几乎和现在的cnbeta的模式完全一样,每期刊登了各种全球范围内的科技动态。现在还记得的是上面说的投射式头戴显示器,和平板电视等。
不过最吸引人的还是里面刊登的各种编程的文章,虽然看不懂苹果2的汇编,也看不懂BASIC,C语言,但是没看一遍,还是充满了兴奋的感觉。
我当时的梦想就是有一台自己的电脑,可以自己把杂志上的游戏程序输进去,运行起来,自娱自乐一番。所以每次一有空,我就捧着大本大本的杂志对着上面的广告流口水。不过以我家里当时的条件,是肯定达成不了我的梦想。上面一台中华学习机就5000元了,我家里当时的年收入还达不到这个数呢。更不用说那个IBM的PC/XT,竟然要咋舌的20000元+,我当时就震惊了。
【游戏的诱惑】
不过,我最终还是有了一个近距离接触计算机产品的机会。自从村里的一个幸运的孩子的老爸把广告上的价值1500元的任天堂红白机从日本给他带回来后,我就成了他家里的常客。那时候玩的四人街霸,猫捉老鼠,魂斗罗是那么的好玩,以至于我的所有零花钱都进了他的口袋。
从那时候起,我就对游戏非常的着迷,只是想玩,想玩到更多更好的游戏,想看到更先进技术的游戏出现。我从最开始的红白机上的《魂斗罗》,一直玩到世嘉的16位游戏机上的《沙漠风暴》,再到土星上的《1945》《梦幻模拟战》,PS上的《山脊赛车》。一次次的激动,让我越发的对这些游戏的设计和制作产生了兴趣。后来,我玩游戏的脚步又回到了电脑上。《沙丘》《命令与征服》等,让我欲罢不能。
最终我打算将游戏设计和制作当作我的理想的原因是,我玩到了一个FC游戏,叫做《三国志2霸王的大陆》。喜欢策略游戏的人可能都玩过这个,我玩这个游戏的时候,又一次震惊了,游戏竟然可以做的如此的耐玩和有深度。我于是下定决心一定要做一个这样耐玩和有深度的游戏。
【家长和老师的理解和支持】
初中的时候,我面临着升高中的压力。那时候,我就读的小镇上有一家特别牛逼的乳品公司,还请范冰冰做过广告。他们捐助我所在的初中,建立了当时全市最先进的计算机机房,并且开了计算机课。而我那一届是首次开计算机课的一届。我怀着兴奋的心情,在第一次上课的时候,就把教计算机的老师拿下了,成了他的课代表。
那时候机房是个神圣的地方,每次去都得换拖鞋。而且只有20台机器,所以需要两人一台机器。不过大家的兴致都很高,每次去都很欢乐。
后来我跟老师混熟了,就可以经常去了,也经常借他的杂志和报纸看。那时候他经常看的是《电脑报》和《电脑爱好者》。我也跟着他占了不少光,从这些杂志和报纸上学到了很多很多的东西。
从老师那里,我也学到了很多东西,包括当时风靡全国的foxbase数据库系统。用它来编程,解决各种问题,是我在学校里找到的最大的乐趣。当然,我也肩负着期末考试后的分数统计和排名次等工作,不过那时候,这些都是我的乐趣。
学了这么多东西,我更急切的想拥有一台电脑。在这个时候,我妈妈以实际行动支持了我,给我买了一台“步步高学生电脑”,花了800大元,那是我妈妈做了好几个月的机绣工作赚回来的钱。
“步步高学生电脑”在那时候,应该算是一个神物,因为他的人机界面是仿DOS系统的。DOS里的.COM文件,对应的是.CMD文件,DOS里的.EXE文件,对应的是.EXC文件。仿的实在是太给力了,甚至IO.SYS和COMMAND.CMD都有。后来,还出了BBGCDOS,中文DOS系统。而且和UCDOS,SPDOS一样,是在英文的DOS基础上通过执行程序的方式加了一层,而且还能通过参数选择性加载一级或者一二级字库。不过,因为学习机可怜的512K内存,加载了二级字库后,能开的应用就十分有限了。我现在还记得,当时上面出过WPS,EDIT,ASM汇编系统,FBASIC,EXCEL,LOGO等办公和编程的软件。他们应该是当时国内学习机做的最牛逼的一帮人了。
在这个学生电脑上,我学会了五笔字型输入法,BASIC语言。并且用FBASIC写了大量的程序,小游戏,小工具等。甚至还写了我的第一个游戏修改器。当时我玩FF2的时候,因为能力太低,所以老是被菜。由于当时游戏是以.GAM的形式存放在磁盘上的,所以我推断存档肯定在文件内部,于是我就写了个BASIC程序,顺次读出.GAM里的所有字节,查找游戏内的某些数值。不过最终还是失败了,没有能够实现数据的修改,现在看来,可能是游戏存档采用了压缩的数据格式。
【高中的狐朋狗友们】
转眼就上了高中,我感觉压力很大。不是学业的压力,是父母和老师的压力。桌子上摆的都是书本,玩的时间很少了,睡觉的时间也少了。于是,我就加入了坏学生团队,经常借故逃学,到网吧上网,玩游戏,聊QQ。
那时候有一帮子人,都喜欢玩《红警2》和《传奇》还有《反恐精英》。我加入后,也是经常和他们在网吧里玩这些。和他们不一样的是,在他们聊QQ,泡MM的时候,我在到处浏览着游戏开发,游戏编程的网站。那时候似乎是有一个小高峰,网上出现了很多个人的游戏开发网站,比如“何苦做游戏”“云风工作室”“陈忾的游戏世界”“樊一鹏GAME1ST”等,还有著名的“金点工作室”。我当时也成立了一个工作室,就我一个人,名字叫“精灵工作室”。最早是申请的8u8的免费域名,后来忘了那个公司在搞游戏开发者国际域名申请。我申请了demonstudio.net这个域名,并且还用flash5做了个进入动画和导航。
那段时间编程是用VB了,我在网上找到了很多DX7FORVB的资料,还自己画了很多素材。写了很多的地图编辑器,也写过很多RPG的DEMO。为什么是RPG,因为当时网上流行做RPG。其实最好玩的是我遇到一个韩国版的《西游记》游戏之后,那个游戏的资源是放在DLL里的PCX,我用一个解资源的工具,把里面的所有资源都解出来后,让我很是兴奋。RPG的地图元素和角色终于不用我自己画了。主要是我的配色好丑。
后来,我觉得RPG没有什么意思了,就又做了一个飞行射击的游戏。由于没有资源,又再一次把自己画的飞机放上去了。并且加入了很多特效。做这个游戏的时候,我第一次认识到了粒子系统。
再后来,高三了,我继续逃学,并且开始混新浪游戏开发论坛,认识了云风啊,骷髅啊,新疆人在北京啊,还有个整天在说胡话捣乱的,忘记名字了。也在高三,我学了c语言,看的是一本很小的32开的C语言小册子。我第一次用VC6的时候,感觉到处都很神秘。还是在高三,我加入了金点工作室,用我的RPGDEMO和飞行射击游戏来面试,他们很快就同意了,可能也是因为正值他们的圣剑2后期了,需要人手,于是我被分配来进行圣剑2的除BUG。
话说圣剑2的代码还挺容易看的,我所做的就是改进了下寻路的一些东西,比如遇到障碍时等一会啊,遇到地图跳转时处理一下啊,这样。后来我还给圣剑2换了个多边形按钮的主菜单,不过因为兼容性问题,后来还是取消了。话说当时金点工作流程也挺规范了,每周有例会,还有专门的工作日志,虽然只是写在内部论坛里的一句总结。
后来被我的狐朋狗友们拉去玩《传奇》,不过这游戏升级真是难。在某一天的下午,我头脑一热,决定写一个《传奇》的盗号木马,得到了朋友们的一致赞同。在网上找到了WIN95隐藏进程,SMTP协议,读写进程内存的资料并奋战三个昼夜之后,我写出了我的第一个,也是最后一个木马。这个木马后来被金山毒霸收录。
高考了,我的学生时代也结束了。而在这之前,我做的最成功的一件事情就是在网上把自己给卖了。那时候,有两家游戏公司说,我可以过去上班。最后,我还是选择了去上海,因为跟我谈的是一个技术,而深圳那家公司,是个人事MM在跟我谈。毕竟还是技术和技术比较谈得来。