制作:Harrison
这是今年我投入了很大精力的一个游戏,感谢有这么一个比赛的机会,能够充分展示这个游戏。如果你想给我投票,可以到这个链接:
http://99bill.flasherclub.com/FlashShow.aspx?id=c11u352523h73837
你还可以玩上一把,上传积分后有抽奖的机会。
【故事背景的设定】
在未来世界里,人类在自己的战争中消亡。他们的文明被其它动物所继承。不过坏分子们掌握了一些危险的武器,它们开始用这些武器统治世界。不过,一只老企鹅挺身而出,带着一只猪徒儿驾驶高级战斗机“铁皮听”号环游世界,帮助其它动物对抗坏分子。
当初制作时想要“国际化”,所以制作的故事介绍场景使用了英文介绍,现在可以看到倒数第三行有个明显的错误。在快钱版的游戏中为了减少容量以及对外网站的链接,所以去掉了故事介绍的功能。这个故事介绍的场景可以在这里看到。
【前期设定稿】
游戏开始制作前,首先定位为一个射击游戏,我找了很多射击游戏来玩,当然包括彩京的游戏。原来想做一个神怪的横版射击游戏,后来考虑机械化的东西比神怪的东西好设计,所以就变成了现在的动物仿生机械化风格。名字嘛,铁皮听就是铁皮罐子的意思。
主角战机:铁皮听号形象是取材于海豚,尽量让它显得胖嘟嘟的,还有白色的肚皮,两杆机炮是不是有点“五星物语”的感觉?
驾驶员形象:实际上这两个东西没在游戏中出现,只有在故事简介中出现了企鹅师傅的背影。企鹅师傅看起来像个“英伦时尚”的痞子,我还为他设计了一杆烟枪,突出他的一些特点。下面这个猪徒弟是很容易想到的一个形象,也许跟我们经常吃它们有关。防风镜、围巾、吊带裤,虽然比不上红猪酷,但也算是个飞行员了。
其实这些敌人才是射击游戏的真正主角:
*蚊子战机有多种运动方式;
*独眼侦察机要设计得鬼鬼祟祟的,还要承担给主角“输送”升级配件的任务;
*升起的炮台用于锁定航线,因为它的炮弹速度是最快的,炮口所对的地方,你无法生存;
*快速穿梭机平常是比蚊子战机还菜的敌人,因为它不会发射炮弹,其实它们只是飞行中的零件,一旦一个小队的穿梭机整合在一起就会产生强大的火力,向全方位发射旋转弹幕,在中Boss阶段会出现它们的加强版本,3个一组不但会发射比其他敌人更密集的直线炮弹封锁航道,还拥有厚实的装甲;
*蜗牛移动要塞,移动就像它的名字一样缓慢,但是它拥有结实装甲以及灵活的转向性双管炮台。微微闪烁的领航灯给人阴森的感觉。尾气很大,严重污染环境。
*鸭子战舰,也是个污染大户,尾部有密集的主炮群,可以封锁一大片天空区域,躯干部的快速炮台专门阻击漏网的战机。
好,以上设定基本完成,我要开始做这些东西了,我需要在3DSMAX中对这些东西进行建模,然后使用卡通渲染的效果将它们的动画渲染成PNG文件序列。一些模型使用rhino建模再导入,所以你会看到密密的网格和三角面。
【3D建模】
我们可怜得驾驶员只有这么一个动画,而且只在故事介绍场景中出现。
敌机集结!要想看到最终BOSS的风采,请在游戏中坚持到最后一刻!BOSS拥有最复杂的动画,其动作循环由CAT插件产生,身上不断凋落的石块由PF粒子流制作。
本来考虑如果反响强烈而且有收益,会设计其他的关卡,所以针对BOSS的特点设计了一个关卡名:
这是伸缩炮台的所有动画帧,在游戏中你也许不会注意得到:炮台升起后舱门打开,伸出炮管,上方伸出“潜望镜”。
【特效设计部分】
玩射击游戏的人追求的是破坏的感觉,所以我要在细节上满足这种需求。
(1)每种机体爆炸都会飞散出碎片,这个是在3DSMAX中用PF制作的,在flash中有些颗粒根本看不到,大多数很模糊,而正是这种碎片表面受光区域变化而引起的黑白闪烁造就了真实感。
(2)子弹打到机体上会有白色火花弹出,伴有轻微音效。
(3)爆炸分干脆型、烟火型、和连续型。
(4)铁皮听号复活时的闪烁效果,这时是无敌的。
(5)被击中的敌人的闪烁。
(6)铁皮听号爆炸后产生强大的冲击波,对敌人造成伤害,并消去敌方炮弹。
(7)地方的炮弹会闪烁,让人产生危险的感觉。
【音效设计部分】
不要以为这部分很轻松,有时配音比做动画还辛苦。比如炮台升起的音效,首先是升起时液压杆的摩擦声,然后是到位后卡住的康当的声音,接着炮台旋转的声音,炮管伸出的声音。不过有些音效是要忽略的,比如频繁发射的炮弹,如果也发声就会产生混乱。而主机体在不同等级发射的声音也是要仔细琢磨的,因为者影响到游戏的爽快感。另外敌人的爆炸声也同样带来爽快感,不可或缺。
【程序设计部分】
制作周期1~2个月,全天工作(包括美工等);我不熟悉OOP,这里使用的都是最简单的方法,没有创建一个类,不过我使用了OOP的思想,把一个个功能设计成了组件:比方说我需要一个MC曲线前进,我就扔进一个曲线前进的组件,这样的组件有几十个,有用键盘控制方向的,有定义Hp的,有复杂发射炮弹的等等,这样我就很容易的设计不同的敌人。而整个场景的行进就是一条时间轴。射击游戏的逻辑很简单,我看重的主要是场景搭建的方便程度,也就是说我的引擎就是一个关卡设计器,这样我可以把更多的精力投入到场景设计中来,而不是去研究那些酷得要死的高级代码。而且我的代码执行方式也很落后,只是每帧执行,没有那种固定时间调用的代码。所以:在慢的机子上,你会很容易躲避,很容易得高分。flash本来效率就低,如果再跳帧得话简直没法玩了。话说回来,组件得方式效率很低,权衡利弊我只能使用这样得方式,别忘了我是个人制作。
【场景流程设计】
一开始当然是出比较简单的敌人,炮台也很早出现,玩家不小心就会被快速的炮弹击中,炮台下方留有空挡,需要仔细靠近。大部分敌人的炮弹是瞄准玩家方向的。在较强硬的蜗牛出现同时,配件升级的机会也出现了,强硬的敌人要同时配合一些其他的敌人来进行骚扰,不让你安心的攻击。到达两个穿梭机小队的双螺旋弹幕时,场景停止,这是第一个高潮。之后简单的休息后,鸭子战舰出现,同样的也是中BOSS级别。注意到现在为止没有一次你能使用同样方法对付不同的敌人,而且任何时候你都不能定住不动。最终BOSS分3种弹幕形态,如果发现其规律,不难击破。
【游戏场景截图】
主菜单:背景是白线勾勒的云和浮动的铁皮听号。
画面大小:我设计时是按640x400设计,在网页上为了流畅度,显示为480x300;
帧数:设计目标帧数30fps,但是我发现在网页上执行都会减少几帧,所以我设定到了35fps。
帮助界面:这是个不可缺少的东西,在游戏中也可以随时调出。
战机的控制:战机的控制在方向上我使用了加速的设定,这样控制起来就不像是在控制一张生硬的纸片。不少玩家反应操作不灵活,那是因为在网页上玩的缘故,可以下载到本地玩,你会感觉流畅许多,安全设定正确的话也不影响上传积分。
战斗中画面:可以发现背景的卷轴相当简单,由于容量的限制和速度的限制我必须简化这些东西。
游戏GAME OVER画面,要上传积分或者抽奖需要点“到高分榜”按钮。
在游戏中,用鼠标点击坐下角的菜单,游戏就会暂停,在这里可以显示帧数,观看帮助以及退出和重新开始游戏,还能变化音量。暂停可使用P键,这个功能费了很大的周折,可以看到一个有趣的现象,一些动画在暂停后并未停止,如穿梭机还在自转,当然这些都是不影响游戏逻辑的东西。
游戏结束画面:每次玩可能你的分数都会不同,这里面没有什么随机的成分。一些东西是固定的:首先要宣扬的是“活下来”,机数剩余越多分数越高;然后的是节约炸弹资源,就是追求所谓的“no bomb”;然后是你击落敌机所得分数;射击评定是看你射出子弹的命中率;移动评定:如果你老是在神经质的摆动,这个分数就会低些。明白了这些道理,就去冲击最高分吧。厉害的是一些玩家得到的分数比我这个设计者得到的还高,甚至于我开始怀疑我设计的游戏是否会有这么多分。。。
另外,现在“快钱”的系统就是只记录你的最高分。