Sycoforge 如何促进快速构思和迭代

May 17, 2022
游戏人物,满脸血污,留着长长的辫子胡须,拄着一根法杖或一把剑

采用 Unity Version Control 加速了Return to Nangrim的开发,将程序员和美工人员聚集在一起,使提交次数增加了 300% 以上。

挑战

改善广大贡献者社区的协作和可靠开发

平台

MacOS、PC、PlayStation 4、PlayStation 5 Xbox One、Xbox Series X|S

项目工作人员

苏黎世 10 人,自由职业者 21 人

所在地

瑞士苏黎世

Sycoforge:Unity 版本控制案例研究

一个以艺术为驱动力的独立工作室如何确保来自不同的、高度分散的创意贡献者社区的版本控制保持一致?Sycoforge 正在深入开展一个雄心勃勃的跨媒体项目,其中包括 重返南格林是一款由多媒体和复杂的语言组件支持的冒险 RPG 游戏。然而,他们现有的版本控制系统(VCS)只是程序员的工具。它不是为游戏开发的创意方面而设计的,Sycoforge 需要改变。

缺失支脚的悬空山桥

用 VCS 统一整个游戏开发环境

Sycoforge独特的开发模式包含了来自全球开发者、艺术家和玩家社区的定期反馈。大多数 VCS 都很复杂,是为工程师设计的,并不是为大文件和二进制文件设计的。为了实现社区驱动发展的愿景,快速迭代至关重要。Sycoforge 需要一个强大的解决方案,同时还能为他们的艺术家和非技术团队成员提供服务。要实现他们的愿景,快速、广泛的采用至关重要,他们在Unity DevOpsUnity Version Control(前身为 Plastic SCM)中找到了完美的解决方案。

结果

  • 提交次数增加 300%,合并冲突变得微不足道
  • 一周内从 Bitbucket 迁移到项目中期的 Unity Version Control
  • 让艺术家能够控制自己的 Version,而不会给开发人员带来负担
人物面部的线描概念图

憧憬奇幻宇宙

工程系学生 Michela Rimensberger 和 Ismael Wittwer 在大学期间花了大量时间玩模拟游戏,尤其是在 "中土之战"奇幻世界里。受到建立自己的另一个现实的启发,两人开始了雄心勃勃的探索。

他们希望创建一个具有独特语言、文化、地图、氏族和其他细节的游戏,打造一个全新的、不断发展的、自成一体的幻想世界--阿拉芬宇宙。为了实现这一目标,2017 年,现分别担任首席执行官和首席技术官的两人在苏黎世成立了 Sycoforge 公司。

重返南格里姆》是阿拉芬传奇故事的第一章。这是一款黑暗的第一人称奇幻冒险游戏,游戏主要以矮人山城为背景,充满了托尔金笔下中土世界的神秘色彩。然而,它远不止是一个游戏。Sycoforge 的语言学家们创造了多种 Arafinn 语言,最初的想法已经发展成为一个丰富的跨媒体 Collections,包括互动、娓娓道来的故事书、卫星视图多媒体世界地图、小说,甚至漫画。

游戏人物,长胡子,戴头盔

克服数据丢失、合并冲突和加载速度慢等问题

玩家公会是 Sycoforge 敏捷开发工作流程中的重要组成部分,它能为实验内容和游戏玩法提供近乎即时的反馈。为了管理整个网络的版本控制,Sycoforge 一直在使用主要为程序员设计的基于 Git 的源代码库。

然而,阿拉芬的艺术可以用一个词来概括,那就是 "巨大"。这意味着他们的 VCS 除了要处理基于文本的代码更改外,还必须不断刷新多达数千兆字节的图形文件。这一过程既缓慢又具有挑战性,而易用性(或缺乏易用性)则是问题的关键所在。

"你保存在 Cloud Save 中的所有东西,如果有人正在处理别人正在处理的同一个文件,你很可能会遇到麻烦,"Rimensberger 说。"代码的开发和维护非常耗时,我们不能丢失数据"。

"代码的开发和维护非常耗时,我们不能丢失数据。Unity Version Control 让我们可以自由地进行试验,尝试我们可能不会做的更冒险的事情。

Michela Rimensberger
Michela Rimensberger - Sycoforge
CEO
正在渲染的字符

重新平衡故障排除与创建时间的关系

在使用 Git 的情况下,技术团队将时间浪费在排除工具故障和解决合并冲突上,而不是开发游戏,这在团队内部造成了焦虑。人们不敢提交,以防弄坏了什么东西,而且在等待巨大的 repo 变动加载时也很沮丧。

"Rimensberger 说:"视频游戏的性质、数据的大小--这些都是 Git 无法做到的。"庞大的文件让工作变得如此困难,等待本地化更改也需要花费大量时间"。

项目进行了一年左右,Sycoforge 认为情况必须有所改变。为了充分实现他们的游戏愿景,他们需要尝试新的想法,承担更多的创意风险。由于在提交数据时对数据丢失的恐惧如此之高,他们的 VCS 无法实现快速迭代,从而无法完全支持社区驱动的开发。在项目中期迁移到新的 VCS 可能具有挑战性,但使用满足工作室独特需求的系统所带来的好处是值得的。

"我喜欢使用 Unity Version Control,因为它非常简单。可视化界面和可用性意味着我不必担心别人看不懂。太清楚了"。

Andi Arcaro
Andi Arcaro - Sycoforge
Programmer
一个人物望着广阔无垠的巨大火山

提交到 Unity 版本控制

"Sycoforge 的程序员 Andi Arcaro 说:"我们看了几家 VCS,但 Unity Version Control 显然与众不同。Version Control 的建立是为了在整个游戏开发环境中实现协作。Sycoforge 重视版本控制的两种不同工作流程:一种是为熟悉传统 VCS 的程序员设计的全功能开发人员工作流程,另一种是为技术含量较低的贡献者设计的高度图形化的简化模式Gluon

Sycoforge 在项目中期从 Git 迁移到 Version Control 只用了不到一周的时间,几乎没有出现任何问题,对团队的产出产生了立竿见影的效果。程序员们发现,它促进了协作,而艺术家们则因它能处理巨大的图像文件而倍感自豪。因此,Sycoforge 的承诺率跃升了 300% 以上。

"Rimensberger 说:"Version Control 可以帮助我们尝试更冒险的事情,否则我们不会这样做,因为我们可以很容易地回到已经存储的数据上。"使用 Git 时,你害怕提交,因为万一出了问题怎么办?Version Control 就不具备这种功能。人们愿意更频繁地做出承诺,这也让我们减少了解决合并冲突的时间(现在合并冲突已经很少了)。由于 Gluon UI 易于使用,即使是艺术家也能自己解决大多数合并冲突。它刀枪不入,万无一失"。

翱翔在高山和树木之间的雄鹰

寻找解决源控制压力的施利克 方案

每个工作室都会有自己独特的需求和工作流程,而 Version Control 的面包和黄油就是它为团队提供的灵活性,让团队可以根据自己的需求来塑造工具。对于那些刚刚起步的人来说,Sycoforge 的做法是让每个人都开始使用 Gluon UI,甚至程序员也不例外,只有高级开发人员和首席开发人员才能使用 Plastic 的专业工具。

Rimensberger 将 Gluon 描述为 " schlicht",这个德语单词的字面意思是 "朴素",但蕴含着一种简洁的优雅。"她说:"功能是齐全了,但你只接触到你真正需要的基本功能。"把每个人都介绍给 Gluon 会让你的生活变得更轻松,然后那些需要全面功能的人就可以拥有这些功能"。

对于一个与许多自由职业者合作的小团队来说,这种方法是最合理的。如果只向大部分团队成员提供 Gluon 界面,就可以减少他们的大量支持工作,否则他们就必须向大部分非技术成员提供全面的功能和可能性,而只能提供他们最需要的功能和可能性。这样,他们就可以腾出一些经验丰富的开发人员,使用 Version Control 的分支资源管理器等功能和一些更强大的工具来协调项目。

办公室内工作站上的五名团队成员

拉近团队距离

借助 Version Control,Sycoforge 强化了敏捷开发流程,规范了工作流程,并更快地响应社区反馈。Rimensberger 说:"有了 Version Control,提交通知现在会定期出现在我们的收件箱中,这是我每天早上首先查看的内容。不过,对于 Sycoforge 来说,简化开发只是一种手段,最终的目的是获得丰厚的回报。

"Rimensberger 说:"事实上,我们的社区已经开始用我们的矮人语言交谈和打招呼,他们创造了新的词汇,他们在寻找线索和复活节彩蛋--这就是对我们团队的奖励。"全世界的陌生人都聚集在我们的 Discord 酒馆里,喝着虚拟的矮人啤酒,度过一段美好时光。建立这样的社区不正是游戏的意义所在吗?

"从 Bitbucket 迁移到 Version Control 真的非常非常顺利。开箱即用"。

Michela Rimensberger
Michela Rimensberger - Sycoforge
CEO
游戏人物,满脸血污,留着长长的辫子胡须,拄着一根法杖或一把剑

使用 Unity DevOps 进行无损创建

UnityGaming Services 的Unity DevOps提供基于云的 VCS 和 CI/CD 功能,专门针对游戏开发的挑战量身定制。它可以轻松处理大型文件和二进制文件,同时提供艺术家和开发人员专用的工作流程。


准备好迈出下一步了吗?免费试用