搜索 Unity

《Subway Surfers(地铁跑酷)》幕后揭秘:与SYBO的“你问我答”

2022年6月16日 类别 游戏 | 11 分 阅读
Subway Surfer characters superimposed on famous landmarks
Subway Surfer characters superimposed on famous landmarks
分享

Is this article helpful for you?

Thank you for your feedback!

两位学生的奇思妙想是怎样变成30亿次下载量的?十年前,SYBO发布了一款开创了无限跑酷游戏类型的游戏:《Subway Surfers(地铁跑酷)》。游戏在发布前三天就吸引了一百万次下载,并在随后的八个月里积累了一亿次下载量,SYBO如同乘上了一艘火箭一飞冲天,并且还开创了有史以来最受欢迎的移动游戏类型之一。

这次,我们与首席执行官Mathias Gredal Nørvig和技术总监Murari Vasudevan坐在一起了解了SYBO Games和《Subway Surfers》的幕后。在这次简短的问答里,二人深入探讨了游戏的起源和主题,并介绍了关于扩大规模、自行出版和重做游戏的内部知识。 

 

《Subway Surfers》的游戏概念是怎么来的?

Mathias Gredal Nørvig:我们的创始人Sylvester和Bodie都是涂鸦、霹雳舞和街头艺术等亚文化爱好者,两人在动画学校里相识。当时,Bodie有一家卖街头服饰的服装店,而Sylvester为店里出售的一本杂志画了一张插画。他们因为这种15年前的亚文化而建立了联系。并在最后一起做了一个毕业设计:“Trainbombing”,这支短片仍能在YouTube观看,片中一位年轻的流氓在火车车厢上涂完鸦后再逃离警卫的追捕。而游戏的开篇与这支动画短片的开头是一样的。 

他们当时的目标是完善跑酷类型的游戏,让玩家跟着我们的游戏逻辑走:向着一条总是在远处的地平线前进,没有急转弯,用手指滑动来控制角色。两人希望用明亮、生动的色彩来营造出一种积极、轻松的环境。当然,宣扬多样性和包容性也很重要。于是“World Tour(环球之旅)”概念应运而生,开发组会摆放世界上任意一座城市,并借鉴当地的地铁系统来进行熟悉的创作。

Three Subway Surfer characters standing in a yellow background

那这些年来,这一概念的执行情况如何?

Mathias:自行动开始至今,《Subway Surfers》开发组已经积累了几百个角色,并游览了近100个地点。我们十分希望让每个人都能在地铁中奔跑,也十分看重多样性。我们积极参与Pride同志骄傲活动,并与Lady Gaga的Born This Way基金会合作开展了#BeKind21活动。我们的目的是利用自己的平台做尽可能多的好事,出于这个理念,我们还发起了绿色环保与社会影响计划。

Subway Surfer character with a backpack in a forest

面对如此快速的扩张,你们遇到过的最大挑战是什么?

Mathias 对于一个小工作室来说,维护一款拥有1亿玩家的游戏几乎是一项“极限运动”。常人根本想不到这款业务如此庞大的游戏背后是一群年轻人在操持。我们,以及Unity,都在随着行业的发展而成长,所有东西,不管是游戏参数还是别的,都在快速变化。 

我们的目标自始自终都是让玩家在玩《Subway Surfers》时能有最好的感受,这一点在我们每一步工作和每一次决策中都有体现。

我们在2020年年中又将移动平台的发行业务收归自营。在过去的18个月里,我们一直在学习如何经营发行业务。 

并且我们也进一步改进了游戏,但总是发现有继续开发与优化的余地。在接手发行业务时,我们起初被禁止登陆广告平台,因为尽管在一开始我们只有10%的玩家,但人数却达到了1000万,所以他们以为我们是黑客。

 

那又有哪些技术上的挑战?

Murari Vasudevan:在技术方面,iOS和安卓都有着大量不同的设备。光安卓就有超过20000种设备。当接管发布业务时,我们必须保证游戏在所有目标设备上都能顺利运行。 

在测试时我们遇到了性能异常、游戏崩溃,以及应用无响应等问题。我们划定了每一种问题的范围,并且还提供了实时诊断功能。为了不影响玩家,我们会在Unity Profiler里进行分析、优化,并解决加载时间的问题。保证加载时间与原版相同甚至更快。 

为了让游戏在性能不强的智能手机上也能流畅运行,我们采用了几种特殊技术,包括批处理关卡内的几何形来减少绘制调用次数,用CPU运行的C#脚本而非GPU运行的着色器来旋转金币,进一步减少绘制调用,尽量降低UI的绘制次数,确保关卡能在最恰当的时机生成,剔除那些玩家看不见的东西。Unity Profiler和Frame Debugger让我们能够更轻松地监测以上所有这些进程的确切进度。我们还在Unity中设置了多种质量设置,优化低端设备上的fps和刷新率。

我们花了很多时间来调整自己的商务漏斗模型、优化代码,尽力保证一个高效的工作流程。我们通过大量的分析来了解玩家会在游戏中做些什么,他们怎样通过各个关卡,在哪部分会放弃游戏。这些都是我们接管如此多设备和玩家后所必须做的,也是我们从一开始就得面对的长期挑战。

Subway Surfer character riding a dragon on train tracks

你们是怎样在游戏重做后保留住原汁原味的游戏体验的?

Mathias:这个过程非常有趣。我们很清楚自己需要强化并优化基础代码。有很多原先被称为“意面代码”的地方,优化后的表现更差,因为很多写得不好的长代码会带来连锁反应。有时他们以为用两行代码就能完成的东西,但即便逻辑很完美,这种做法常常会忽略一些细节。而我们又不得不增加几行代码,让游戏再度流畅。 

在游戏动画的风格和感觉方面,即游戏的感观时,也会有类似的问题。更有经验的动画师们建议用更好的方式来制作,但结果并没有旧版感觉那么好。即使是现在,我们游戏最大的资产还是完美的风格和感觉,以及流畅的动画。为了解决这些问题,我们要让创始人、SYBO团队资格最老的成员,以及一些最忠实的粉丝来玩,并不时提供反馈。创始人的一个表弟没完没了地玩,回来后说,游戏逻辑会在特定高关卡后崩溃。这些反馈意见对我们有很大的帮助。

Murari:经过调整,我们最终回归了原版游戏,但基础代码已经变得更加坚实。我们重写的代码干净了很多。我使用了数据主导的模式和可编程对象,以及在多个系统之间传递信息的事件,这些在以前的基础代码里几乎没有。你可以直观地配置状态机,从一个状态转换到另一个状态。 

然后,在一天结束的时候,代码里还有大约100句“if声明”,这些语句代表了我们在以前学到的无数新东西,而我们现在必须将它们列入重写计划里。比如,如果角色在火车上时你滑屏,角色并不会快速跳下火车。在内部测试里我们发现,不能迅速下车会导致你死很多次。这里仅存在不到一毫秒的差异,但你可以真切地感受到它。

Mathias:关卡障碍的生成也是如此,关卡的生成仍旧遵循着旧的逻辑,它有缺陷却又充满了魅力。当我们后来优化它之后,大家开始抱怨游戏少了原作的要素。甚至加速也成了一个问题。玩家们普遍觉得起跑速度和加速的有问题,这两者会以两种不同的方式产生。我们发现在新版本里,玩家起跑的速度变得稍微快了一点,然后又变回原节奏,这让我们最忠实、深度沉迷的玩家们感到不对劲。为了保持2012年版本最原始的外观和感觉,游戏的所有方面都必须被好好审视和重新设计。

 

这里最大的教训就是不要乱动经典,走过了10年、积累了30亿次下载量的《Subway Surfers》绝对是这么一款经典之作。 

想了解更多?那就来阅读我们的新案例研究,了解SYBO和Unity如何合作将《Subway Surfers》打造为史上最受欢迎的移动游戏之一。

要了解更多关于SYBO的可持续发展和慈善事业,请观看我们新的采访视频。

此内容由第三方提供商托管,该第三方提供商不允许在未接受“Targeting Cookies”的情况下观看视频。如果想观看来自这些提供商的视频,请将“Targeting Cookies”的 Cookie 首选项设置为“是”。

2022年6月16日 类别 游戏 | 11 分 阅读

Is this article helpful for you?

Thank you for your feedback!