【译】创建有趣平台游戏的11个技巧
游戏中有数个空中平台组成的水平面,角色可以在该平面上跑跳——这种游戏即为平台游戏。虽然本文重点在于平台游戏,但是每个创意背后的理念也可以应用于任何类型的游戏,无论是2D游戏还是3D游戏。以下内容不但列举了制作一款有趣游戏的诀窍,也包括开发过程技巧。
1. 保持操作简单
玩家通过敲击跳跃按钮来进行跳跃——这就是一个简单的操作。对于玩家来讲,挑战在于在恰当时间敲击跳跃按钮来完成游戏。也就是说,难度不在于按键,而在于在恰当时机按键。
操作越简单越自然越好,就像假如司机在路上一心盘算着如何转弯,交通事故就会越来越多。
菜单和游戏的其他交互部分也需保证操作简单。菜单项之间必须易于切换,并且易于选择选项。
2. 使重要信息显而易见
游戏中的重要信息需让玩家一目了然。角色行走的平台一定要从背景中突显出来,可收集的物品一定要易于发现。HUD上玩家所需的信息应一目了然,字体需清晰易读。玩家必需知道菜单状态。
3. 注意碰撞范围
安全对象的碰撞范围比其自身大,危险对象则相反。安全对象包括能量提升对象、开关、梯子和摇摆绳。危险对象包括敌人、敌人子弹、钉子和旋转刀剑。碰撞范围越大,玩家就越容易碰到或者收集到安全对象;反之,玩家越容易躲开危险对象。
绿色矩形是安全对象的碰撞范围,红矩形是危险对象碰撞范围,黄色矩形内是玩家。
(注:碰撞范围也可以是碰撞矩形、碰撞边界框、碰撞球面、碰撞区、碰撞多边形等等。如果玩家的碰撞范围与物体碰撞范围重叠,玩家就与物体碰撞。)
4. 容易跳过间隙
当玩家处于绿色区域里时可以跳跃,右侧绿色区域较大,这样玩家更容易跳过平台(这样很好)。
根据惯例及实际来说,在游戏中,玩家只有在他站在实物上时才可以起跳。但是,当玩家只是刚刚踏出平台边缘时,就允许玩家在空中起跳。空中起跳的延迟大约为1秒钟(超过一秒玩家就不可再起跳,并且摔落)。这样玩家就可以更轻松地从一个平台跳至另一个。
5. 允许随时随地改变活动状态
角色的动画应遵循玩家的动作,而不是其他方式。也就是说,玩家动作不应受动画限制。理想情况下,任何动画都可以随时从任意动画状态开始。玩家想要跑、跳、抓住半空中的梯子、攀爬、开枪,之后从梯子上跳下来,动画应该跟随玩家做这一系列事情。
同时,在玩家可以重新移动之前,他不必等待其角色动画技术。当前一个动画还在进行时,玩家仍可输入,不必等待动画结束再重新移动。
6. 提供大量能量提升和可收集物品
大多数孩子收集物品纯粹是因为有趣,当玩家在电脑游戏中收集物品时也带有同样的愉悦感。在游戏中添设可收集物品,越多越好。
对此没有逻辑原因,就只是因为好玩。
7. 编写一般但通用的AI
设计并编写少量基本AI代理,每个代理包括若干变量,这些变量被赋予不同值来创建大量不同AI代理。
基本AI例子:
行走AI
在水平面上行走
变量 | |||
生命值 | 速度 | 跳跃高度 | 攻击模式 |
1=简单 2=一般 5=困难 | 0=静止(固定不动,如维纳斯捕蝇草) 1=缓慢 2=中速 3=迅速 5=极速 10=缓慢,但当玩家接近时变迅速 | 0=不可跳跃 1=低 2=中等 3=高 4=当玩家在正上方时跳得高 | 0=无,只是漫步 1=近距格斗 2=中距格斗 3=远程发射炮弹 |
例子:骑士、射手、火元素、巨型维纳斯捕蝇草、小精灵。
飞行AI
空中飞行物
变量 | |||
生命值 | 速度 | 沿对角线飞 | 攻击模式 |
1=简单 2=一般 5=困难 | 1=缓慢 2=中速 3=迅速 5=极速 10=缓慢,但当玩家接近时变迅速 | 0=不可对角飞 1=可以对角飞 | 0=无,只是漫步 1=近距格斗 2=中距格斗 3=远程发射炮弹 |
例子:鹰、狮鹫、幽灵、空气元素、矮人直升机。
爬行AI
在任意水平、垂直、对角线和上下平面上行走。
变量 | |||
生命值 | 速度 | 下降 | 攻击模式 |
1=简单 2=一般 5=困难 | 0=静止(固定不动,如维纳斯捕蝇草) 1=缓慢 2=中速 3=迅速 5=极速 10=缓慢,但当玩家接近时变迅速 | 0=不能从顶端下降 1=从顶端随机下降 2=当玩家在下方时下降 | 0=无,只是漫步 1=近距格斗 2=中距格斗 3=远程发射炮弹 |
例子:巨型蜘蛛,蠕虫,杀手蜗牛,黏土元素。
8. 头脑中有剧情和氛围
在开发前期确定好游戏剧情,它是游戏整体氛围、艺术风格和目标的总纲,剧情可走复杂路线,亦可走简单路线。你可以在过场动画和对话中向玩家展示剧情,或者你根本不需要向玩家展现这些,只要每个致力于开发游戏的人知道游戏剧情是什么就可以了。
剧情实例:在月球基地上,一个水兵单独对战成群的僵尸和恶魔。
单独——单个玩家,单一角色。
水兵——战士,军队,军人,坚韧,枪,射击物品
对战——动作,战斗
成群——许多敌人,毫不留情
僵尸——血腥,开枪无效
恶魔——超自然,黑暗
月球基地——科幻,未来主义,遥远
9. 明确定义范围和时间
列出完成游戏所需完成的任务,之后估算实施列表中每一项所需时长,你最后算出的总时间是你完成该游戏花费的最小时长。
先这样来看:如果你的设计文档有50页,并且完成每页的游戏特性平均需要2天,那么你会花费至少100天来开发这个游戏。初期文档上不会包括游戏中最终呈现的所有内容,这是很正常的。在开发过程中,文档中会添加更多内容。
再这样来看:如果创建并动画一个人物会花费一个美工2周时间,那么创建10个人物就会花费20周,那是五个月——几乎半年。如果你有两名美工,那么就会花费一半时间来完成人物。但实际上还是需要20周的工作,也就是说,你仍旧要付20周工时的工资。
在整个开发过程中,人们很容易想到新点子加入到游戏中。但是,每当你加入一个新特性,你就将进一步推迟发布。继续在常规基础上添加新特性将会使你的游戏开发没完没了。当你添加了一个新特性,你就得想出另外的办法来解决最后期限问题。你要确保优先完成最初的特性列表,这样一来,如果(或者当)你时间不够用了,那些次要的因素就可以放弃了。
不要因为开发出来的游戏特性太少而感到不好意思,那些嘲笑你的人可能自己还在鼓捣一款他们15年才能完成的MMO。
记住,世界上最棒的感觉之一就是完成一个项目。
10. 在选定理论乐趣之前完成原型制作
在这个有占位符图形的原型中,绿色块是主要角色,红色块是敌人,将其与下面图片进行比较。
关于电脑游戏的优秀创意不计其数,但不是所有创意都有趣,找出有趣创意的最佳方式就是进行游戏原型制作。原型制作是游戏的“快做易改”版本,它可以帮助你测试你的游戏创意。
为什么要进行原型制作?长远来看它可以节约时间。你有没有这样的经历:因为游戏不好玩而修改设计,而你就不得不重新创建图形或者编写游戏?
为了节约时间,利用现有的游戏引擎,再从网上下载免费资源来创建原型,这个原型可以在游戏成品使用的引擎上完成,并且一些代码可以复用。
利用文艺复兴艺术形式的游戏成品
游戏原型也可能是一个完全独立的程序(或程序集),当游戏成品大功告成之后就会被舍弃。鉴于这个原因,有一些人不喜欢原型制作,他们认为这是对于资源和时间的浪费,因为最终的原型“产品”是要废弃的。不如这样认为:原型制作就是开发的另一个创意阶段,在这段时间内,你可以充分测试你的想法、修改、替换、努力推敲,直到你的创意是有趣的。因此,原型“产品”是用于测试想法的工具。
记住:原型制作一定也要包含进入你的任务列表,它也理所应当被纳入你的日程表。
11. 让每个人都参与设计
如果美工参与设计游戏角色的话,他们是不是会将人物绘制得更好呢?或者如果他们想出了关于角色的新点子,岂不是更好?如果程序员参与了系统设计,他们是不是会将游戏编写得更好?
答案是肯定的,而且这样对游戏开发也更有利。
游戏制作是一种创意合作。如果只有一两个人设计游戏,创意是有限的。如果人人都可以参与到设计环节,他们通常会更兴奋并且会更加投入到项目中。这个过程不必总是很正式,也就是说,你不需强求召集全员参与会议并把会议列入日程表。大家可以通过发邮件,在厨房谈话,或者隔着房间喊话这样的方式来交流想法。
翻译自:<11 Tips for making a funplatformer / http://devmag.org.za/2011/01/18/11-tips-for-making-a-fun-platformer/>
已获得作者翻译授权,证据请参考下图: