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

发表于2021-12-22
评论0 7k浏览

编者按 在最近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元的价格还能好评如潮,就成为了顺理成章的事情。

 

原文链接

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

  • 允许他人重新传播作品,但他人重新传播时必须在所使用作品的正文开头的显著位置,注明用户的姓名、来源及其采用的知识共享协议,并与该作品在磨坊上的原发地址建立链接
  • 可对作品重新编排、修改、节选或者以作品为基础进行创作和发布
  • 不可将作品进行商业性使用
  • 需在以作品基础上创作的演绎作品上适用相同类型的知识共享许可条款

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引