网易首页 > 网易号 > 正文 申请入驻

海量怪物、单局15分钟,《弹壳特攻队》开发技术分享

0
分享至

Entities + HybridRenderer

本文首发“Unity官方平台”公众号

9 月初,由海彼游戏研运的 Rogulike 休闲游戏,《弹壳特攻队》,正式全平台公测,随即就成为了业内焦点。该作不仅一度冲击畅销榜前 10,更是实现了月流水破亿的好成绩!

《弹壳特攻队》是一款画风简洁卡通,操作简单的 2D Roguelike 割草手游。玩家在大地图中,依靠升级各类武器和技能,来应对铺天盖地而来的、密密麻麻的怪物大军,再辅以伤害显示,给玩家带来了极具爽感的游戏体验。

海量的怪物大军是爽快战斗的核心之一,但随之而来的就是性能难题。海彼游戏是如何攻克的呢?我们采访到了游戏主创团队,让他来为大家解答。

首先,跟大家介绍一下《弹壳特攻队》的团队和游戏创意来源吧。

《弹壳特攻队》的团队成员都是在游戏行业打拼多年的“老兵”,不过长时间从事游戏行业并没有磨灭大家对游戏的热情,相反让大家对于游戏可玩性有了更为苛刻的要求,可以说是一群对游戏有着极端热爱的“偏执狂”,如果一个玩法在团队内没有得到所有人的认可,是不可能进入到测试环节的,甚至老板可能都不会见到。

研发团队合影

《弹壳特攻队》的创意来源其实有很多,项目初期我们曾经做过类似“现代热兵器”弓箭传说的玩法,希望通过重新设计武器/技能,调整视角关卡来给玩家截然不同的体验。在尝试过多个版本后,我们逐渐摸索出来了现代热兵器战斗和奇幻战斗的区别。对于热兵器来说,战况更激烈、爽快、火爆,而且对热兵器的打击感要求很高,比如子弹命中金属单位火花,大量的爆炸。整个战斗场景里应该有大量弹幕、敌军单位。像早期的《血腥大地》(Crimsonland )和《孤胆枪手》(Alien Shooter),那种大量怪物不断出现一直给与玩家压力感的体验是我们 Demo 后期尝试的方向,不过直到 steam 平台的《吸血鬼幸存者》出现才使我们方案最终定版。Roguelike 玩法一直是我们团队所擅长的领域,而《吸血鬼幸存者》验证了“Roguelike+生存”这种模式是可以得到玩家和市场认可的,所以方案确定下来后我们很快就做出了玩法原型。

我们的游戏主要是面向移动端,在经过 Demo 原型的分析和体验后,我们对玩法进行了大量的迭代调整:

我们把单局的时长控制在了 15 分钟,而且加入了战斗自动存档,使游戏更契合移动端用户的使用习惯。同时,整体时间的调整也会引起其他的调整,时长缩短后在战斗节奏也更加紧凑、刺激,让玩家的注意力更加集中。

我们保留了《弓箭传说》的竖屏视角和可以单手操控的特性。为了让体验更好,我们加了很多预警,提示等一些小细节。这样让玩家能够对即将到来的挑战有一些预期,不会措手不及。

除了玩法优化,原型 Demo 最大的挑战是性能,我们希望尽可能保证同屏怪物的数量,让玩家能够体验到“爽快割草”、“极限求生”。为此我们的技术尝试了很多方向。最终我们选择了 ECS 架构。在整个团队的努力下,最终,原型在性能上达到了我们的预期。

后来原型的玩法在团队内进行了很多的打磨,又细微的调整了一些玩法内容。直到所有团队成员都认为游戏“好玩”了,我们才进行了首次小规模数据测试。这次测试结果非常不错,但是大家有些方面并没有非常满意,因此我们后续又补充了一些玩法和系统,直到上线还有许多我们想要做的东西没有时间加进来。不过总体来说,《弹壳特攻队》从确定玩法到上线测试然后推广都非常的顺利。

《弹壳特攻队》游戏场景中有大量的 object,请问团队是如何做管理的呢?同时我们了解到,该游戏使用了 Unity 的 DOTS 架构,可以具体介绍一下团队是如何使用此架构的吗?

海量怪物围过来的体验非常棒,但是性能却成为了我们不得不考虑的一个难题。所以,当我们定下来这个游戏模式的时候,就着手准备了。在早期版本中,我们尝试过用之前写的底层来做 demo,但是当怪物数量到一个量级的时候性能下降的很严重。后来我们技术讨论的时候想起了之前 Unity 技术专家来我们公司做技术分享的时候提到的 DOTS 技术,在移动端实现了大量单位同屏。所以决定转用 DOTS 相关的技术来进行 demo 的开发。

最开始我们是非常忐忑的,从 OOP 的思想转换到 DOP 思想,对于我们技术人员来说是一个新挑战,再加上当时我们找到 DOTS 相关的资料也不多,所以只能一步一步尝试。我们当时找到的比较完善的 DOTS 版本是 0.17,按照最初的想法摸索搭建了一个非常小的 demo。没想到 DOTS 给了我们一个惊喜,新demo做性能测试时,我们把数量参数调整到几千只,都很顺畅得跑下来了。为了验证我们还特意尝试了一些 15-16 年的老机型,虽然开始有轻微掉帧的表现,但是也没压力跑完了。虽然 demo 的逻辑没正式版本那么复杂,但是实现了远超需求数量的怪物在低端机型上顺利体验,这是我们意想不到的。

其实,我们首次上线测试开始的时候,才赶上最新的 0.50 的发布,但是需要做的东西太多,已经来不及升级了,索性就一直在用 0.17。关于自动更新方面,我们项目暂时还没加入。是有后续的打算。现在还没有具体的确定方案。

我们的核心需求是实现大量目标在同一场景出现。在设计上我们把游戏内需要展示出的内容拆分为 4 部分:单位实体(如玩家和怪物);子弹实体特效文字

在开发的时候我们也询问了很多同行朋友的建议,所以根据以上 4 部分的设计思路我们当时尝试了两个方向:

Burst + Job + 自带渲染管线
Entities + HybridRenderer

这两个组合各有利弊,最开始的时候我们想用纯 Entities 实现全部内容,但是后来发现,有很多游戏内较复杂的逻辑用 OOP 的思路开发和维护起来更容易,再加上时间仓促,渲染方面想转 URP 有点来不及。所以我们最后把这两个方向结合了起来,一部分逻辑内容依然放在依然使用原有的 GameObject+Monobehaviour。另一部分耗性能高的运算逻辑则放在 DOTS 层,充分利用 Entities 的多线程。这种设计方式加上我们 TA 的渲染优化,就实现了现在的游戏逻辑。现在来看,已经有了不错的性能表现,但是其实我们仍然不觉得满意,后续我们仍然会保持对游戏性能的进一步优化。

伤害飘字部分主要基于两个方面来考虑, 一是以后可能需要图片+文字或者其他多变的艺术化文字来丰富和迎合整个游戏的卡通化风格,所以需要一定的美术扩展性。二是希望能很少批次就能渲染所有文字,因为伤害飘字的特征是单个文字顶点少,但量特别大。综合考虑我们确定了图片+ GPUInstance 的方案,这样不仅满足性能和效果的需求,还更方便我们当时项目结构的管理。

DOTS 架构上,你们目前还有什么想要提升的方向吗?在《弹壳特攻队》后续的发布上有什么新的惊喜给到玩家吗?

首先还是先要赞一下 DOTS 架构的巧妙设计和便捷,这套架构极大的降低了使用成本。由于 C# 作为高级编程语言封装得太好,所以大多开发者对 unsafe 并不是特别熟悉,想要写出高效且安全的指针内存操作无疑增加了很大的难度。DOTS 架构上手简单,而且在学习 DOTS 框架的同时也会对内存、指针、寻址、数据存储方式等提供更深的理解,有利于对计算机基础的学习。

如果说还有需要提升的方向,可能想到的是对 ECS 部分的优化。因为传统 GameObject 使用的是面向对象编程的方式,而 ECS 使用的是面向数据编程方式,从而增加了上手难度。同时 ECS 本身存在很多独有的写法和命令,比如 WithoutBurst+Run 操作等,这些也会在学习初期造成一定的困扰。所以我个人觉得如果能够使用面向对象编程的思维来写面向数据的逻辑,才真真是极好的。

比如在 MonoBehaviour 中开放一个类似于 SystemBase 的功能,虽然没有可以移除和添加的功能和便捷的扩展性,但是也可以满足一部分的开发需求,并且可以更好的引导开发者将 ECS 和 GameObject 系统看做一个整体而不是两个独立的架构,从而引导学习和了解的兴趣。

对于后续版本发布,惊喜肯定是有的,不过相应的制作难度也非常大,可能还需要玩家们耐心地等待一段时间。可以稍微透露一下,未来的版本中我们会加入实时组队的相关玩法,并且会强调团队配合和策略性。海量怪物、单局15分钟,《弹壳特攻队》开发技术分享

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
记者:给姆巴佩拍核磁共振搞错膝盖,皇马解雇了整个医疗团队

记者:给姆巴佩拍核磁共振搞错膝盖,皇马解雇了整个医疗团队

懂球帝
2026-03-24 09:32:45
因白酒带不上飞机,山东青岛一女子豪迈喝下:酒已经开封,扔掉太可惜就当场喝掉了,“已经记不得是53度还是42度”

因白酒带不上飞机,山东青岛一女子豪迈喝下:酒已经开封,扔掉太可惜就当场喝掉了,“已经记不得是53度还是42度”

洪观新闻
2026-03-23 16:51:22
外媒:伊朗已通过调解人收到美国信息

外媒:伊朗已通过调解人收到美国信息

参考消息
2026-03-24 13:25:06
家电三巨头差距断崖:美的净利润385亿,海尔187亿,格力令人意外

家电三巨头差距断崖:美的净利润385亿,海尔187亿,格力令人意外

有范又有料
2026-03-24 10:59:07
这个猥亵案令人发指,为何判决却是如此之轻?

这个猥亵案令人发指,为何判决却是如此之轻?

呦呦鹿鸣
2026-03-23 21:13:44
国际原油跌幅重新扩大至12%

国际原油跌幅重新扩大至12%

每日经济新闻
2026-03-23 23:17:05
上海3大泡沫重灾区曝光!刚需慎入,炒房客都在撤

上海3大泡沫重灾区曝光!刚需慎入,炒房客都在撤

爱看剧的阿峰
2026-03-23 16:29:36
中大西洋海岭北部发生6.7级地震

中大西洋海岭北部发生6.7级地震

新华社
2026-03-21 20:58:33
拔出萝卜带出泥!释永信“开光”内幕曝光,这4位女星被流言害惨

拔出萝卜带出泥!释永信“开光”内幕曝光,这4位女星被流言害惨

潮鹿逐梦
2026-03-24 12:44:49
金正恩正式将韩国定义为头号敌国

金正恩正式将韩国定义为头号敌国

财联社
2026-03-24 11:27:10
穆迪明日做核磁检查!科尔称很不乐观 专家推测髌腱断裂髌骨脱位

穆迪明日做核磁检查!科尔称很不乐观 专家推测髌腱断裂髌骨脱位

罗说NBA
2026-03-24 13:47:13
情侣住酒店正亲密时,酒店员工突然从外面打开房间窗户。当事人:拒绝接受酒店的4000元补偿

情侣住酒店正亲密时,酒店员工突然从外面打开房间窗户。当事人:拒绝接受酒店的4000元补偿

观威海
2026-03-24 09:39:01
中方拒邀日本人出席高级会议,日方深感不安,美国已提前发出警告

中方拒邀日本人出席高级会议,日方深感不安,美国已提前发出警告

流史岁月
2026-03-24 13:30:05
92号汽油还没破9,但发改委的保护可能只剩两个月了

92号汽油还没破9,但发改委的保护可能只剩两个月了

道哥说车
2026-03-24 10:06:35
国际观察丨再陷越战式泥潭?军事专家详解美对伊地面作战风险

国际观察丨再陷越战式泥潭?军事专家详解美对伊地面作战风险

澎湃新闻
2026-03-24 01:25:09
突发重伤!穆迪膝盖骨头疑爆裂突出!太恐怖了,转播信号直接切断!

突发重伤!穆迪膝盖骨头疑爆裂突出!太恐怖了,转播信号直接切断!

贵圈真乱
2026-03-24 13:27:00
高校党委书记,任上被查!

高校党委书记,任上被查!

双一流高校
2026-03-24 00:06:42
被“隔离”的晚年:那些感染HIV的老人们丨在场

被“隔离”的晚年:那些感染HIV的老人们丨在场

红星新闻
2026-03-24 11:03:16
山东省潍坊市原一级巡视员孙忠礼被开除党籍

山东省潍坊市原一级巡视员孙忠礼被开除党籍

界面新闻
2026-03-24 16:01:46
网友爆料美团App删除手机内照片 客服:安卓版因插件冲突出现缓存清理异常,预计波及数百人

网友爆料美团App删除手机内照片 客服:安卓版因插件冲突出现缓存清理异常,预计波及数百人

红星新闻
2026-03-24 12:18:09
2026-03-24 16:35:00
GameRes游资网 incentive-icons
GameRes游资网
GameRes游资网
7351文章数 10463关注度
往期回顾 全部

游戏要闻

含剧透!永别了浣熊市 《生化9》彻底告别旧时代

头条要闻

小区公共收益现-74万元 业主惊呆:5年临时停车收入0

头条要闻

小区公共收益现-74万元 业主惊呆:5年临时停车收入0

体育要闻

NBA最强左手射手,是个右撇子

娱乐要闻

林峰张馨月全家浙江游 岳母帮忙带女儿

财经要闻

很多人,都被黄金吓怕了!

科技要闻

苹果WWDC26全球开发者大会官宣6月9日开幕

汽车要闻

尚界Z7双车预售22.98万起 问界M6预售26.98万起

态度原创

本地
房产
数码
艺术
军事航空

本地新闻

春日吃花第一站——云南

房产要闻

油价最高刺破11元/升!50万海南电车车主笑出了声!

数码要闻

飞利浦2026款全系电视放弃Google TV换用Titan OS

艺术要闻

KPF新作:大夏西咸酒店,以“西咸之眼”为理念

军事要闻

以色列媒体:美国计划于4月9日结束对伊朗战争

无障碍浏览 进入关怀版