开发故事之《我们是怎么做竞技篮球的》
市面上PvP篮球游戏不少见可是往往会让喜欢“刚正面”的玩家们失望,所以说篮球游戏该怎么做才好玩,这是个值得抓掉头发去思考的问题。
为了让游戏能有长久的生命力,《3对3》从立项开始就把竞技性作为主要目标,所以在竞技这两个字上面做了很多实实在在的努力,我们希望能做出个和其他不一样的、能被玩家认可的、体验够好东西。这篇东西穿透幽暗的层层迷雾直击灵魂深处(大误),可能会有点儿长,如果没耐心看完直接跳到结尾点赞即可😅。
头发渐渐消失
做个竞技游戏,我们面临的第一个问题就是平衡性到底是什么东西,在篮球游戏里面到底什么是平衡性。
大家都不会认为 SG 和 PF 能在篮下平分秋色地对抗就是平衡了,想来想去头发掉了很多之后,我们把平衡性这个问题抽象成了两个设计目标:第一个是要保证比赛对所有玩家都公平并且能有足够丰富足够多的打法和变化就像真正的篮球比赛一样。所以在游戏里不能出现那些简单的无敌玩法或者无敌的技能、不能”无脑**“、不能100%断球成功、不能充够钱之后一出手就让对方完全无法对付……这是因为博弈过程的前提是双方在这个过程里面都可以做些什么,否则就不是真的在打篮球了啊;第二个是要有够多的可用的职业组合,例如C+PG+SG, C+SF+PG, SFx3 等等等等,不同职业组合的比赛战术和打法应该很不同而且和对手的打法也有关系,这就带来更多变化,游戏过程自然就更有趣。我们做的设定都是从这两点出发的。
因为“控制篮板球的人就能控制整个比赛”,这次就从抢篮板开始介绍一下《3对3》的一些做法,让大家更深入的了解《3对3》这个游戏的设计思路。
先来两个栗子
用樱木花道和鱼住纯的篮板对抗当栗子大家会很容易理解,樱木虽然身高不占优但是弹跳能力超出鱼住,他可以更快到达自己的最高点拿到球。
而对于鱼住这种起跳慢一点但是身高优势更明显的球员,只要抢板的意识好他就可以预判篮球反弹的位置提前一点儿时间起跳,争取抢到球从篮板反弹飞行轨迹的最高点去拿“高板”,在这样的位置没有人能和他争抢,那么“高板”自然就是他的囊中物。
另外还有一个栗子,在全国大赛对山王工业的那场比赛里,面对对身高和对抗都占优的中锋和田,樱木还是靠弹跳和滞空能力取得优势破坏了和田的得分,这个PF让强大的 C 也也发出感叹,这也能说明在对抗中不能是只有高度或者某个简单的数值在起作用啊!否则就不会出现那么精妙有趣的对抗。
所以——为了能让比赛更有深度、更有趣,我们在《3对3》这个游戏里也做出了这样的特性,这就让比赛里双方的对抗不再是简单的用公式计算对抗参与者的某些数值,然后得出个其实很凑活的结果。
为什么要说动作
动作最重要。大家都会同意篮球游戏是个以动作为核心的游戏,所以就和RPG、SLG、卡牌游戏玩的是不同的东西。从信息熵的角度来说只有动作本身才会包含有动作自己的全部信息,所以不管是谁做策划他都没办法简单地用一名球员的几个篮板、弹跳这类的数值(一维、标量)去描述球员的位置、高度、速度、身体姿态甚至节奏感等等,因为动作是一个和时间相关的连续的过程,是不可能能用几个数值来描述的。
由于球员属性数值相对于动作过程来说就是“信息有损”的,所以用这几个数值+公式算出判定的结果之后,再去改变球员的动作和游戏画面去适应这个结果,这个表现就必然是生硬和不符合用户直觉的。
大家都很熟悉这样的场景:能力(数值)低的球员即使站位和起跳时机更好也抢不过高的球员,即使你看到你的球员他的手已经碰到球了也没用,对方数值强大的话即使起跳时机和站位都不是最佳,篮球也会被对方拿走留下你独自在空中凌乱。因为在这种做法之下,玩家的意识和操作就是次要的,球员属性数值才在结果判定中起决定性作用。当然这么做也有明显的好处,以数值为核心有利于策划用各种包装过的玩法和数值去控制结果,在不考虑玩家体验的情况下玩法系统的设计难度降低了,”挖坑“的难度更是降低了😏。
《3对3》是怎么做的
所以说到 PvP 游戏的公平性,最核心的问题是各种判定机制和方法是怎么样的,对于 PvP 篮球这种游戏来说也是至关重要。
《3对3》设计了一套与以往产品完全不同的、以角色动作过程为核心的判定机制,所以判定是一个连续的过程而不是在某个瞬间,拿抢板来说这个效果就是——如果你的球员,他的手在这个起跳发力伸手的过程中可以先够到球那就可以抢到这个篮板球,这就是为啥结果和数值关系不大了。
这里来看一段比赛实录视频
我们通过其中的慢镜头部分能很清楚的看出《3对3》里面篮板球的判定过程—— 角色动作在整个过程中动作是流畅连续的,而且人和球的动作衔接也足够自然,最重要的是,并非篮板能力强大的球员就总是可以很简单地抢到任何篮板球,如果哪次意识不到位慢了一点或者操作卡壳手滑了的话也不行,
- 第一段是个高板,肯定是 C大麦拿走,这里还可以看出也有判定容差导致的小幅”手吸球“现象
- 第二段是低板,C大麦比SF格蕾塔起跳晚了大约 0.09 秒所以被这球 SF 拿走,虽然大麦篮板能力更强
- 第三段两个C的对抗,艾米其实只比大麦早跳了0.03 秒,但是她身体轻盈😅 所以到达最高点也比大麦稍快一点点,所以她就拿到了这个篮板球
- 第四段,大麦的表演(我也不知道为啥有这段)
这样的处理方案从根本上来说会比其他游戏的好上很多,包括结果会完全符合游戏的画面表现、符合玩家的直觉,不会让判定结果看起来很别扭或者让玩家在心理上难以接受——我们认为这几点很重要。
同时我们也不用担心“会不会卡”这样的问题,因为整个判定过程都是在后台系统中进行不在玩家的手机上(同时避免了对结果作弊的可能性),尽管每秒内就会做30次判定且处理时间精确到毫秒,但是在这个过程中的网络通信次数和数据量都小到几乎可以忽略的程度,并且判定的中间过程还不会受网速抖动的影响。
那么数值还有什么用
大家知道我们虽说开始完全没有但是后来也做了球员数值和养成的玩法,但是这些玩法的定位和其他游戏也很不同。我们这种做法可以类比的游戏是LOL和农药,虽然他们都有符文数值养成玩法但是都没有定位为逼氪的大坑,这是因为这两个游戏都以对战中的操作、配合以及“局内养成”为核心玩法,符文带来的数值能力在对战中起的作用都有个很低的上限——这就是为啥大家都会认为这两个游戏是即使不花钱也可以开心玩、花很多钱也不能简单碾压别人的公平游戏,不是 Pay to Win 游戏。
我们还是拿抢篮板来说明,在《3对3》里面球员的数值如何起作用呢?其中之一是手掌可接触到球的有效距离的容差,就像视频第一段里面那次,有容差的话判定没那么严格玩家的操作也容易一点儿。再举个栗子来说一个球员的抢板判定可能有 25cm 的距离容差,大约一个手掌的距离,但是弱一点的球员可能是 20cm 容差,这个容差值就是由球员的数值能力换算来的。虽然两个球员可能就 5cm 的差别,如果对抗是在水平势均力敌的两个玩家之间发生,那它也会有可以感受得到的作用。
我们保留数值的原因之一是让不同球员有明显点儿的能力倾向性,因为想让同职业球员的玩法用法也有一定程度的不同,拿中锋来说就有擅长盖帽型和篮板型等等。对于篮板能力强的球员他的手能够到的最大高度可能会高一点、手臂伸出去的水平幅度也会更大一点,所以他抢板的覆盖控制范围也更大,同时用于判定的相关数值也高一点儿,综合几样东西下来他的抢板能力就更好一些。
另一个原因是经过开始的2次测试,有很多的小伙伴表示希望在游戏里面保留有球员养成的效果,因为不希望别的玩家一个新拿到的球员和自己玩了很久的球员在能力上完全一样,所以我们在包括球员熟练度玩法还有技能升级、时装、皮肤玩法上安排了少量的数值加成,确实是少量,就是可以有所积累、有效果但是不起决定性作用这种程度,我们只要实际在游戏中体验一下就知道数值在《3对3》的比赛中所占的比重有多少了。还是那句话——在《3对3》里面玩家的意识和操作尤其是队友间的配合才是起决定性的。
总结
我们说了半天抢篮板,实际上其他的交互过程例如盖帽等等的判定也是基本一样的方法,大家感兴趣的话我们可以再详细讲讲其他的处理做法。
因为我们强调在比赛中让玩家的配合、意识、操作以及对一个球员的熟悉程度(也就是“手感”)起主要的作用,所以在《3对3》里面我们让数值起的作用相比其他游戏来说就小的多。这么做的好处虽然很多,但是也有“缺点”,例如有些习惯了其他篮球游戏机制的玩家可能不是一上手就能利用好这种新的判定机制,需要打几场比赛找找手感,另外就是我们在项目开发的前期也是花了足有6个月的时间,先做了从工具链到前端到后台的一整套的新系统来支持这样的特性,并且随着后续的测试做了很多很多的调整和完善工作,所以为此付出的时间和成本投入也是挺大,但是我想为了能做个体验更好的篮球游戏这些都是值得的。
到现在,虽然还有我们觉得不够完美的地方,但是现在这套系统确实已经实现了我们的初心——让比赛更公平、让结果更符合玩家直觉和画面表现,让这个游戏在竞技性上真的有更大的空间、为这个游戏可以走的更远提供可能性。
做篮球游戏,我们是认真的 ─=≡Σ(((つ•̀ω•́)つ