GDC 2019 Evolving Combat in 'God of War' for a New Perspective ⸺ “战神”战斗模式的全新变革 上篇
本文最后更新于:2023年1月1日 下午
该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(游戏总监和前游戏工程主管)
战神的新旧更替
《战神》是⼀个第三人称动作冒险游戏,玩家扮演斯巴达半神奎托斯,传说中的武器披荆斩棘,同时获得⼀些⼼灵的启迪。
为了方便不熟悉《战神》系列作品的同学,在这里对比一下老战神和新战神的战斗效果。
<iframe src="//player.bilibili.com/player.html?aid=713569276&bvid=BV1NX4y1K7Vc&cid=277325769&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"></iframe>
<iframe src="//player.bilibili.com/player.html?aid=22318492&bvid=BV1MW41157Jf&cid=36955509&page=1&high_quality=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0;"></iframe>
可以看到这是两种看起来截然不同的游戏,但是它们内在的玩法都包含了战神的精髓,游戏设计有着共同的基因。
旧战斗风格
- 激烈与技巧
- 满满的乐趣
- 强大的力量感
开发组一直想将日本动作游戏的烈度和技巧带到西方背景中。通过简易的玩法来扩大受众,同时将顶级的视觉体验带到玩家⾯前。
奎托斯是一个充满进攻性的角色,所以整体的战斗都充满力量感。对敌人对战时带给玩家一种在玩弄猎物的感觉。
在战神1~3中都是使用⼀个拉远的摄像机来完成的,在较远的地方可以看到奎托斯所有的动作。系列中的每一步作品都在不停地完善战斗机制、增强视觉效果以达到史诗般的效果。
新战斗风格
- 视角需具备踏实和亲密的感觉,需要适用于游戏的所有情景
- 利维坦之斧
- 玩家控制的第三人称镜头
在这个视角下将呈现很多新事物,例如北欧神话、同时兼顾近战和远战的利维坦之斧头、一个玩家控制的第三人称近距离相机且从不瞬切。
这个新相机的目的是让玩家拥有更加具备沉浸感的体验,让玩家更加靠近奎托斯,让战斗更细致严谨。
这么做将完全改变战神的战斗体验,而且必须要做得更好。
开发组要做两件事情: 1. 为新摄像机重新定义战斗 2. 保留战神系列的核心战斗特性
矛盾与战斗风格分析
用一个近距离相机来展现快速、激烈、充满力量感的史诗场景是一件很不可思议的事情。近距离和史诗两者本身就很矛盾,莫非要玩家达到”一花一世界,一叶一菩提“的境界才能欣赏这个游戏。首次在E3演示游戏时,玩家们都很惊讶这个设定,经常会说看不见东西。
构成战神战斗风格的元素: 1. 玩家及时响应式和combo式的出招,敌人各种夸张的受击反应 2. 充满力量感的向前位移式攻击 3. 轻松地同时与多个敌人进行战斗 4. 主角可以被轻易控制
对比其他动作游戏
大部分其他拥有类似相机系统的游戏带有视角锁定系统,注重一对一战斗,而不是打群架。这种游戏的战斗风格都偏向于保守和谨慎,因为这种镜头难以看清周围的局势。主角的攻击动作也不会向前位移太多。攻击会以攻击距离和攻击时机为考量点,而不是触发有趣的敌人受击反应。
这些游戏这么做也是合理的,因为战斗系统和镜头是相互配合的。玩家也喜欢这些游戏。
《战神4》没有办法参照其他动作游戏的做法,因为战斗的核心体验和其他游戏不一样。《战神4》的玩家在战斗时是充满自信和攻击性的,和其它游戏的保守谨慎形成鲜明对比。
研发组一开始反对新镜头也正是因为这个矛盾。
核心矛盾:近距离镜头 vs 主角的自信感、攻击性以及场景的史诗感
但是Mihir Sheth坚持认为这个新镜头设计是正确的,便一直朝着这个方向前进。
追踪怪物(Tracking Enemies)
敌人的战斗状态划分
威胁可以分为以下两种: 1. Aggressive:积极进攻 2. Non-Aggressive:后退和等待中
这两种状态会对敌人的行为和位置产生不同的影响。Aggressive的敌人会积极尝试攻击玩家,Non-Aggressive的敌人会在离玩家有点距离的地方徘徊,等着切换为Aggressive状态。
敌人的状态可以是这两种状态的其中一种,可以想象一下功夫电影种的打斗场景,敌人都是一个接一个来进攻,而不是多个敌人一起进攻。
为了能够追踪正确的敌人,即使玩家可以一次性和多个敌人进行战斗,玩家也必须要有办法知道哪个敌人是更具有威胁性的。
Aggressive Score
攻击性评分
Aggressive Score由四个部分组成:0-00-0-000 1. 是否可以切换到Aggressive状态:用于确保当前不处于受击或相关状态 2. 优先级:由策划为每一个敌人类型设置的一个数字,同时还要设置优先级的生效距离。如果超过了这个距离,那么优先级就将为了最低(应该是这么理解吧?) 3. 是否被玩家瞄准 4. 行动等级:依据当前是否在相机可视范围内、与相机的角度、与玩家的距离综合得出 ## Aggressive Token
为每种敌人类型设置一个数字作为Aggression token。
为当前可变为Aggressive状态的所有敌人的Aggression token值总和设置一个初始值M。每当由一个敌人变为Aggressive状态,则M减去该敌人的Aggression token值。若该敌人切出Aggressive状态,则M加上该敌人的Aggression token值。
敌人按照Aggressive Score从高到低进行排序,从排名高的敌人开始切换为Aggressive状态,直到M<=0。
上图的示例中,M的初始值为14。左列红框打了星号的代表切换为Aggressive状态,右列红框的数值就是Aggression token。从图中可以看出,当前只有最底下的哪个敌人不处于Aggressive状态。
这种方式可以很容易控制切换为Aggressive状态的敌人数量,可以通过调整M初始值的大小来调整游戏难度。 ## 敌人的站位
敌人站位方式需要切换的改革,需要配合新相机从头开始设计。 ## 确定设计方向
在1~3部作品中,敌人的状态决定敌人事在站在玩家附近还是远离玩家,这样敌人就被放在两个同心圆中。没有做任何分散敌人的处理,没有地形分区的概念。较远的镜头可以让玩家看到每一个敌人,可以很容易感知到敌人的威胁。不太有攻击性的敌人偶尔会在地图边缘移动,让战斗看起来好像很智能。
但是现在的敌人可能在屏幕内也可能在屏幕外,远的敌人容易被近的敌人遮挡,因此需要确保敌人合理地分散开来。 ## 第一次尝试:基于权重的站位系统为每个敌人找到最佳位置
在玩家周围铺设多个检查点,所有检查点跟随玩家移动。每个检查点的权重根据是否在navmesh上以及是否存在通往主角的路径来评定。处于Aggressive状态的敌人会到权重较高的检查点。这样敌人会分布在主角周围,类似老版战神。
这个方案前期使用着还行,随着时间的推移发现了一些问题,需要更有效的方案。
存在的问题: 1. 检查点权重评定变得单⼀、复杂、凌乱,难以debug 2. 玩家和敌人不断移动,检查权重经常变得无效,敌人经常聚集在一起 3. 玩家无法在大脑中构建敌人位置地图(mantal map)。敌人一旦不可见,玩家就会感到害怕,然后就不在变得自信和具有攻击性。这样就没战神内味了。
第二次尝试
不再为每个敌人选择最佳位置,而是不让敌人进⼊糟糕的位置。
Aggressive状态的敌人需要被约束在玩家面前的红色扇形中,让他们保持在镜头中。
Non-Aggressive状态的敌人会在玩家周围围成一个圈,像老版战神⼀样。
每个敌人都有自己的空间,跟随自己移动,其它敌人不可以进入这个空间中。
Aggressive状态的敌人拥有一个圆柱形空间。
Non-Aggressive状态的敌人拥有一个略微弯曲的矩形空间。有利于将敌人横向散落,又不会占用过多与玩家间隔的那块空间,因为大部分情况下Non-Aggressive状态的敌人比Aggressive状态的敌人要多。
比上一版好的地方: 1. 算法更简单 2. 算法不容易失效 3. 敌人的站位更好看
仍然存在的问题: 1. 突然切换为Aggressive状态的敌人可能会从玩家身后走到身前,可能会吓玩家一跳,而怪怪的,好像是专门过来找打的。 2. 玩家无法在⼤脑中构建敌人位置地图(mantal map),这个问题直到游戏快要发布的前几个月才被解决。
解决关键问题
关键问题:敌人如何以玩家想要的方式站位
解决思路:一个敌人要么一直在镜头中,要么一直在镜头外,除非是玩家操作导致切换
额外设计:一旦一个敌人掉到的镜头外,该敌人当前处于世界空间的哪个象限就要一直在这个象限中。这样即使敌人不在玩家视野内,也可以知道它大概在什么位置(ps:问题是玩家怎么知道敌人会被固定在一个时间空间的象限中呢?)
在这之后的测试中,玩家的操作变得自信和充满攻击性,这正是他们所希望看到的。
威胁指示标记
为了让玩家更了解镜头外的敌人在干嘛,他们考虑添加一些标记在屏幕。相比雷达或小地图,还是在HUD上做标记不容易分散玩家的注意力。他们在屏幕边缘闪烁和小箭头指示两者间权衡了利弊之后选择了小箭头的形式。
玩家知道的越多,就越有信心,所以箭头有三种颜色:白色代表附近的敌人、红色代表正在攻击玩家的敌人、紫色代表远距离攻击的敌人。
由于前面的站位系统做得好,所以小箭头的表现也良好,玩家容易理解。
运镜辅助
在激烈的战斗中使用右摇杆控制镜头会为操作额外增加一个维度的复杂度。《战神4》希望可以面向更大的玩家群体,所以需要设计一个运镜辅助机制。
两个机制: 1. 为敌人赋予一个权重,用于选取摄像机的聚焦点,摄像机自动调整使得聚焦点保持在视野中。 2. 镜头自动转向玩家攻击的方向
自动调整镜头达到玩家心中期待的状态不是一件容易的事情。虽然这套运镜辅助机制并不100%正确,但是可以缓解玩家不少操作压力。大部分玩家体验良好,如果玩家不喜欢也可以在设置菜单中关闭该机制。
第一次写GDC解读类文章,如果有不正确的地方,欢迎大家留言指正
如果大家觉得哪个GDC分享非常好,可以留言推荐一下,合适的话我也去品品~