跨平台扩展 Scritchy Scratchy

Sep 28, 2026
挠挠挠 | 午餐钱游戏 | 欢乐日游戏

为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

将Scritchy Scratchy 引入 PC 和移动端,同时为 Nintendo Switchᵀᴹ 2 和 Nintendo Switch 做好准备,意味着需要在非常不同的设备上调整触觉交互。

用控制器实现同样的响应性,要求Team重新思考输入、UI行为、触觉反馈以及游戏如何适应不同的屏幕尺寸和宽高比。

移植过程也意味着要在性能和可维护性之间取得平衡。Team 没有创建单独的平台分支,而是将游戏保留在一个单一的 Unity Project 中,这样优化、错误修复和新内容就可以跨平台共享。

自发布以来,该游戏在Steam上销量超过125万份,在移动端销量达25万份,同时在超过14,000条评论中获得了94%的正面Steam评分。

我们采访了 Lunch Money Games 的创意总监 Constantin Lervig;Lunch Money Games 的首席执行官 Hannibal Sigfusson;与 Funday Games 合作进行移动端和 Nintendo Switch 移植的程序员 Christian Biskopstø Thomsen;以及 Funday Games 的产品和合作伙伴主管 Emil Kjæhr,讨论了 Scritchy Scratchy 最大的移植挑战。

Nintendo Switch是Nintendo的商标。

在跨这些平台移植过程中,您的主要技术目标是什么?

Christian Biskopstø Thomsen:我们知道可能成为问题的主要事情是性能。除了确保它运行流畅、目标帧率为 60 FPS、能在我们希望Support的各种分辨率下运行,以及最终ON每个平台上都感觉像一个良好的原生体验之外,并没有太多高度指定的的目标。

康斯坦丁·莱维格:还有一些更小的设计考虑因素,例如为不同分辨率移动 UI 元素以及确保体验不依赖于键盘输入。但我们从一开始就设计这款游戏使其相对容易端口,所以很多基础工作已经做好了。

刺耳的 刮擦的

移植过程中遇到的最大技术挑战是什么?

CBT:最大的移动端端挑战是平台指定的的部分:让应用在 App Store 和 google play 上正确构建、处理Certificates、集成平台 SDK 以及处理云档等系统。

输入成为了一个巨大的挑战,因为我们是围绕鼠标和触摸来设计这个游戏的。我们需要决定刮擦应该如何与游戏手柄配合使用。这涉及设计讨论和多次迭代,直到我们找到了感觉合适的东西。

埃米尔·凯尔我们规划了交互应该如何工作,包括在您打Open单并开始涂抹When,将输入吸附到相关区域。

对于任天堂 切换 2 来说,我们也希望Support它的鼠标功能。

ON移动端设备上,我们在刮擦时增加了触觉Feedback。触觉反馈在范围Devices上表现不同,尤其是ONAndroid上。我们遇到过Users报告手机震动太厉害的情况,所以这需要一些反复的迭代。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

在跨平台实现核心交互的触感方面,是否存在特别的挑战?

CBT:手柄绝对是最难移动的交互。通过触摸,刮擦机制几乎立即就能很好地工作。有了控制器,我们不得不重新思考这个Action应该如何感觉,而不是简单地进行一对一的Mapping。

EK:我们四个人坐下来参加了一个 workshop,直视着 PC 版本。我们有效地拆解了该交互,并将其重建为Other平台的Wireframe。

一旦我们做了那件事,直观的方法就变得相当清除了。这也说明了我们从跨平台角度对原始设计进行了多么彻底的思考。When我们把游戏移植到移动端设备上,后来开始为控制器适配交互时,这为我们节省了大量时间。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

您使用了哪种移植策略——是为每个平台适配单一版本,还是使用独立的平台特定分支?为什么?

CBT:我们选择了一个单一的 Unity 项目和代码库,而不是为每个平台维护独立的长期分支。

分离的平台分支倾向于彼此漂移。你ON一个BRANCH上修复了某物,然后需要将其集成到Others分支中。一旦你支持四个或更多目标,那会很快变得乏味。

单一个Project有其自身的缺点,因为你结束会在代码中得到条件编译和指定的于平台的检查。但对于Scritchy Scratchy的大小和复杂性,我们将其保持在可控的水平。

CL:单一项目的另一个大优势是,每一个小的优化和错误修复都会应用到所有构建中。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Unity Profiler 如何帮助您找到和修复特定平台的瓶颈?

CBT:我ON处理性性能问题时大量使用了 Unity Profiler。我的工作流程基本上是:先看配置文件,看看到底哪里慢,然后再修复它,而不是凭猜测。

最大的例子是划痕粒子。When刮开票面时,我们会从纹理中提取信息,并Generate与您刮开的颜色Match配的粒子。ONPC上效果非常好,但原始方法ON移动端设备上太臃肿了。

解决方案是为那些粒子使用GPU 实例化。一旦我们做了那个Change,它就成了端口最重要的性能优化之一。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

输入系统 如何帮助您支持不同的控制方案?

CBT:触摸功能几乎开箱即用,与Input System配合得非常好,这非常有用,节省了大量时间。

我可以将控制器插入我的PC,在Editor器中直接播放和测试控制,然后为任天堂 切换 构版本游戏。控制器映射通过 Input System 传递,这使得迭代速度大大加快。

HS:从ProjectStart,我们在Input System和我们代码的REST部分之间构建了一个图层。游戏代码不需要直接关心每一种硬件输入类型。它可以使用该图层来确定输入是否激活了指针、指针在哪里,或者它的世界位置是什么。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

您为每个平台设定了哪些性能目标,实际达成了多少?

EK:我们在移动端确定了最低支持的OS和API级别,然后针对该范围下限附近的Devices进行了测试。

一旦我们为粒子系统实现了GPU实例化修复,我们ON那些Devices上就不再看到有意义的帧率问题了。

ON iOS 上,我们专门测试了包括 iPhone X 和 iPhone XS 在内的Devices,以make游戏ON我们要Support的硬件上运行良好。我们ONAndroid上遵循了同样的理念。

CL:Scritchy Scratchy 需要感觉平滑,因为如果游戏卡顿,刮擦的满足感会立即消失。

要求是它应该感觉像用手指刮擦实体刮OFF。在实践中,这意味着要达到大约 60 FPS 的平滑度。

CBT:分辨率是另一个挑战。我们为宽屏 PC 显示器设计了原始游戏。大多数风景模式的Phone分辨率翻译得相当自然,但 iPad 的宽高比比更难。

我们在释放前有足够的时间来make iPad 版本也正常工作。这涉及到调整演示文稿,并使用一些缩放进出功能,makeLayout自然地适应。

Goal是无论有人首先在PC、手机还是iPad上遇到Scritchy Scratchy,它都应该感觉像是属于该设备,而不是像一个被破坏的端口。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

哪些部署决策对跨平台发布质量产生了最大的影响?

EK:最大的DeploymentDecision是将所有内容保留在一个Project中。

这不仅对第一个端口重要,也对后续的可维护性重要。When我们谈论新建内容进入游戏时,我不需要担心将该内容通过多个个独立平台分支需要多长时间。

CL:这也使得在任务之间Move人员变得容易。我们有一位开发者人员帮助我们修复PC上的错误,他可以直接Move修复移动端端问题,而无需学习一个单独的移动端端代码库。

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

Scritchy Scratchy | 午餐钱游戏 | Funday 游戏

您为计划将游戏移植到多个平台的开发者提供的最佳建议是什么?

CL:从设计透视来看,尽早决定游戏可能ON运行。我们早期做出了不重点关注手柄的决定,后来我们看到了这带来了额外的工作量。

HS:从一开始就考虑输入、Resolution率、宽高比以及游戏ON不同平台上的感觉应该如何。那些东西以后添加就难多了。

Scritchy Scratchy 可在 Steam、App Store 和 Google Play 上获得。查看 Unity 开发者在 Unity Blog 和 Resource Hub 上的更多故事。