格斗游戏的制作比自己想象中要难多了...
现在对于刘川来说:
角色扮演是最简单的,尤其是回合制角色扮演,因为机能限制,不用考虑成本高昂的CG运算,制作者只需要关注游戏剧情和调节数值能力平衡就好。
其次就是飞行射击和横版过关游戏,一个难在需要制作者考虑所有物体的运动轨迹,一个则难在需要设计关卡地形。
而格斗游戏的难度则远远远超它们。(没有打错,就是远远远超...)
虽然横版过关游戏也有角色和物体碰撞的判定,比如魂斗罗中主角碰到敌人或者碰到敌人发出的子弹,都会死亡。
但是这种碰撞判定是非常简单,都是一触即发,并且是单向的。
而格斗游戏就完全不同了。
首先与其他游戏相比,格斗游戏完全改变了游戏玩法,直接由玩家对抗NPC,变成了玩家对阵玩家。
其次格斗游戏之所以叫格斗游戏,就是因为每个角色都会不同的格斗动作,不是通过角色身体碰撞接触,就直接造成伤害,而是通过使用不同的动作来触发判定,最后造成伤害。
简单来说,一般横版过关游戏中,玩家控制的角色,只要在画面中碰触到了敌人,无论哪个部位,因为产生了接触,所以直接就会进行判定,玩家受到伤害。
而在格斗游戏中,即使两个角色,头顶头接触在一起,也不会触发伤害,除非某个角色发动攻击,比如挥拳:拳头与对方发生碰撞后,触发判定,最终造成伤害。
听起来很简单,不就是增加了动作产生碰撞吗?
但是实际完全不是这么回事。
因为挥拳是一个从最开始的起手、到挥出拳头、最后收回拳头的一个完整过程。
真正造成伤害的只有中间“挥出拳头”那个动作,简单按照帧数来说。
一个完整挥拳动作是30帧,其中起手10帧,挥拳10帧,收拳也是10帧,那么真正造成伤害的就是中间的那10帧。
最初的10帧和最后的10帧并不会产生碰撞效果。
是不是觉得也不算复杂,但是这是格斗游戏,格斗游戏可是两个玩家对战。
如果同时出拳,谁应该打倒谁?
该如何设置每个角色的碰撞帧数?提前几帧造成伤害,角色可能强大到无敌,稍慢几帧角色又可能弱到爆。