射击Roguelike天花板,《雨中冒险2》如何让玩家沉浸100+小时?

作者:RWcBqVJYtp

发布时间:2021-12-22

编者按 在最近2年roguelike越来越火的情况下,许多独立游戏也用roguelike作为切入赛道。《雨中冒险2》作为一款动作rogue类射击游戏,一上线就拿到了steam畅销榜第一名,截至目前更是卖出了约500万份。打开《雨中冒险2》的商店界面,11万条评论中有96%都是好评,不难看到很多评论玩家的游玩时间甚至超过了100个小时,那么作为一个初期只有6张地图(额外还有3张隐藏地图)的roguelike射击游戏,它究竟是怎么做到的?

 

作者:陈畅然

欢迎广大游戏行业从业者前来投稿,详情请添加管理员微信咨询:GAD013

(本文内容系用户投稿,转载请征得同意。文章仅为作者观点,不代表GWB立场)

 

一、物品平衡性设计

 

作为roguelike中随机性的重要组成部分,物品之间的属性既不能相差过大,又不能没有差距。如果物品属性差异过大,会使得玩家总是会选择属性最好的那几件物品,物品的多样性就没有了,每局游戏的体验都会重复,玩家新鲜感会直线下滑。如果物品属性差异过小,就会导致选择任何物品对战斗的影响都相同,物品系统的设计便毫无作用。

 

那么我们来看看《雨中冒险2》中物品是怎么做出差异化并且属性差距不大的。用其中常见的3个白色物品举例,“最艰难的时光”(后文以小熊代称)15%几率格挡伤害,“士兵的注射器”(后文以针筒代称)攻速提高15%,“撬棍”对90%血量以上的怪物增加75%的伤害。

 

697486da12394e2bb494b43ba8b49929~tplv-tt-shrink:640:0.image

 

乍一看大家都能会觉得小熊和针筒的价值是一样的,毕竟一个增加了15%生存能力,一个增加了15%输出能力。但是仔细一想,假如我拿到7个小熊,15%*7=105%,岂不是直接格挡所有伤害?《雨中冒险2》为了防止这种情况出现,单独给小熊做了一个计算公式为格挡率=(1 - 1 / (0.15 * 小熊数量 + 1)),这样处理的好处是无论玩家捡到多少个小熊,受到怪物攻击时,依然有概率受到伤害,坏处同样也很明显,这个公式对玩家来说是不透明的,当玩家第一次兴奋的捡够7个小熊后,发现还是有49%的概率无法格挡伤害时,可能因为受到挫折而对游戏失去兴趣。

 

我们再来对比一下针筒和撬棍,同样是增加输出,撬棍相当于有10%的血量伤害增加了75%,拉平到100%血量时,伤害只增加了7.5%,看上去针筒的15%攻速就要比撬棍的7.5%增伤厉害。但是我们考虑到某些极限情况下,假设怪物血量为1000,你的攻击力为600,攻击速度为1秒一次,这时你捡到一个针筒,虽然攻击速度变快了,但是攻击怪物依然需要2次攻击,击杀时长为1.7秒。而捡到一个撬棍的情况下,因为第一次攻击怪物时,怪物必定是100%生命值,所以攻击伤害为600*1.75=1050,大于怪物血量1000,只需用1发子弹即可击杀怪物,击杀时长为1秒,捡撬棍的击杀。

 

这里我们发现了3件物品的数值并不是绝对平衡的,但是3件物品各有各的用处。不想暴毙?捡小熊降低暴毙风险。想把输出拉满?捡针筒甚至可以将子弹连成线。想体验秒怪的快感?敲棍绝对是你的不二选择。《雨中冒险2》中同样有roguelike中的经典3选1元素,每当你遇到一个电话亭一样的商店时,你只能购买其中的一件物品,同时另外2件物品会消失。通过这样的3选1,玩家会根据自己的自身情况选择当前的策略。绝对的数值平衡并不是游戏的设计目标,给玩家提供相对平衡且有趣的选择才是。

 

二、货币系统

 

上面说到,游戏中有可供购买物品的商店。《雨中冒险2》为双货币系统,其中金钱为打怪掉落,而月亮币大多藏在地图的隐秘角落(怪物极低概率全局掉落),需要探索获得。大部分时间货币循环为“积累-消耗”,玩家需要购买某件物品,发现金钱不足,于是一直刷怪爆落金钱,等到金钱足够了再去购买物品。多人一起游玩的时候,循环变为了“积累-消耗-交易”,首先玩家刷怪积累金钱,然后购买物品,由于游戏设定是很多物品要先花钱购买,才能看到具体是什么物品,所以要和队友直接进行物品的交易,将队友的核心物品优先给队友。

 

游戏中的金钱系统设计的略微有些粗糙,大体只是随着游戏时间的增加,游戏内的道具会越来越昂贵,而怪物掉落的金钱也会稍微增加,通过这样的设计来让玩家在购买每件物品时,都需要刷怪。但是因为金钱系统是一个局内系统,无法带出当前这局游戏,所以对整体游戏的影响不大。各位独立游戏的开发者在设计货币系统时,一定不要将这种局内货币系统带到局外,这样会造成货币贬值速度过快,从而容易使整个经济系统崩塌。

 

月亮币作为游戏中的稀有货币,是可以带出当局游戏的,即本局游戏中获得的月亮币,在以后的游戏中也永久存在,除非你将它使用掉了。月亮币可以用于进入隐藏地图(月亮商店)、购买强力道具和解锁某些英雄。因为月亮币功能众多,效果强力,获取困难,所以刷月亮币也成为了游戏目标的一部分。设计游戏时,该给一个道具多少的爆率?这是很多独立游戏设计者都会有的疑问。以《雨中冒险2》为例,游戏局外部分主要是解锁新的英雄,这是设计者大可以拍脑袋决定一个数字,比如10个月亮币解锁一个新英雄。然后我们要有一个期望值,希望玩家在多少局游戏后可以解锁新英雄。假设通过前期数据测试,玩家每玩一局的游戏时间为30分钟,每天的游戏时间平均为2小时,如果希望玩家第二天玩一局游戏后可以解锁新英雄,则每局游戏的月亮币期望为2个月亮币。这时我们再用程序模拟杀怪,取30分钟的平均杀怪值,假如30分钟的游戏能杀200只怪,则月亮币的爆率为1%。

 

到这里,我们就给出了月亮币的爆率,但是问题又来了,游戏里面总是会存在各种各样的非酋和欧皇,欧皇玩家可能在第1局游戏的时候就拿够了10个月亮币,而非酋玩家可能在第9局才能拿够10个币。对设计者来说,这两个人的平均拿币局数是第5局,都是第二天玩了第一局游戏以后,符合我们的预期。但是对于玩家来说,欧皇玩家解锁新英雄速度过快,他很有可能还没有熟悉此前的免费英雄,所以再解锁新英雄的意义不大,非酋玩家需要第三天才能解锁新英雄,在第二天的时候可能就已经将老英雄玩腻了。为了减少欧皇和非酋玩家的出现,让游戏更符合我们的预期,这时我们需要引入prd算法。Prd算法作为游戏中常用的伪随机算法,可以更好的控制游戏的预期,你可以在你的游戏中引用到比如抽卡、稀有物品掉落等地方。而金钱掉落因为数量足够多且不珍贵,直接使用原始掉落概率即可。Prd算法为P(当前概率)=C*N(当前次数),首次杀怪的爆率为C,如果第二只怪没有掉落,则第二只怪的掉率为2C。由于C值的计算过于复杂,所以我制作了下面的C值查询表用于查询对应概率的C值,当我们需要月亮币的爆率为1%时,查表可知C值大约为0.000156。

 

0b081ea0279e4328b5eb0a1f4c638e1e~tplv-tt-shrink:640:0.image

 

三、英雄平衡性

 

和选择物品一样,选择英雄时也需要平衡的英雄。那么如何认定英雄是平衡的?首先制作出一个标准人,这个标准人和正常的英雄一样具有攻击力攻击速度等属性,但是它的生命值是无限的。然后用无限血的标准人和制作的所有英雄分别对砍,如果在英雄死亡时,他们造成的伤害是相同的,则我们认为这些英雄是平衡的,否则我们就要对英雄进行一定的调整。

 

5130eaf8aaad4ca09e227ea3aa7e4689~tplv-tt-shrink:640:0.image

 

《雨中冒险2》中并不存在PVP,即每个英雄之间不需要互相战斗,所以英雄之间也不必绝对平衡,玩家也不希望自己花费了时间和精力辛辛苦苦解锁的英雄,居然和之前的英雄是一个强度。在这里,我们为了给玩家一个长期的游戏目标“解锁新英雄”,因此可以将英雄的强度和解锁英雄的难度相挂钩。

 

首先最弱的英雄当然是进游戏白给的“指挥官”,普通攻击造成100%伤害,AOE技能需要怪物重叠到一起,位移技能难以规避伤害。

 

6123bca59eba4a689e651114efcaf0dd~tplv-tt-shrink:640:0.image

 

然后再来看看通过成就解锁的英雄“雇佣兵”,普通攻击造成130%伤害且带AOE,位移技能带控制而且可以无敌。

 

两个英雄的血量一模一样,有人就要说,这不明显雇佣兵要比指挥官强吗?但是实际测试中,我们发现雇佣兵挥刀有后摇,而指挥官开枪无前后摇。这与我们之前说的通过标准人来测量英雄强度符合,也就是说指挥官和雇佣兵和标准人对砍时,死亡时对标准人所造成的伤害应该是不相上下的。如果仅仅是相同的强度,那我为什么要花时间解锁新英雄?这点从英雄技能设定上可以看出来,雇佣兵的普通攻击伤害130%大于指挥官的100%,虽然最终他们的伤害是相同的,但是雇佣兵可以更快的杀死怪物,这样相对的减少了怪物的攻击次数,也就变相提高了自己的生存能力,更不要说还有一个无敌技能可以防止走位失误时会暴毙。

 

四、角色属性和等级

 

大多数游戏中吗,等级作为一种游戏目标,可以给与玩家一种进程感。因为《雨中冒险2》是一款roguelike游戏,角色死亡则等级和道具永久消失(联机模式下如果队友能通关那么你会在下一关复活),所以等级更多是作为当局游戏时现有能力的一种参考。

 

我们选择“指挥官”角色进入游戏,记录1-20级的生命值。

 

62b7cd5d60db4e52be76246866052673~tplv-tt-shrink:640:0.image

 

很简单的就能得出 当前等级生命值=110(一级生命值)+33(每级成长生命值)*当前等级和1级的等级差,优化后得到 当前生命值=77+等级*33

 

攻击力同理可得 当前等级攻击力 = 原始攻击力 + 每级成长攻击力*等级

 

这是一个很好用的属性公式,即 当前等级属性=原始属性+成长属性*等级

 

不是对游戏数值有自己独特理解和特殊产品需要特殊公式的情况下,游戏设计时可以直接套用这个公式。

 

这个公式的好处在于,第一,玩家理解容易,玩家能清楚的知道自己下一级会增加加了多少血量,多少攻击力。第二,方便设计,只要每级成长属性是一个固定值,那么随着等级的增长,战斗时长就会越来越接近我们设计的期望值。第三,方便扩展,怪物可以直接套用人物的属性模板,只需再给怪物属性乘以一个系数即可调整强度。

 

五、游戏难度

 

不同于很多游戏关卡难度递增的设定,《雨中冒险2》除了开局前能够自选3种难度外,游戏中的难度是随着时间递增的。首先进入游戏前的自选难度,是一种难度自适应的设计。根据心流理论,当游戏难度大于玩家实际水平太多时,玩家会感到很焦虑,而游戏难度低于玩家水平太多时,玩家又会觉得游戏很无聊。因此,开局前自选难度能够杜绝大部分这种情况,保证进入游戏的玩家都处于心流通道当中(玩家在此状态下会忘我的玩游戏)。如图所示,第一条黑线上方是焦虑的部分,第二条黑线下方是无聊的部分,而两条黑线中间正是游戏设计者都在追求的心流通道。

 

fbc2ec0610484d1a947f022a405b18f7~tplv-tt-shrink:640:0.image

 

进入游戏后,怪物的等级会随着时间而阶段性的提升,因此玩家需要和时间赛跑。大部分游戏中玩家在角色不会死亡的情况下会优先追求攻击力,因为更高的攻击力意味着更快的杀怪速度。而《雨中冒险2》中,玩家不仅要追求更高的攻击力,角色移动速度的优先级也十分高。只有移动速度快了,你才能在尽可能低等级的怪物堆中找到下一关的入口。一旦移动速度过慢,寻找道具和入口的时间必然会变长,怪物等级增加后带来的攻击力和血量增加,可就不一定是玩家能够承受的了。

 

六、总结

 

我们可以看到,《雨中冒险2》通过相对平衡的物品设计和英雄设计,做出了差异化让玩家沉迷于有趣的选择中。同时通过算法上的设计,将玩家不好的体验进行了优化。等级和成长属性上使用了成熟的公式,玩家易于接受。而通过让玩家和时间竞赛,驱使玩家进入了心流通道。因此做完一个只有3G大小的3D游戏,卖80元的价格还能好评如潮,就成为了顺理成章的事情。

 

原文链接

著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。