该GDC分享只免费公开PPT,视频需要GDC VAULT会员
分享的PPT下载地址:Evolving Combat in 'God of War' for a New Perspective
无法访问的可以到这里下载:
https://pan.baidu.com/s/1a1FGedhthon0yK7BTnlVbQ 提取码:6kjs
演讲者:Mihir Sheth(圣莫尼卡工作室首席战斗设计师)
辅助问答:Jeet Shroff(游戏总监和前游戏工程主管)
瞄准敌人(Targeting Enemies)
帮助玩家攻击他们想攻击的
在上图这样的战斗情景下,玩家按下攻击会向哪个怪物攻击呢?
右边的?因为离得近?
中间的?因为在屏幕中心?
还是就简单朝前方攻击就好?
公司高层要求他们在不适用锁定系统的情况下进行目标选择,同时又要可以流畅地和多个敌人进行战斗。
还要做到的一点是,无缝使用利维坦之斧的近战攻击和远程攻击。
近战瞄准
在1~3部作品中,玩家都是使用左摇杆操作主角转身,面向谁就算是瞄准谁。
在《战神4》中的早期尝试
让屏幕中心对准的方向作为瞄准方向。
但是玩家反馈并不好,竟然没有打到他们想打的敌人,导致手感很差。
最终解决方案
影响敌人被瞄准的权重的因素:
- 镜头朝向:通过右摇杆展现
- 是否在屏幕中
- 与玩家的水平角度
- 是否在屏幕正中
- 玩家意图:通过左摇杆展现。和前作类似,这样玩家会比较熟悉
- 与玩家的距离
- 是否是玩家正在攻击的目标
ps:斜体字的那些项拥有一票否决权
如果瞄准了一个敌人,玩家就不能手动调整主角的攻击方向。如果没有敌人,玩家就朝摄像机方向攻击,无法向其它方向攻击。
开发团队希望让玩家感觉自己就是奎托斯,奎托斯不会像智障一样打空气。因为镜头就在主角身边,任何一点问题都会被放大很多,打空气也是。
目标吸附(Suck to target)
注意:在攻击时,是主角被吸到敌人面前,而不是敌人被吸到主角面前
这个机制在《战神:崛起》用过
每次攻击都指定了参数:范围、速度和停止距离
每次攻击时,主角会依据以上参数被吸向敌人,让攻击敌人变得更容易
存在一个很出戏的问题:在上图这种镜头下,主角被吸向怪物面前时,玩家很容易察觉到吸的过程
另一个很出戏的问题:主角在被吸过去的时候,敌人远离的玩家攻击范围
解决方案:依据敌人和相机的角度来调整范围参数,角度越大,范围越小
远程瞄准
瞄准阻尼:当准心靠近敌人时,移动速率降低
自动瞄准:按下瞄准时,直接瞄准到一个敌人
目标锁定
高层要求要有目标锁定系统。玩家也希望有目标锁定系统,因为大部分玩家都熟悉目标锁定功能。所以在游戏即将发布时加入了目标锁定系统。
规则:
- 启动目标锁定系统之后,会选取玩家正在瞄准的敌人作为锁定目标,这样过渡会比较平滑。
- 使用右摇杆来切换想要被锁定的目标。
- 即使开启目标锁定系统也允许玩家调整镜头高度
- 即使开始进行远程瞄准,原本锁定的目标会被保留着,所以推出远程瞄准之后,还是会锁定着原来的目标
攻击敌人(Engaging Enemies)
动画位移
敌人受击后会后移一段距离,这时因为目标吸附功能的存在,主角会被吸向敌。
对于新镜头来说,敌人很容易被打出屏幕边缘,然后自动切换为一个新的敌人,就好像完成了combo得到了惩罚一样。移动的距离远了,玩家也很容易失去方向。
主角向怪物前移对战斗不利,因为视野会缩小。后前才会有利,因为视野会扩大。
所以,需要在 充满力量感的前移攻击 和 良好的战斗视野 之间进行平衡。
对策:
- 减少了怪物普通受击反馈的位移
- 减少了奎托斯攻击时的位移
- 编辑器可以程序化缩放动画位移,有助于快速迭代测试
攻击辅助机制(Strike Assist)
要想办法将被击中的敌人保留在视野中
进行一次攻击时,敌人的位移方向是 攻击方向 和 摄像机方向 的插值。
每个攻击都可以指定插值混合方式。
该机制的作用:
- 敌人不会被打出视野外
- 连续攻击同一个敌人可以将这个敌人拉到屏幕中央
- 连续攻击时,主角也会被吸到屏幕中央
- 远程瞄准更容易,因为瞄准时敌人已经在屏幕中央了,准心也在屏幕中央
该机制带来的额外惊喜:玩家可以通过控制镜头的方向来控制敌人被击飞的方向,可以创造出以下玩法:
- 将敌人聚集到一起来释放AOE
- 将敌人打下悬崖
没想到这样一个小机制可以带来这样的惊喜!
受击碰撞
敌人在受击位移过程中会对其它敌人产生碰撞反应(会有动作但不会受伤),可以将其它敌人撞开,这样可以更好的保护玩家。
Disrupting Enemy Aggression(不知怎么翻译比较好= =)
为了让玩家更加自信,激励玩家不断进攻。Aggressive状态下的敌人在播放受击反应时不会将状态切换为Non-Aggressive状态。这时受击敌人因为还在播放受击反应而无法攻击玩家,这给了玩家一定的优势。玩家只需要关注这个敌人和额外少数敌人。因为在普通难度下,一般只有两个Aggressive状态的敌人,玩家会很有掌控感。
这样会给玩家一个错觉:其它敌人看这当前被打的怪物这么惨,不敢上前了,老子真牛逼,老子就是战神本人!
哈哈哈,其实都被策划安排得稳稳妥妥的~
浮空攻击(Air Juggling Enemies)
开发组想更花式地玩弄敌人,于是开发了浮空连击功能
面临的挑战:
- 击飞到空中的敌人容易离开玩家的视野或遮挡玩家视野
- 利维坦之斧的攻击范围有限
- 主角无法跳跃,无法持续关注空中的敌人
解决方式:限制每个敌人的浮空高度,当怪物的位置高于一定高度时,会被施加一个向下的速度来修正高度。为了让这种体验正常,在浮空下落过程中不能依赖重力。
一旦敌人被打到空中,玩家就就将敌人维持在空中秀一下。为了保护玩家,被打浮空的敌人也会撞到其它敌人,敌人这个碰撞体比在地面受击要大得多,但是玩家还是要注意具有远程攻击技能的敌人。玩家要在合适的情况下在使用浮空打击。
总结
听完正常分享之后,我们会发现这其中并没有什么高深的技术,但是他们完成了一次老IP的全面革新。一开始提出新镜头时面对大量质疑的声音,但是开发团队依然坚持自己的决定。
原本可以选择炒冷饭的,但是开发团队没有这么做,而是做了一次大胆的尝试。这次尝试之所以能够成功,很大程度上因为开发团队始终坚持着相同的大方向,紧紧地抓住战神系列作品地核心--主角充满自信和攻击性,场景如史诗般恢宏大气,整体充满力量感
可以看得出来在变革的过程中,每一次面临抉择如果跟着直觉走,选择一条理所当然、合情合理的轻松道路走下去。可能就没有今天的战神了,在各种ACT中迷失自我。
创新总是艰难的,向战神系列致敬!
第一次写GDC解读类文章,如果有不正确的地方,欢迎大家留言指正
如果大家觉得哪个GDC分享非常好,可以留言推荐一下,合适的话我也去品品~
有不少同学问我怎么从零开始学习游戏开发,难以一一回复。这里整理了一份收集多年的优质学习资料,涵盖游戏开发的方方面面
链接: https://pan.baidu.com/s/1C-9TE9ES9xrySqW7PfpjyQ 提取码:cqmd
小弟才浅,如果本篇文章有任何错误和建议,欢迎大家留言
感谢各位人才的点赞、收藏、关注
微信搜一搜「三年游戏人」收获一枚有情怀的游戏人,文章持续更新,第一时间阅读