挖坟谢邀。
稍稍澄清下 @GOUKI 兄关于实现复杂度的一个说法。
对于大部分古典动作游戏,水平移动是纯自由操作,不按键就静止,按键就移动;跳跃和移动完全分离,只是增加了一个竖直运动同时修改了角色状态而已。对于这样的游戏,恶魔城式跳跃(跳起来不可修改运动轨迹)和松鼠大作战式跳跃(跳起来依然可以自由控制)的实现复杂度是没什么区别的,硬要说的话代码行数甚至后者可能更少一点——因为恶魔城式的起跳动作需要额外判断一下←和→的输入状态,用来初始化这次跳跃的水平运动方向,然后角色跳跃状态还要再加一个屏蔽方向输入;松鼠大作战式则不需要,没有起跳初始水平方向的概念,也没有所谓的处理跳跃中移动的代码,移动逻辑是和地面跑动统一的,都只是设置下位移和朝向标记而已。
洛克人、赤影战士等手感较好的动作游戏应该都是类似的逻辑,空中一松方向键就垂直下落了。魂斗罗比较特殊,它起跳是有初始水平方向的,而且会全程保持,但空中输入←或→会强行覆盖掉水平方向,所以在斜跳过程中你无法使角色垂直下落,只能左右左右摇摆。这个手感在跳平台的时候相当讨厌。另一方面,魔界村则是在恶魔城无法控制跳跃运动轨迹的基础上,支持空中转身。无论如何,从程序角度看,这几种跳跃系统的实现难度半斤八两。
只有马里奥那种带「加速度」的微妙手感实现起来确实会比较复杂,或者说马里奥的整个移动系统都比较复杂。如果单纯以马里奥和恶魔城作为「是否允许改变跳跃轨迹」的正反代表的话,说马里奥那种做起来更难一些是对的。
这个不影响题主问题的结论。是否允许改变跳跃轨迹,取决于游戏性设计。固定跳跃轨迹比较适合场景活动范围小、没有坠落惩罚的格斗游戏,但动作游戏这样搞就会搞得手感很「轴」,不好玩。相对而言,空中可以自由辗转腾挪,或是一定程度上扭动改变落点的设计会使游戏操作更加灵活,是比较讨喜的方案。
当拟真和好玩出现矛盾时选择拟真,是垃圾游戏的旗帜。