除去各种底层技术值得专研外,请不要忽视了一个重要的东西GamePlay,你是游戏程序员,不是完成需求的机器。
给你讲讲我比较佩服的一为朋友的经历,国内制作人,名字就不提了。他本科学的平面设计,计算机是自己中学自学的,从小就爱开发游戏,他的关注点是“如何创造有意思的游戏”,单纯说技术,他自己都承认,自己的技术很烂,我每每看到他用各种“很烂”的技术开发出来的东西都会被吓一大跳:
机器人大战
这是一个他学生时候写的人工智能竞赛游戏,有多种机器人类型可供购买。为渴望挑战人工智能及喜爱收藏的人们提供了新的交流方式。机器人品种的可扩展性带来了很多乐趣,虽说该游戏在入手方面有点难度,在PCHome上一度登上游戏类下载排行榜。
他花了两个月用TurboC独立开发出来的,看起来效果一般,但你别用U3D,别用cocos,去turboc下实现试试,何况抛开图形,就游戏核心玩法的复杂度,放在熟练的程序员也要开发很久,可人家还是学生时候做的。当时引起了很多人群的关注,他们学校里同学们用这个作品组织了一场校际比赛,结果引起了极大的反响,在一开始没有多少人主动参加这次比赛,比赛的那天有很多同学被精彩的对抗所吸引,几乎所有的观众都在自己的座位上看完了整个比赛。他说:“现在想想那时候的情景都能让我兴奋不已。”
多人乱斗
他大学时候继续使用落后的TurboC开发的游戏,没学习过3D美术学过透视作图,相似三角形计算远小进大,用伪3D的模式开发出来。游戏中既有远程射杀武器,又有近距离搏斗技巧,还有夸张的碰撞效果,还可以躲避敌人的视线来实现隐秘行动,这个游戏手感很爽快,可玩度很高,图像的确太糟糕了,于是他又做了一款改进版:
加入了简单的多边形绘制,镜头自由移动,不知道zbuf,他知道远处东西先画近处东西后画的画家算法,没学习过3D,他厉害的就是“创造性”三个字上:能充分发挥现有技术,创造出让人眼前一亮的效果来,效果上有所提高的加入了更多武器,潜入玩法,敌人有视线范围,还有比较拟人的AI,你要注意避让,还可以从后面上去偷袭,当然,如果技术够好,被敌人发现了也不怕,一场激烈的枪战而已,可以利用各种武器制胜,还要充分利用地形,比如射击汽油桶会爆炸,普通墙壁可以躲避。我玩了一下,还真有点合金装备的意思呀。
我当时问他,为什么不再Windows下开发,更简单了,他说他没有学习过Windows程序设计,主要是把时间花在实现游戏各种乐趣上了,Windows下程序设计他也看过,Dx,OGL好多东西新学费时间,没个一年多他弄不出来,DOS下内存少载入的东西多了就退出,我说我给你写个简单的框架吧,写起来也挺简单的,他试用了一下,觉得不好用,还是习惯DOS编程,后来我给他用WatcomC++写了一套库,满足他DOS下继续开发游戏的想法,解决了图像弱智,没有音乐,没有音效,性能上不去等问题,他用着很爽,又用它开发了好几个游戏,他不擅长钻研底层技术,确实能够充分的将他会的东西发挥的比较淋漓尽致的人。
即时战略
这还是他学生时候开发的即时战略,比起商业即时战略弱智很多,但还是有很多经过他自己精心设计的部分,如:支持双人对战;机器人会变形,幻影战车(速度快,激光导弹难以瞄准),士兵由农民进入兵营训练而成,弹药补给,自己组配士兵装备以及战车配置等。
他经常羡慕我知道各种底层技术,我面对他的一款款作品,却自愧不如,他是能够将现有技术充分发挥作用的人。计算机的技术再怎么发展终归都是有限的,而人的创造却是无限的,以无限的创造衡量有限的技术,以无法以为有法,以有限而为无限。即便是只使用DOS下几种弱智绘图方式,他手底下也能点石成金,变成一个效果上超出大家预期,充满乐趣的游戏。
比如他读中学才学习电脑的时候,接触的是FoxBase这个财务软件,他无师自通的使用FoxBase开发出一个RPG游戏来:
他高中时候FoxBase下的RPG游戏,玩起来别有一番风味。对于他而言,技术是达到目的的手段,发掘快乐的本源,完善游戏各种细节,流畅的手感,有张有弛的节奏,这一切才是GamePlay的核心。
2003年时我闲着无聊,帮他优化了一款动作游戏,《Hurricane2》,主要是他开发的,一款比较爽快的动作游戏,图形一般,但他后面又修修补补加了很多有趣的元素,这是我硬盘上至今保存的比较完整的他的作品了: