Demolition Derby:Unity 用于移动游戏案例分析
Destruction Crew 是位于荷兰的一个 3 人独立游戏工作室,他们把对撞击对手车辆、混乱和破坏的热爱变成了一款热门移动游戏。
-
游戏
《Demolition Derby》- 一款实时在线多玩家赛车街机游戏
-
目标
创造一种玩家热爱的奇妙多人游戏体验
-
平台
iOS、Android、Android 版 VR(各种头盔)、Win Store Apps
-
团队成员
3
-
地点
荷兰埃曼
Steven Derks, CTO at Destruction Crew talks about how multiplayer functionality, continuous updates, and the Unity community helped them raise the bar for their game.
超受欢迎的多人游戏
《Demolition Derby》大获成功(没有双关语意),下载次数超过 1500 万,部分归功于 Unity 的多人游戏功能、Asset Store 和多平台支持。
结果:
- 在 Unity Multiplayer 的帮助下,从 200 名并发用户规模扩大至 5000 名
- Asset Store 将创建汽车的时间从几个月缩短至几周
- 1500 多万次下载
- 在 Unite Europe 2017 参加了 Made with Unity 展示
多人游戏信手拈来
开始创作时,别人会说你应该从自己了解和喜欢的领域入手,这正是 Destruction Crew 所做的。
“我们一直非常喜欢那些充满乐趣的飚速破坏型游戏,让我们心驰神往的梦想就是自己制作一款这样的游戏,为它设计我们自己的玩法,看看我们能用它来做什么。”Destruction Crew 的联合创始人兼首席工程师 Steven Derks 说,“我能说什么呢,我们就是喜欢大肆破坏。”
鉴于这一款游戏的动态性,Destruction Crew 显然应该把它设计成玩家可能喜欢的在线对战类游戏。
“跟人工智能机器人混战确实也很有趣,但还是比不上跟真实玩家对飚。”Derks 说,“当你切切实实地实时摧毁敌人的汽车时,你会说,‘是的,就是这样。’而且,Unity Multiplayer 让我们可以轻松创造这样丰富的体验。”
但是,网络物理结构、并发用户数限制等问题以及亟需盈利的现状对一个只有三名成员且资源极其有限的团队提出了巨大挑战。Unity 提供了众多功能来帮助他们克服这些困难。
网络物理结构催生卓越的用户体验
让 Destruction Crew 能够制作出一款优秀的在线多人游戏的重要一点是通过 Unity 的 API 实现的网络物理结构。这让他们可以轻松模拟物理结构,让游戏体验十分接近在所有客户端上运行的效果,从而营造全无偏差的感受。
他们没有使用 Unity 的默认组件,而是构建了一个自定义 NetworkTransform。他们花了大约一个月时间进行设计、编码和测试。
“凭借 Unity 的网络序列化,我们能够轻松传输模拟所有客户端的物理结构所需要的全部物理数据。”Derks 说,“通过这种极其简单的方式实现网络 API,你自然可以实现网络物理结构,这对我们制作多人移动车辆游戏来说非常重要。”
Destruction Crew 真心感谢的另一个多人游戏功能是创建私人房间的能力。
“通过 Unity,你基本上只需设置一个密码就完成了操作。如果有朋友想和你一起玩,他们可以创建一个私人房间,如果愿意,还可以设置密码保护,这样就可以一起玩了。”Derks 说。
跟上自己的成功步伐
在发布之前,Destruction Crew 曾希望玩家喜欢这种多人游戏版本,但它的火爆程度还是让他们大感意外。
“最开始有 200 名并发用户 (CCU),我们以为这已经足够了,不过为了保险起见,我们还是将 CCU 上限提高到了 1000。但有趣的是,不到一周,用户数就来到了 5000。这远远超过了我们的极限,但 Unity 团队总是能让我们轻松提高游戏性能。凭借后端的灵活性,我们可以将 CCU 提高到 5000,毫无压力。”Derks 说。
快速狂热地改造 Asset Store 汽车
喜欢撞车游戏的玩家通常也是汽车迷,所以一定要提供一组精选的超酷汽车,让他们随心所欲地选择。但是,对于像 Destruction Crew 这样的小团队来说,从头开始构建所有汽车可能非常耗时。
“我们希望为玩家提供许多汽车,让他们随心所欲地进行选择,但是从头开始制作汽车需要投入很多资源,”Destruction Crew联合创始人兼游戏设计师Nick Timmer说。
我们的解决方案是从Unity Asset Store购买汽车包,然后让他们更改UV贴图纹理,使其符合他们自己的风格,所以他们可以应用自己的自定义纹理和皮肤。
“Asset Store 非常重要:如果要从头开始构建汽车,我无法想象最终情况会如何。也许我们要花上几个月时间,远远不止几周。”Timmer 说。
让汽车有利可图
在这一款游戏中,汽车是至关重要的一个元素。Destruction Crew 决定让玩家可以自定义汽车,例如使用新保险杠或车轮。他们甚至还可以进一步将这一功能作为游戏变现计划之一。
“通常,在游戏中,玩家需要达到一定关卡后才能装配个性化汽车。但是,我们觉得引入一个称为黑市的功能可能是个好主意,那些没有达到既定关卡的玩家可以通过应用内购 (IAP) 来购买自定义零件。”
刚开始,Destruction Crew 设计的 IAP 功能遇到了一些问题,无法顺利工作,他们的进度也因此受到了影响,而在他们采用 Unity IAP 后,一切问题迎刃而解。
“以前,我们使用的是其他插件,非常难用,总是让人头疼不已。我们在不同的平台上分别导入,但是总会遇到各种各样的问题。Unity IAP 则非常简单,你只需要导入它,连接一些功能,基本上就大功告成了。就是这样。”Derks 说。
持续更新和社区支持
Destruction Crew 从第一个测试版就开始使用 Unity Multiplayer 解决方案。虽然早期版本的功能多少有些不完善,但他们在开发游戏的过程中并没有把这当做一个问题,因为 Unity 团队在不断更新 Unity Pro。
“每当我们需要一个没有的特定功能时,几乎到第二天,他们就会发布一个包含该功能的 Unity 更新。”Derks 说。
除了功能外,在构建游戏的过程中,该团队当然还是会遇到一些问题。不过,在这种情况下,他们几乎总是能在 Unity 社区找到帮助。
“Unity 社区真的帮助我们解决了很多问题。他们总是乐于伸出援手。我们经常浏览 Stack Overflow 和 Unity Forums,十之八九可以找到解决方案。”
任何平台或技术
《Demolition Derby Multiplayer》最初发布到 iOS、Android 和 Win Store Apps,而 Destruction Crew 很容易改编以适用于每个平台。
“我们只需要更改少量设置,比如纹理或网格压缩设置,它基本上就可以正常构建和运行。”
随着 VR 开始在市面上出现,他们的特定游戏似乎又有了一个很好的发布平台。对他们来说,制作 VR 版本易如反掌。
“当时我们只上线了游戏的移动版本,而 Unity 的一大优点是,一旦出现新的伟大技术,他们就会提供支持。要为我们的移动游戏构建 VR 版本,我们只需添加一些插件,它就可以顺利上线。”Timmer 说。