跳到正文
Unity · AI工具与游戏开发· 一手来源·· 8 天前精选AI 评分61

How Soft Crunch Games built Foxy Dumplings for every platform

How Soft Crunch Games built Foxy Dumplings for every platform

推荐理由

原文把跨平台发布拆成共享玩法、平台接口、自动化构建和弱硬件测试,读者可迁移到多端游戏工程。

正文

Oct 16, 2026

Adam Axler

Adam Axler - Unity

Senior Content Marketing Manager

Foxy Dumplings | Soft Crunch Games

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

通过 Steam、GOG、Epic Games Store 和 Microsoft Store 准备同一款游戏,并支持 Xbox Play Anywhere,同时在 Nintendo Switch™ 2、Nintendo Switch、PlayStation®4、PlayStation 5、Xbox Series X|S、iOS 和 Android 上运行,对于任何工作室来说都是一个雄心勃勃的技术挑战。对于 Soft Crunch Games 的四人核心团队来说,这意味着从一开始就把跨平台开发纳入游戏架构。

Foxy Dumplings 是一款温馨的烹饪和管理游戏,讲述了专业厨师丽莎从职业倦怠中恢复,通过用她家族的饺子食谱和餐车重新开始的故事。玩家穿越受真实美食文化启发的12个地点,种植食材,学习地方食谱,运行卡车,并创造自己的菜肴。

Grzegorz Wątroba 负责All有编程、平台移植、生成管道和认证工作。由于一名程序员负责如此多的目标,该 Project 的构建围绕着一条 Rule:每个平台都从同一个提交获取相同的游戏。

狐狸饺子

一个项目,一个分支,一个游戏

在实践中,这意味着不妥协:没有单独的分支,没有半年后推出的移动版,也没有内容减半的版本。

这就成了一些Rules。这就成了一些Rules。每个Control方案ON必须独立完整,这样玩家就可以仅使用控制器、仅使用触摸屏或仅使用鼠标(有或没有键盘)来完成游戏。保存文件在所有地方都使用相同的Binary进Format式,因此在Devices之间移动进度不需要转化。

保存文件在所有地方都使用相同的Binary进Format式,因此在Devices之间移动进度不需要转化。

“我们从一Start就把认证要求视为设计约束,”Wątroba说。“Foxy Dumplings 没有文本输入字段,例如,所以我们永远不必处理多个不同系统上的屏幕键盘。”PC 存储 SDK,如 Steamworks,会自动从控制台和移动构建中剥离。

他希望每一次生成都来自一个菜单,而没有人手动触碰“项目设置”。今天那个菜单单在不同平台、生成类型、演示、测试版构建和输出配置中超过了70个条目。

将平台代码保留在边缘

Foxy Dumplings 是一个 Unity 项目和一个分支。游戏玩法总是共享的。平台代码仅允许在游戏与System交互的边缘使用:保存、用户Accounts、成就和奖杯、云步、DLC 检查、System对话框和导出照片。

肝脏说:“每个System都位于一个接口之后。”我们使用外观模式为游戏玩法提供一个入口点,然后在启动时使用一个小型工厂选择正确的平台提供者。游戏玩法玩法可能会说“解锁此成就”,但它不知道这个成就最终会出现ON Steam、PlayStation® 网络 还是All没有。

运行时时配置处理了大多数差异,例如Player是否可以退出到桌面或Open网页Link接。由构建脚本传递的 Scripting Define Symbols 处理了诸如从非 Steam PC 构建中排除 Steamworks 的情况。Unity Platform Defines 是最后的手段,仅在代码无法在其他地方编译时使用。

文本差异也是数据。本Localization密钥具有平台变体,因此“成就”ON PlayStation® 上可以变成“奖杯”,而无需更改游戏玩法代码。

Foxy Dumplings | Soft Crunch Games

自动化任何重复发生的事情

Wątroba保持工作量可控的方式部分是经验,部分是拒绝重复做同样的事情。任何跨平台重复出现的东西最终都变成了一个Script或菜项

使用正确的定义、输出Folder和Settings,一键完成指定的生成。它们还在大约 40 个平台和存储配置上运行编译检查,在 QA 看到之前就捕获了经典的“在 Windows 上编译通过但在 PlayStation 上崩溃”的问题。

作用域也很重要。我们拒绝了那些会增加平台工作量的Features:文本输入、我们需要托管或管理的在线Features以及游戏内Purchases。他说,我们还发售一个可以ON PlayStation 4 和 PlayStation 5 上运行的 PlayStation 生成。

承包商不需要考虑平台。UI 在 4K 画布上设计一次,然后根据不同平台进行缩放。音效Team在一个FMODProject中工作。游戏设计师在所有地方使用相同的数据Assets来构建内容。他说:“平台差异是我的任务,不是他们的。”

Foxy Dumplings | Soft Crunch Games

在编写代码之前设计输入和UI

Wątroba 的第一步是与 Foxy Dumplings 团队的 UX 设计师在纸上进行设计。

“我看到一些 Projects 因为一开始没有充分考虑输入和 UX 而遭受了损失,”Wątroba 说。我们的方法本质上是:这是我们的游戏,make它ON每个平台上都能运行。

在写第一线代码之前ON纸上解决那些问题,帮助Team避免了日后很多麻烦。

一旦UX体验完成,他们就围绕Input System构建了控制,包含一设置动作和三种Control方案:游戏手柄、键盘和鼠标以及触摸。游戏会根据玩家上一次使用ON内容实时切换方案,UI会自动跟随。

该Team在近 200 个地方使用了单一个按钮提示预制件。它理解每个平台的输入。“拿起一个控制器提示就会Change;Move鼠标它们又会Change,”他说。

烹饪小游戏是最难的部分,因为每个小游戏都必须兼容每种输入方法。Steam Deck 教给他们一个重要的Rule:不要询问设备是否存在;要询问它是否能实际产生你需要的输入。

Wątroba 解释说:“它的触摸屏可以表现为鼠标和左按钮,这使得需要两个鼠标按钮才能完成的迷你游戏变得不可能完成。”围绕能力而非Devices进行设计也有助ON老旧的Android硬件。

Foxy Dumplings | Soft Crunch Games

先分析最弱的硬件

Foxy Dumplings 是一款使用 Spine 角色和无光照 Materials 的 2D 游戏,因此当 GPU 出现困难时,通常是因为全屏图层太多或像素太多。

一个例子是厨房。一些特效被渲染到 4K 渲染纹理中,并叠加到UI界面上——ON 1080p 或 720p 显示器上是不必要的。Watroba 将渲染纹理更改为遵循实际屏幕Resolution率,并Disabled了 HDR 和DepthTextures,因为游戏从未使用过它们。从视觉上看,没有任何变化,但ON Steam Deck 上,图层现在帧填充的像素大约减少了 8 倍,其渲染纹理从大约 32 MB 降至大约 4 MB。

Wątroba 的分析过程与他多年前学到的相同:他在实际设备上制作一个Development Build,附加Unity Profiler,找出哪些部分很耗费资源,测量它,修复它,然后再次测量。他说:“设备是王。”

内存也需要关注。该 Team 支持 14 种语言,包括中文、日语、韩语和泰语,每种语言都有自己的字体图集。当Team在语言更改期间看到内存峰值时,他们分析了分配路径,发现从Static图集中缺失的角色在运行时被栅格化到超大的4096×4096的Fallback图集中,并且每新增一个角色都会重新上传一个完整的16 MB图集。

修复方法是使用 2048×2048 的页面重新生成FallbackFonts,并在切换前Batches添加字形,这使得日语新建集内内存大约 48 MB 减少到每个字体 4–8 MB。

Team 在该项目中使用了 Addressables,因为 Unity Localization 是基于它的。All 14 种语言的字字符串和资源表都存储在可寻址组中,并按语言加载。“所有东西仍然本地发送,但 Addressables 为我们提供了一种干净的方式来管理这些数据和内存。”

Foxy Dumplings | Soft Crunch Games

测试一次共享游戏玩法,多次平台行为

该Team没有大型自动化测试套件,但他们自动化了一些系统,包括Check游戏内Economy是否可能崩溃的模拟。

使他们的质量保证工作可控的是平台共享了几乎All的代码。游戏玩法性ONPC上得到了深入的测试,因为迭代速度最快。ON主机和移动设备上,测试的重点ON平台图层:认证要求、保存和加载中、挂起和恢复、切换Users、控制器断开连接、奖杯和成就以及存储空间running。

“我们的External质量保证合作伙伴获得了发布、调试和带有调试工具的‘完全解锁’发布,”Wątroba 说。“测试人员可以Jump到Any章节或任务并操纵金钱、Energy或时间,这样他们就不必重玩五个小时来验证一个错误。”

public演示也是一个主要的测试音频源。超过18,000人玩过它,Team收到了超过一千份调查回复,这些回复促成了可访问性Features、错误修复、调整和质量改进。

首先使跨平台保存可移植

跨平台进度始于使保存本身可移植。进度是一个加密的Binary进制文件,ON每个平台上字节格Format都相同。ON移动上保存的文件可以ONPC上阅读。

同步有两个图层。第一个是每个平台的原生 Cloud Save。第二个是 Unity Cloud Save,它在生态系统之间携带进度。两者位于同一接口后,上方有 MERGE 逻辑。

每个保存槽都是根据其最后更新时间戳进行比较的。删除的槽位会留下一个标记,这样它们就不会从云返回。合并只在主菜单中发生,绝不会在游戏日中途发生,因为Foxy Dumplings在玩家进入睡眠时会保存。在没有网络连接When,上传会静默重试,When游戏暂停时会刷新。

Team 使用 Unity Authentication 代码链接控制台和 PC,因此玩家无需另一个帐户。跨进度是可选的,游戏在离线时仍然完全可玩。

肝脏说:“最大的Lesson是存储是容易的部分;Identity是困难的部分。”每个生态系统都有自己对“Player”的定义,因此“Authentication”必须分别信任 Steam 票据、PlayStation 令牌和 Xbox 令牌。

Foxy Dumplings | Soft Crunch Games

在不创建另一个平台问题的同时构建 Foxtagram

Foxtagram 是丽莎游戏内手PhoneON的一个应用,玩家可以使用盘子、餐具、食材、饺子、滤镜、帧和贴纸来摆拍菜肴照片,然后发布以生成餐厅的受欢迎程度。

主要的架构决策是让Editor器保持在常规的 Unity UI 中,内部不包含任何指定的于平台的代码。Wątroba 解释说:“它的 50 个滤镜是照片材质ON一个着色器的预设,而不是叠加层。”When你拍照时,一个专用的Camera将照片区域渲染成一个在输出Resolution的方形渲染纹理。我们使用 AsyncGPUReadback 将其读回并以 JPG 编码result。那个帧看起来像Camera闪光灯。

输出分辨率和 JPG 质量来自每个平台的设置。Editor器支持鼠标、控制器器和触摸:桌面ONDrag和鼠标滚轮;控制器ON摇杆和扳机键;触摸屏支ON捏合和旋转。

在游戏之外的分享是通过每个平台的 নিজস্ব 工具进行的。PC 可以使用照片Folder Steam 库,主机使用其System相册,移动设备使用System纹理层。对于一个小Team来说,使用平台现有的分享Features可以省去很多认证和Moderation工作。

Foxy Dumplings | Soft Crunch Games

迁移到 Unity 6.3 LTS

“Unity 6.3 LTS 带来的最有价值的是一个 LTS 发布版本,我们所依赖的一切都对齐了,并且其支持窗口覆盖了我们的发布需求,”Wątroba 说。

Team 在编辑 ScriptableObjects 等领域发现 6.3 更稳定,并且旧的 Android Devices 受益于 Vulkan 的修复。

版本时间也改进了。“使用 IL2CPP,我估计我们的构建速度大约快 10-15%,具体取决ON平台和迭代类型。”运行时时性性能也改进了几个百分点,尤其是ON较弱的硬件上。

升级过程大部分是平滑的。每个VFX Graph特效最初都变得不可见,因为迁移过程中丢失了着色器引用;重新导入图表很快就解决了这个问题。

在端口出现之前规划端口

对Team影响最大的决策是保留一个分支并从一开始就严格遵守平台差异。“游戏玩法代码从不询问它在哪个平台ONrunning。”“如果有什么不同,那就是数据、质量设置或接口背后的提供商,”Wątroba说。

Team 在游戏设计文档、美术圣经和叙事圣经的同时创建了技术架构文档,他们建议这样做。肝脏笔记,“在制作前绘制游戏的技术图层帮助我们保持职责分离,并使添加平台变得更加容易。”

下次,Team 会更早地在每个开发套件上运行构建。“架构是正确的,但很多实际的控制台工作仍然在提交前的几个月内完成,而且硬件总能发现 Editor 不会发现的问题。”

Foxy Dumplings | Soft Crunch Games

向世界各地运送一款游戏

Foxy Dumplings 的核心是一个简单的技术承诺:相同的游戏,相同的代码库,跨 PC、控制台和移动平台。对于一个小型Team来说,这只有在将跨平平台Development视为架构约束而不是留到结束进行移植任务时才成立。

“通过保持游戏玩法共享、隔离平台集成、自动化重复的生成工作,并尽早针对最弱的目标进行测试,我们的目标是让同步发布不再是维护许多个Foxy Dumplings版本的重点,而是让一款游戏无处不在地发布,”Wątroba说。

Foxy Dumplings 将于 2027 年通过 Steam、GOG、Epic Games 存储、Microsoft 存储(支持 Xbox Play Anywhere)在 PC(Windows、macOS 和 Linux)上提供,同时也会在 Nintendo Switch 2、Nintendo Switch、PlayStation 4、PlayStation 5、Xbox Series X|S、iOS 和 Android 上提供。查看 Unity 开发者在 Unity Blog 和 Resource Hub 上的更多故事。

*Nintendo Switch是Nintendo的商标。

来源:Unity · AI工具与游戏开发 · unity.com