欢迎回到《DOTA2》开发日志,这是我们开发团队成员分享在开发《DOTA2》这款独特游戏时遇到的挑战、漏洞修复以及偶尔出现的意外惊喜的博客专栏。 在“冠冕陨落”这样大型的活动中,我们进行了许多尝试——包括世界地图、分支剧情、英雄主题代币、迷你游戏、漫画、像素艺术,以及其他我们多年来一直渴望探索的创意。 让我们有信心进行这些尝试的,也是我们在Valve一直充分利用的,就是迭代的自由:收集真实的玩家数据,让数据挑战我们的假设,甚至改变我们的想法。我们常说,只有看到玩家与游戏内容互动,我们才能完全理解自己正在构建的东西,因此我们会尽可能快地推进到这一阶段。 这种思维方式也影响着我们做决策的时机——通常是在开发的后期,当我们掌握了最佳(有时是唯一)数据时。在每一步,我们都依赖玩家的实际体验来帮助我们聚焦于那些能引起共鸣的内容,并避开那些不能引起共鸣的部分。 在本期《峡谷内外》中,我们将回顾《冠落》开发后期上线的一个内容——第四章中英雄们与荆棘之巢女王因佩莉亚的 boss 战。我们也将以它为案例,展示游戏测试及其产生的数据如何影响我们的决策。 接近因佩莉亚
第一幕中第一个(也是唯一一个)小游戏是一个简单的钓鱼小游戏,玩家需要在潮汐猎人的考验下展示自己的钓鱼技巧,帮他钓到早餐。第一幕的很多内容都是这样——我们在地图各处散布了一些小点子,想看看玩家会参与哪些。第一幕中令人鼓舞的玩家数据让我们有信心在第二幕中更大胆尝试,而到了第三幕,我们推出了多个小游戏:在 Tusks 最爱的潜水酒吧里进行的格斗游戏【Sleet Fighter】;与寒冬飞龙进行的三消策略对战游戏【Dragon Chess】;以及在冰痕山脉蜿蜒的洞穴系统中,由复仇之魂对抗邪恶巨龙的射击游戏【Zaug's Lair】。 当我们进入第四幕时,已经对哪些玩法有效、哪些无效有了清晰的认识。什么样的数据呢?从具体数据——比如有多少玩家重玩了每个小游戏,以及重玩频率——到更具主观性的内容,像用户提交的反馈和在线讨论,我们都进行了分析。这种清晰的认知让我们有信心全力打造一个震撼的结局:与邪恶的因佩莉亚女王展开一场史诗级的 Boss 战。 当然,确定 Boss 战的游戏类型并非易事。我们知道它需要呈现玩家期待的高风险壮观场面,同时还得具备足够的多样性和重玩价值,确保多次体验后依然保持新鲜感。而且由于这是一个小游戏,设计初衷是供玩家在排队等待匹配时游玩,所以它需要紧张刺激但又足够简短。它应该像一份美味的小点心,而不是一顿漫长的大餐。为了找到恰当的平衡点,我们需要一种能够融合《雷霆战机》的高制作水准与《龙棋》的高重玩价值的游戏类型。毕竟,这将是复仇之魂、天怒法师以及新角色凯兹——他们是《冠落》四幕故事中的“三巨头”——突袭因佩里亚城堡的史诗对决。我们希望玩家在前往挑战女王的征程中,能感受到那种面对绝境的压迫感。 制定计划

曾有一个想法在短期内获得了一些关注,那就是采用回合制JRPG风格的战斗。但没过多久我们就意识到,这并不合适。我们需要的是能让玩家快速投入战斗的模式——一种简短、激烈且有趣,足以在《Dota 2》排队等待间隙游玩的体验。 这就是幸存者类游戏的灵感来源。作为一种“反向弹幕地狱”,它有着无尽的敌人波次,是承载史诗感和高风险Boss战的完美载体。玩家需要在成群的敌人中杀出一条血路,同时运用一些策略来强化各种技能,为与因佩里亚的最终决战做准备。此外,现有的Dota物品和技能也很容易映射到这种战斗中,这样玩家就能对游戏机制有熟悉感。由于我们希望游戏体验相对简短,因此重玩价值是另一大关键。生存者类型游戏为我们提供了丰富的可变性,因为每次体验都不尽相同。玩家无法保证能按自己期望的顺序获得想要的物品或遇到特定事件。这种可变性鼓励你不断尝试,从零开始的挑战既充满难度,又不会让人觉得无法克服或沮丧。我们并不希望你第一次就能获胜……但我们希望你在失败后仍能继续游玩。 早期原型

《荆棘之巢》最早的原型与最终发布版本有着相同的核心元素:玩家从三名英雄中选择其一,面对一波又一波的敌人,最终抵达因佩里亚。但这些早期尝试完全没有任何乐趣可言。有时英雄会在几乎空旷的地图上徘徊,偶尔撞上骷髅;有时敌人的攻势过于猛烈,根本无法获胜(至少我们当时是这么认为的,这个问题稍后再谈)。我们知道这款游戏的潜力,一定能变得有趣,所以只能不断用糟糕的版本折磨测试者,直到找到正确的方向。 在Valve,每位员工都是测试员。让他们试玩游戏版本,是我们判断游戏机制是否可行(或者像常发生的那样,判断其不可行)的方式。我们可以一直进行头脑风暴,但除非有人坐下来实际游玩,否则我们无法真正知道自己做出的选择是否有效。 起初,测试玩家很难在游戏的前3-6分钟内存活下来。通常,这表明游戏要么是平衡存在问题,要么是规则说明不够清晰。我们会和他们一起坐下来,让他们详细讲述自己的体验——那些他们不确定下一步该做什么的时刻,或者感到压力过大而觉得无法继续的时刻,甚至是感到无聊的时刻。然后我们会回到工位进行一些修改,再让新的测试玩家体验。慢慢地,我们开始看到进展。 接着,意想不到的事情发生了。 一位刚刚结束首次游玩并失败的测试玩家,在讲述完自己的经历后问道:“话说,我能再试一次吗?” 这是前所未有的情况,也让我们备受鼓舞。荆棘之巢离优秀还差得远——通常至少要试玩三次,才会有人弄明白怎么通关我们的原型版。不过至少有一点值得欣慰,这次我们不用再求同事玩我们蹩脚的原型版了——他们甚至主动要求再玩一次。这是一丝微弱的兴趣:“我并非完全讨厌这个。”我们很乐意接受这种评价。 但真正的顿悟时刻还未到来。 英雄构筑
生存者类游戏的一个关键要素是持续压力,而我们早期版本恰恰缺少这一点。最初,我们只是在关卡中生成一百个骷髅怪,让英雄一路砍杀。当英雄把它们全部消灭后,我们会生成下一波难度更高的敌人。测试玩家很快就对此感到厌倦。一旦他们意识到唯一的目标就是无休止地砍杀敌人,这就开始变得像一项苦差事。更高效地消灭敌人的唯一“奖励”,就是能更快地迎来下一波更难的敌人。(这值得高兴吗?) 最终我们意识到,当生成一百个骷髅怪并让英雄开始砍杀时,我们需要为这波敌人设置一个计时器,并且无论英雄消灭多少,都要不断补充骷髅怪的数量。当计时器归零时,我们会生成一波更难的敌人并启动新的计时器。这样一来,压力就不会中断,玩家也能一直保持投入状态。 但更重要的是,玩家的目标发生了变化。当我们的英雄只是在屠杀数量不断减少的骷髅时,目标是【让骷髅数量归零】。然而,如果无论你杀死多少骷髅,其数量都不会减少,那么玩家很快就会意识到,杀死骷髅其实并非真正的目标。 相反,他们会将注意力转向杀死这些骷髅所能获得的东西——在这个例子中,就是技能和升级。突然间,目标不再是【杀死所有骷髅】,而是【我能以多快的速度杀死多少骷髅,从而变得尽可能强大?】击杀一波又一波的敌人不再像是一项苦差事,反而让人感觉像是在追逐大奖——每一次击杀都让你离完美的构筑更近一步。 由于进入下一波不再与消灭上一波的所有敌人挂钩,我们还获得了新的东西:一个共享时钟。这意味着玩家们现在拥有了相同的节奏——一种当情况开始变得艰难时的通用语言。所以当有玩家说“我受不了第四分钟那波蜘蛛”时,其他所有人都立刻明白他的意思(那些蜘蛛真是太讨厌了)。 我们终于找到了乐趣所在。这种关注点的微小转变有助于明确玩家喜欢什么以及为什么喜欢,并催生了一系列新想法——更强大的升级、更疯狂的技能,以及我们甚至未曾考虑过的构筑可能性。这意味着测试玩家在单次游玩中就能打造出截然不同的英雄构筑。这也让他们在测试过程中更加投入,为我们提供了更好的反馈和建议,以用于下一个版本的开发。 不过,要是我们问得次数多了就会发现,测试结束后,同事们有时不想再和我们谈论游戏中的高低起伏。他们更想互相交流自己的构筑,争论哪个更好。随着构筑多样性的不断增加,我们开始思考是否遗漏了一个重要环节——要是英雄本身能和技能一样独特会怎样?在早期原型中,除了初始技能外,无论选择哪个英雄,玩家的体验大致相同。现在我们正将他们调整为真正独特的选择,有的更强,有的更快,有的更擅长魔法伤害——这进一步拓展了构筑的多样性。选择不同的英雄也意味着解锁特定的技能分支,而这些分支可能是其他英雄无法构建的。(而且由于获取哪些升级存在一定的运气成分,每次选择都像是一场高风险的赌博。) 前六分钟
与此同时,当你正专注于研究哪条升级路线能让你达成【Imperia】时,我们正在悄悄提高游戏难度。不知不觉间,敌人的攻势变得致命,节奏也愈发紧凑,你几乎难以招架。 至少,这曾是我们的目标。随着升级系统的完善,我们开始调整游戏节奏。我们希望游戏体验既紧张刺激,又不会让玩家感到冗长(毕竟我们知道大多数玩家会在排队等待匹配时游玩)。但另一方面,我们也希望留出足够的空间,让玩家能享受看着自己的升级选择逐步叠加的过程。我们粗略估算了一下,总游戏时长约为12分钟——不包括最后3分钟的因佩里亚战斗。因此,我们开始着手调整前6分钟的节奏。我们应该多久给玩家一次升级选择?他们最早能在什么时候开始叠加技能?每个技能应该造成多少伤害才能让人感觉爽快但又不至于过于强力? 由于我们是分阶段调整游戏玩法,专注于前6分钟意味着此时最后6分钟的内容实际上还无法游玩。我们会让测试者体验前6分钟,然后就让他们停下来。从技术上讲,他们可以继续玩下去,但6分钟后的所有内容都还是占位符。那段内容本就不打算让玩家体验(我们实际上还恳求同事们不要去玩)。将技能和升级设计得如此有趣,带来了一个有趣的副作用:测试玩家往往不在意游戏的一半内容仍无法游玩。我们会坐在同事的桌前,看着他们玩游戏的前半部分。一旦他们玩到六分钟时: “好了,谢谢你,”我们会说,“能重新开始游戏吗?” 一阵停顿。 “等一下,我觉得我能通关。” 我们会提醒他们,游戏的最后六分钟是充满大量重复敌人、难度失衡且目前无法通关的区域。他们会说自己明白。我们会询问他们游戏过程中的体验高峰和低谷,他们也会针对前六分钟的游玩体验给出很多很棒的反馈。然后我们会回到自己的座位,他们会看着我们离开,然后继续游戏,试图无论如何都要通关。 我们的一些同事觉得无法通过最后那极其不公平、简直不可能完成的六分钟是一种对他们的冒犯。所以当我们在设计游戏前半部分时,他们正集中精力,拼命攻克那无法通关的后半部分。 关键是:他们成功了。 最终,他们找到了我们尚未调整好的强力技能组合,打通了本不该被打通的部分。(这不仅说明了很多游戏设计的道理,或许更能反映出投身游戏设计的是怎样一群人。) 可控的混乱
到开发末期,核心游戏内容已构建完成。技能、迷你首领战以及与因佩莉亚女王的最终对决均已就位。此时,我们不再寻找会导致游戏崩溃的问题,而是专注于对已知可行的内容进行调整、平衡和打磨,使其更加完善。我们继续进行游戏测试,但已减少了详尽的事后访谈,只是让玩家尽情游玩(当然,也是为了收集更多数据)。 虽然每次游戏运行产生的定量数据很重要,但来自测试游戏的定性数据同样关键。有一个令人难忘的例子,某次测试以史诗般的方式结束:哀嚎团——内部名为“肉球”——占据了半个屏幕并吞噬了玩家。此时,这位测试玩家身后围了一群同事,大家都在嘲笑他的“不幸遭遇”。当然,他立刻就按下了“再来一局”按钮。 我们确信这款游戏值得推出,于是将测试范围从自愿参与的玩家,扩大到了公司里几乎所有能拉来玩游戏的人。在最早期的原型阶段,我们常常会在晚上11点收到Slack消息说“这游戏太难了”。到了这个阶段,虽然还是会收到晚上11点的这类消息,但接着就会有凌晨3点的后续消息:“没事了,我通关了。” 即便游戏已基本完成,我们还是在《荆棘之巢》上持续工作,直到《冠落》第四章发布。在这篇帖子的开头,我们曾说过,当有良好的数据支持时,我们就能做出更好的决策。现在,我们确实有了一些数据:内部测试人员对这款游戏的游玩(和重玩)热情高涨,这让我们获得了大量数据,从而了解到我们所构建的哪些部分引起了共鸣。当一款游戏开始变得有趣时,没有什么比这更能让一屋子的游戏开发者感到兴奋了。我们希望尽可能多地去做那些我们现在知道行之有效的事情。新物品、新能力、新背景故事,甚至新波次——每次我们以为已经把游戏打磨得差不多了,总会有人不可避免地提出一个“再来一个”的新想法。而且,由于这些想法通常都非常棒,我们忍不住要去尝试。不仅仅是新功能的想法不断涌现:随着发布日期的临近,这些想法甚至变得越来越好。在早期阶段,一切都还比较模糊,很难区分哪些是潜在的高价值功能,哪些实际上是低价值功能。而当距离发布只剩一周时,该把资源和时间投入到哪些地方来让游戏变得更好,就变得显而易见了。 离巢
在为《荆棘之巢》做最后收尾工作时,我们得以退一步,用全新的视角审视它。我们面临的挑战是,运用从先前章节中学到的经验,打造一场足够史诗的 boss 战,为这场大型活动画上圆满句号。考虑到时间限制,我们对最终成果相当满意。我们找到了其中的乐趣。 遗憾的是,社区玩家们尚未体验到这份乐趣。我们未曾考虑到的是,由于《荆棘之巢》是一场 boss 战,从逻辑上讲,它必然位于……嗯, boss 的栖息地,也就是游戏的终点。这意味着我们经历了至少一两天的煎熬等待,看着《DOTA2》的顶尖玩家们以非人的速度打通第四章,期盼着其他玩家最终能有机会体验到它。事实证明,我们没等多久。我们原以为至少还需要一两天才会有人抵达因佩莉亚女王的王座室。结果我们严重低估了Dota玩家快速通关内容的能力。就在更新发布后的16个小时——没错,就是小时——第一批顶尖玩家已经一路奋战通过了整个最后一幕,并首次体验了【荆棘之巢】。 最终,其他玩家也都跟上了进度。在撰写本文时,【荆棘之巢】的游玩次数已接近一亿次。(如果你还没体验过,或者只是想再尝试一次,仍可以在客户端内的【冠冕陨落档案】中进行游玩。) 拥抱未知

我们希望这次对刀塔团队开发小游戏的幕后揭秘,能让你更好地了解我们的工作流程——而不只是让你惊恐地盯着这篇博文,发现我们似乎是在边做边编。但说真的,我们希望这能证明,游戏设计并非是那些游戏制作天才在暗室里十指交叉施展的神秘艺术,而是一个不断迭代的试错过程,由数据、焦虑、反复测试、失败、再测试、更多失败和更多测试共同驱动。 游戏开发的核心在于迭代——从最初的“毫无头绪”,通过借鉴过去成功的想法,慢慢演变成“有些想法”。然后,它会变成一个糟糕的原型,没人愿意玩,但我们还是会强迫大家去试玩。然后我们观察他们玩游戏时并不开心,就会去修复那些不令人愉快的部分,直到最终看到人们能开心地玩游戏。接着我们会不断打磨,再看看发布日程表,然后叹气。Valve的理念一直是接受不确定性,并让数据来塑造开发过程。这意味着我们并非总能按时发布作品。但我们相信,当它们准备好时,你一定会喜欢的。




换一换 



























