您想找什么?
Case studies

PIGIAMA KASAMA 如何从网络游戏 Kasama 中减少 218 MB。觉醒

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

Kasama:《觉醒》是一款由PIGIAMA KASAMA制作的情节驱动的网络冒险游戏。为了在网络上创建这个游戏,团队需要在保持高视觉保真度的同时优化跨设备的性能。以下是他们如何将他们的Vision变为现实。

挑战:
优化Kasama:使用Unity Web在各种设备上保持高视觉保真度的觉醒
平台
Spatial.io
位置:
阿姆斯特丹,荷兰
项目人员:
8

工作室如何在网络上提供视觉上令人惊叹和情感上引人入胜的体验?

在为其他品牌制作游戏两年后,PIGIAMA KASAMA团队相信一款原创的、叙事驱动的游戏将在网络上找到观众。当Kasama:《觉醒》最初是一款VR和桌面格斗游戏,他们决定将其改编为一部情节式益智冒险游戏。

要体验Kastania,我们已将游戏嵌入下面,供您在桌面浏览器上享受。请查看Spatial的应用程序。

作为长期的Unity开发者,工作室创始人Matteo Fanchin和Paride Stella希望找到一个平台开发和发布合作伙伴,该伙伴具有相似的优先事项,例如创作自由、高视觉保真度、出色的玩家体验和多平台支持

我们发现Spatial是用户生成内容(UGC)的终极平台。通过结合其流程简化能力以及为玩家提供的可访问性与我们使用Unity构建时的灵活性,我们能够突破网页游戏的音频、视觉和体验极限,”Fanchin说。

空间团队呼应了PIGIAMA KASAMA团队为合作带来的价值。Jake Steinerman,开发者关系负责人,说:“我们已经以一种方式构建了这个平台,使创作者能够在网络、移动设备和VR上获得非常高质量的体验。”当我们看到Kasama的早期版本时:觉醒和团队所做的其他工作,我们知道我们必须支持它。

挑战现状

尽管PIGIAMA KASAMA团队拥有来自Unity和Spatial的创造力、专业知识和支持,他们的Vision带来了许多挑战。主要障碍之一是在保持高视觉保真度的同时优化游戏在不同设备上的性能。“WebGL 的限制要求我们在实现图形、游戏机制和整体用户体验方面要有创新,”Stella 解释道。

为了满足他们的视觉和性能期望,他们需要在不牺牲质量的情况下压缩构建大小。他们选择了Universal Render Pipeline (URP)、Shader Graph、Unity的Animation System和内置动画压缩来实现这一点。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

结果

  • 将游戏的纹理内存从264 MB减少到140 MB
  • 将网格顶点数量从550,000减少到351,000
  • 将音频内存从86 MB减少到9 MB
  • 将UI的精灵大小从45 MB缩小到28 MB
  • 将使用的独特材料数量从75减少到57
  • 性能从最初的4 FPS提高到低端设备上的最低30 FPS
  • 在推出的前七周内,累计播放量超过次
要制作一个引人入胜的游戏,首先要确定一个引人注目的概念并运用游戏机制。拥抱简单,并抵制认为增加复杂性意味着更好的游戏的信念。最大化你所拥有的潜力。
MATTEO FANCHIN / PIGIAMA KASAMACofounder

最大化有限资源

他们的设计方法是从一开始就非常注意资源限制,但也要有灵活性和带宽,以便根据需要增加或减少视觉保真度。计算能力和内存限制被证明是他们最大的挑战,为了保持性能,他们不得不降低一些纹理的分辨率。“我们将最高质量的纹理放在最显眼的地方,”斯特拉说。

团队尽可能少地使用资源,这种方法影响了一切。他们尽量减少多边形数量和纹理大小,以限制材料的数量。他们还优化了UV,即与几何体的顶点信息相对应的二维纹理坐标。

编辑器中用于环境交互和相机控制的碰撞体截图
编辑器中用于环境交互和相机控制的碰撞体截图

由于相机的移动是已知且非常受限的,我们设法在纹理处理之前对所有几何体进行了激进的遮挡剔除,以便每个多边形和像素都能得到最大程度的利用,”Fanchin说。“此过程可防止Unity为完全隐藏的GameObjects执行渲染计算。”

动画是团队缩小规模的另一个领域。他们使用了Unity动画系统中的Humanoid动画类型,以及Mecanim动画重定向系统。此外,Unity 内置的动画压缩过程帮助他们通过减少项目中动画的整体重量来优化性能。这在减少角色面部表情的动作捕捉动画方面特别有用,因为这些动画往往过于详细和繁重。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

找到他们的光

良好的照明效果至关重要,并且在网络游戏中很难实现,”斯特拉说,团队希望确保照明质量与游戏的其他部分相匹配。照明也是游戏机制的关键。团队用它来制造紧张感,引导玩家移动,并突出游戏中的重要区域或物体。动态效果强调了故事中的关键时刻和过渡。

我们希望尽可能多地使用烘焙光照。这是一种在通常不提供这种程度逼真度的平台上,营造高质量照明感知的方法,”Fanchin说。

团队最复杂的挑战之一是无需场景加载就能转换环境中的照明,并在灯光开启时创建动态照明变化。他们使用了一个自定义着色器,实时操控光照贴图,使一切看起来平坦,并给人一种动态光的错觉。斯特拉解释说,“要实现这一点,关键是将游戏设计和环境设计作为一个整体过程,而不是将其分开。每个元素都需要服务于其他元素。

团队在编辑器中使用Shader Graph将黑色粘液散布在地图上的截图
团队在编辑器中使用Shader Graph将黑色粘液散布在地图上的截图

他们使用Shader Graph开发了自定义着色器,这在团队称之为“噩梦序列”的过程中特别有用。它用黑色的粘液覆盖地图,同时中和了光线,使环境呈现黑白色。

“当玩家打开灯时,着色器会逆转这种效果,制造出灯被激活并清除照亮区域的黑色粘液的错觉,”范钦说。

这个自定义着色器在另一章中也非常有用,在这一章中,大量的栗子爆炸了。处理栗子作为单个Entities是不切实际的,所以他们将它们分组为一个单一的网格,并使用着色器来管理摇晃和爆炸。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

每个栗子都从左到右映射在UV网格上,对应于爆炸顺序,堆顶的栗子先爆炸。着色器通过索引选择预定义的栗子组,而另一个脚本则在栗子即将爆炸的精确位置放置粒子系统爆炸。

“这种方法使我们能够有效地管理大量几何图形和复杂的动态,而不会导致性能过载,从而确保符合网络性能要求,”斯特拉解释道。

由于构建大小的限制,他们还做出了一些艺术选择以提高性能。他们选择在黑暗区域工作以隐藏元素。这帮助他们优化了多边形和蒙皮网格的数量。“我们在较亮的区域添加了更多细节,”范钦说。

编辑器中团队使用粒子系统进行栗子爆炸序列的截图
编辑器中团队使用粒子系统进行栗子爆炸序列的截图

管理音频制作流程

声音设计影响了从游戏节奏到环境和互动的设计,并在加深玩家与故事的情感联系的同时引导他们。PIGIAMA KASAMA 团队创作并制作了与每集的情绪和节奏相匹配的原声音乐。他们还与配音演员合作,并聘请了一位语言学家来创造一种语言。他们的目标是创造一种增强游戏沉浸感的听觉体验。

每当一个体验或产品有糟糕的音频时,你就会听到它。如果音频效果好,它就是无形的,”斯特拉说。

他们在将其应用到游戏中之前,执行了一个严格的三阶段音频制作技术流程。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

第1阶段:音频剪辑统一和混音/母带制作

第一阶段需要统一多个音频片段,特别是循环声音,如环境音景和游戏的原声带。此过程扩展到某些一次性音效,这些音效被分层并合并为单一轨道。这些修改是在混音和母带制作阶段整合的,确保统一的剪辑在不同的播放环境中保持音频动态和整体平衡的一致性。此阶段对于最小化不一致性和确保连贯的听觉体验至关重要,特别是对于需要在游戏中无缝过渡的循环Sequences。

第2阶段:转换格式以符合优化的压缩标准

在第二阶段,原始高保真音频文件(通常为AIFF和FLAC格式)被转换为OGG格式。以48 kHz的采样率和16位的位深度,遵循行业标准以在音频质量和性能效率之间保持平衡。使用了Vorbis压缩编解码器,这使得在不影响感知音质的情况下显著减少了文件大小。

编辑器内截图显示了后期处理体积的微调
编辑器内截图显示了后期处理体积的微调

第3阶段:Unity 实施和微调

最后阶段涉及将处理过的音频文件集成到Unity中。这包括仔细选择合适的加载方法(例如,长曲目的流式传输或关键音效的预加载)以优化游戏过程中的性能。团队微调了Vorbis压缩设置,以在音频保真度和资源利用之间取得平衡。

此外,根据音效设计中的角色和所需的游戏内空间化效果,仔细决定是否应以Mono或立体声处理特定的音频文件。

严格的优化过程在最后阶段实施,带来了显著的存储和性能提升。通过利用OGG格式和调整压缩设置,音频资产总共被压缩到大约10 MB。这标志着与使用未压缩的AIFF文件相比的500 MB估计值或MP3等效文件的100 MB占用空间相比有了大幅减少。这些结果不仅减少了游戏的整体大小,还确保了在游戏过程中高效的内存使用和流畅的音频表现。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

在多个平台上部署

通过与Spatial合作进行多平台网络发布,PIGIAMA KASAMA团队采用了URP,这是该平台的首选管道。作为一名拥有15年CGI经验的设计师,Stella使用了许多工具来实现各种目的,并对URP的功能印象深刻。

URP works great.我很快学会了如何使用它来实现我们的目标与Kasama:觉醒。我认为它几乎完成了我想到的一切,所以我很高兴。"他说。

渲染管线的灵活性和效率对于团队在网络平台上部署时尤为重要,因为跨平台的兼容性和可定制性帮助他们轻松扩展。

性能可以针对每个平台进行优化,即使在低端设备上,开发人员也可以使用自己的着色器。它是为未来的发展而建造的,"斯坦纳曼解释道。“从空间平台的角度来看,随着我们开始支持未来版本的Unity,我们预计URP也将在那里得到支持。”

“Unity 是顶级的游戏引擎。我们知道这是我们和我们的开发人员可以依赖的东西,可以提供真正高端的体验,并提供广泛的支持。
JAKE STEINERMAN / SPATIAL.IOHead of Developer Relations

Spatial 的服务器创建了单独的构建并优化了每个平台。他们帮助了PIGIAMA KASAMA团队进行WebGL构建,以及他们为Android和原生iOS进行的单独构建。他们对某些平台有不同的目标质量。

景深在WebGL上运行得很好,但我们发现它在某些移动设备上的性能较差。另一方面,Android 和 iOS 上的音频性能要好得多,”Fanchin 说。“我们本可以在Android上更好地使用滤波器和EQ,这是一种音频工具,允许开发者调整音频源中特定频率的音量级别,但这在WebGL上行不通。”

他们调整了某些元素以符合每个平台的要求,而其他元素则专门为该平台进行了适配。对于WebGL,我们使用了更高分辨率的纹理,因为屏幕通常更大,并在较小的移动屏幕上采用了较低分辨率的纹理。总的来说,多平台发布非常顺利,”斯特拉总结道。

卡萨马觉醒 由 PIGIAMA KASAMA
卡萨马觉醒 由 PIGIAMA KASAMA

在旅程中包括玩家

在决定制作网络游戏后,PIGIAMA KASAMA 团队需要找到一种方法,以可管理的部分开发高质量的内容。他们选择了一种分集发布系统,使他们能够在每集之后收集玩家反馈,并将其纳入未来的版本中。它还帮助他们快速测试和迭代。

“我们制定了一条灵活的路线图,使我们能够根据玩家反馈和新技术调整开发过程,”斯特拉解释道。每一集都以未来为导向进行规划,确保叙述和游戏机制能够随着时间的推移自然演变。

选择这个发布计划也带来了多个挑战。团队需要确保在质量和叙事方面的一致性。管理玩家期望也是一个潜在的障碍,因为分集发布需要在提供足够内容以满足玩家的同时,保持他们对下一集的兴趣之间取得微妙的平衡。

总的来说,团队学到了很多,并且很高兴能将这些知识带到第二集。“我们很自豪能够继续展示开发者为WebGL构建的体验质量,”范钦说。“作为一个小型工作室,我们很高兴看到我们可以通过Unity 6和WebGPU等技术进步实现什么。”

“Unity 6 将在帮助独立和小型游戏开发者构建下一代网页游戏方面发挥关键作用。”
PARIDE STELLA / PIGIAMA KASAMACofounder

扩展的可能性与Unity 6

Unity 6 专注于将快速、便捷的游戏创建工具直接交到您手中,无论您的玩家身在何处。在 Unity Hub 中下载 Unity 6。

探索案例研究

填写此表格以获取最新的客户成功案例