C/C++教程

GDC 2019 “战神” 战斗模式的全新变革 下篇

本文主要是介绍GDC 2019 “战神” 战斗模式的全新变革 下篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

图片描述
该GDC分享只免费公开PPT,视频需要GDC VAULT会员

分享的PPT下载地址:Evolving Combat in ‘God of War’ for a New Perspective

没有梯子的可以到这里下载:

pan.baidu.com/s/1a1FGedhthon0yK7BTnlVbQ 提取码:6kjs

演讲者:Mihir Sheth(圣莫尼卡工作室首席战斗设计师)

辅助问答:Jeet Shroff(游戏总监和前游戏工程主管)

瞄准敌人(Targeting Enemies)

帮助玩家攻击他们想攻击的

图片

在上图这样的战斗情景下,玩家按下攻击会向哪个怪物攻击呢?

右边的?因为离得近?

中间的?因为在屏幕中心?

还是就简单朝前方攻击就好?

公司高层要求他们在不适用锁定系统的情况下进行目标选择,同时又要可以流畅地和多个敌人进行战斗。

还要做到的一点是,无缝使用利维坦之斧的近战攻击和远程攻击。

近战瞄准

图片

在1~3部作品中,玩家都是使用左摇杆操作主角转身,面向谁就算是瞄准谁。

在《战神4》中的早期尝试

让屏幕中心对准的方向作为瞄准方向。

但是玩家反馈并不好,竟然没有打到他们想打的敌人,导致手感很差。

图片

最终解决方案

图片

影响敌人被瞄准的权重的因素:

  1. 镜头朝向:通过右摇杆展现

  2. 是否在屏幕中

  3. 与玩家的水平角度

  4. 是否在屏幕正中

  5. 玩家意图:通过左摇杆展现。和前作类似,这样玩家会比较熟悉

  6. 与玩家的距离

  7. 是否是玩家正在攻击的目标

ps:斜体字的那些项拥有一票否决权

如果瞄准了一个敌人,玩家就不能手动调整主角的攻击方向。如果没有敌人,玩家就朝摄像机方向攻击,无法向其它方向攻击。

开发团队希望让玩家感觉自己就是奎托斯,奎托斯不会像智障一样打空气。因为镜头就在主角身边,任何一点问题都会被放大很多,打空气也是。

目标吸附(Suck to target)

注意:在攻击时,是主角被吸到敌人面前,而不是敌人被吸到主角面前

图片

这个机制在《战神:崛起》用过

每次攻击都指定了参数:范围、速度和停止距离

每次攻击时,主角会依据以上参数被吸向敌人,让攻击敌人变得更容易

图片

存在一个很出戏的问题:在上图这种镜头下,主角被吸向怪物面前时,玩家很容易察觉到吸的过程

另一个很出戏的问题:主角在被吸过去的时候,敌人远离的玩家攻击范围

解决方案:依据敌人和相机的角度来调整范围参数,角度越大,范围越小

远程瞄准

瞄准阻尼:当准心靠近敌人时,移动速率降低

自动瞄准:按下瞄准时,直接瞄准到一个敌人

目标锁定

高层要求要有目标锁定系统。玩家也希望有目标锁定系统,因为大部分玩家都熟悉目标锁定功能。所以在游戏即将发布时加入了目标锁定系统。

规则:

  1. 启动目标锁定系统之后,会选取玩家正在瞄准的敌人作为锁定目标,这样过渡会比较平滑。

  2. 使用右摇杆来切换想要被锁定的目标。

  3. 即使开启目标锁定系统也允许玩家调整镜头高度

  4. 即使开始进行远程瞄准,原本锁定的目标会被保留着,所以推出远程瞄准之后,还是会锁定着原来的目标

攻击敌人(Engaging Enemies)

图片

动画位移

敌人受击后会后移一段距离,这时因为目标吸附功能的存在,主角会被吸向敌。

对于新镜头来说,敌人很容易被打出屏幕边缘,然后自动切换为一个新的敌人,就好像完成了combo得到了惩罚一样。移动的距离远了,玩家也很容易失去方向。

图片

主角向怪物前移对战斗不利,因为视野会缩小。后前才会有利,因为视野会扩大。

所以,需要在 充满力量感的前移攻击良好的战斗视野 之间进行平衡。

图片

对策:

  1. 减少了怪物普通受击反馈的位移

  2. 减少了奎托斯攻击时的位移

  3. 编辑器可以程序化缩放动画位移,有助于快速迭代测试

攻击辅助机制(Strike Assist)

要想办法将被击中的敌人保留在视野中

图片

进行一次攻击时,敌人的位移方向是 攻击方向 和 摄像机方向 的插值。

每个攻击都可以指定插值混合方式。

该机制的作用:

  1. 敌人不会被打出视野外

  2. 连续攻击同一个敌人可以将这个敌人拉到屏幕中央

  3. 连续攻击时,主角也会被吸到屏幕中央

  4. 远程瞄准更容易,因为瞄准时敌人已经在屏幕中央了,准心也在屏幕中央

该机制带来的额外惊喜:玩家可以通过控制镜头的方向来控制敌人被击飞的方向,可以创造出以下玩法:

  1. 将敌人聚集到一起来释放AOE

  2. 将敌人打下悬崖

没想到这样一个小机制可以带来这样的惊喜!

受击碰撞

图片

敌人在受击位移过程中会对其它敌人产生碰撞反应(会有动作但不会受伤),可以将其它敌人撞开,这样可以更好的保护玩家。

Disrupting Enemy Aggression(不知怎么翻译比较好= =)

图片

为了让玩家更加自信,激励玩家不断进攻。Aggressive状态下的敌人在播放受击反应时不会将状态切换为Non-Aggressive状态。这时受击敌人因为还在播放受击反应而无法攻击玩家,这给了玩家一定的优势。玩家只需要关注这个敌人和额外少数敌人。因为在普通难度下,一般只有两个Aggressive状态的敌人,玩家会很有掌控感。

这样会给玩家一个错觉:其它敌人看这当前被打的怪物这么惨,不敢上前了,老子真牛逼,老子就是战神本人!

图片

哈哈哈,其实都被策划安排得稳稳妥妥的~

浮空攻击(Air Juggling Enemies)

开发组想更花式地玩弄敌人,于是开发了浮空连击功能

面临的挑战:

  1. 击飞到空中的敌人容易离开玩家的视野或遮挡玩家视野

  2. 利维坦之斧的攻击范围有限

  3. 主角无法跳跃,无法持续关注空中的敌人

解决方式:限制每个敌人的浮空高度,当怪物的位置高于一定高度时,会被施加一个向下的速度来修正高度。为了让这种体验正常,在浮空下落过程中不能依赖重力。

图片

一旦敌人被打到空中,玩家就就将敌人维持在空中秀一下。为了保护玩家,被打浮空的敌人也会撞到其它敌人,敌人这个碰撞体比在地面受击要大得多,但是玩家还是要注意具有远程攻击技能的敌人。玩家要在合适的情况下在使用浮空打击。

总结

图片

听完正常分享之后,我们会发现这其中并没有什么高深的技术,但是他们完成了一次老IP的全面革新。一开始提出新镜头时面对大量质疑的声音,但是开发团队依然坚持自己的决定。

原本可以选择炒冷饭的,但是开发团队没有这么做,而是做了一次大胆的尝试。这次尝试之所以能够成功,很大程度上因为开发团队始终坚持着相同的大方向,紧紧地抓住战神系列作品地核心–主角充满自信和攻击性,场景如史诗般恢宏大气,整体充满力量感

可以看得出来在变革的过程中,每一次面临抉择如果跟着直觉走,选择一条理所当然、合情合理的轻松道路走下去。可能就没有今天的战神了,在各种ACT中迷失自我。

创新总是艰难的,向战神系列致敬!

---------------------------------------------------------------

这篇关于GDC 2019 “战神” 战斗模式的全新变革 下篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!