Adopting Unity Version Control accelerates Return to Nangrim’s development, bringing programmers and artists together to increase commits by over 300%.
Sycoforge: A Unity Version Control case study
How does an art-driven indie studio ensure consistent version control from a disparate and highly distributed community of creative contributors? Sycoforge was deep into an ambitious transmedia project that included Return to Nangrim, an adventure RPG supported by multimedia and sophisticated linguistic components. However, their existing version control system (VCS) was a programmer’s tool. It wasn’t designed to serve the creative side of game development, and Sycoforge needed a change.
Uniting the entire game-development environment with VCS
Sycoforge’s unique development model incorporates regular feedback from a global community of developers, artists, and players. Most VCS are complex, built for engineers and not designed for large files and binaries out of the box. To achieve their vision of community-driven development, rapid iteration was vital. Sycoforge needed a robust solution that also served their artists and non-technical team members. Quick, broad adoption was essential to achieve their vision, and they found their elegant solution in Unity Version Control from Unity DevOps (formerly known as Plastic SCM).
- Increased commits by 300% and made merge conflicts insignificant
- Migrated from Bitbucket to Unity Version Control mid-project in under a week
- Empowered artists to take control of their own versioning without burdening developers
Envisioning a fantasy universe
Engineering students Michela Rimensberger and Ismael Wittwer spent a good deal of time at university playing simulation games – especially in the Battle for Middle Earth fantasy worlds. Inspired to build their own alternate reality, the two set off on an ambitious quest.
They wanted to create a game with unique languages, cultures, maps, clans, and other details for an entirely new, continuously growing, self-contained fantasy – the Arafinn Universe. To make it a reality, in 2017 the pair, now CEO and CTO, respectively, founded Sycoforge in Zurich.
Return to Nangrim is the first chapter of what will be a saga of the story of Arafinn. A dark, first-person fantasy adventure game set primarily in a dwarven mountain city, the game embraces the rich mystery of Tolkien’s Middle Earth. It is, however, much more than a game. Sycoforge linguists have created multiple Arafinn languages, and the original idea has grown into a rich transmedia collection of interactive, narrated storybooks, a multimedia world map in satellite view, a novel, and even comics.
Overcoming data loss, merge conflicts and slow load time blocks
The Players Guild is a critical component in Sycoforge’s agile development workflow, providing near-immediate feedback on experimental content and gameplay. To manage version control across this network, Sycoforge had been using a Git-based source code repository designed primarily for programmers.
However, the art of Arafinn is, in a word, huge. This meant their VCS had to constantly handle refreshes of graphic files up to multiple gigabytes in addition to text-based code changes. The process was both slow and challenging, and ease of use (or lack thereof) was the dealbreaker.
“With everything you save in the cloud, if someone is working on the same file someone else is working on, you’ll probably get into trouble,” says Rimensberger. “When it comes to code, which is time-consuming to develop and maintain, we can’t afford to lose data.”
Rebalancing troubleshooting vs creation time
With Git, the technical team wasted time troubleshooting the tool and resolving merge conflicts rather than developing the game, and it created anxiety within the team. People were afraid to commit in case they broke something, and frustrated as they waited for huge repo changes to load.
“The nature of a video game, the size of the data – it’s just not feasible with Git,” says Rimensberger. “The large files make it so hard to work with, and it takes so much time to wait for local changes.”
About a year into the project, Sycoforge decided things had to change. To fully realize their game’s vision, they needed to experiment with new ideas and take more creative risks. Because the fear of data loss was so high when committing, their VCS didn’t allow for the rapid iteration needed to to fully support community-driven development. Migrating to a new VCS mid-project might be challenging, but the benefits of using a system that met the studio’s unique needs were worth it.
Committing to Unity Version Control
“We looked at several VCS, but Unity Version Control was clearly different,” says Andi Arcaro, a programmer at Sycoforge. Version Control was built to enable collaboration across an entire game-development environment. Sycoforge valued Version Control’s two distinct workflows: the full-featured Developer workflow for programmers familiar with traditional VCS, and Gluon, a simplified, highly graphic mode for less-technical contributors.
Sycoforge migrated mid-project from Git to Version Control in under a week with virtually no issues, and it had an immediate effect on the team’s output. Programmers found that it boosted collaboration, and the artists felt empowered by its handling of colossal image files. As a result, Sycoforge’s commit rate jumped over 300%.
“Version Control helps us try riskier things we wouldn’t otherwise, because we can easily fall back onto data that we’ve already stored,” says Rimensberger. “When working with Git, you’re scared to make a commit because, what if something breaks? You don’t have that with Version Control. People are willing to commit more often, which then also allows us to decrease time spent resolving merge conflicts (which are pretty much insignificant now). Even artists can solve most merge conflicts themselves with the Gluon UI because it’s so easy to use. It’s bulletproof, failsafe.”
Finding a schlicht solution to source control stress
Every studio will have their own unique needs and workflows, and Version Control’s bread and butter is the flexibility it offers teams to mold the tool to their needs. For those just getting started, Sycoforge’s approach was to start everyone off using the Gluon UI – even programmers – and only grant access to Plastic’s pro tools to senior and lead developers.
Rimensberger describes Gluon as schlicht, a German word that literally means “plain” but connotes a clean elegance. “The functionality is all there, but you’re only exposed to what you really need on a basic level,” she says. “It makes your life easier to introduce everyone to Gluon, and then those that need the full range of capabilities can have them.”
For a small team working with a lot of freelancers, this approach makes the most sense for them. By offering just the Gluon interface to most of the team, it cuts down on a lot of the support they’d otherwise have to do if they overwhelmed most of the non-technical members with a full range of capabilities and possibilities, only the ones they need the most. This frees up their handful of more experienced developers to orchestrate the project using features like Version Control’s Branch Explorer, and some of the more robust tools.
Bringing the team closer together
With Version Control, Sycoforge strengthened its agile development process, standardized workflows, and responded faster to community feedback. Rimensberger says, “With Version Control, commit notifications now pop up regularly in our inboxes – they’re the first thing I check in the morning.” However, for Sycoforge, streamlined development is just a means to a very rewarding end.
“The fact that our community has actually started to speak and greet each other in our dwarven language, they’re creating new words, they’re searching for clues and easter eggs – this is what rewards our team,” says Rimensberger. “Strangers all over the world gather in our Discord tavern to drink virtual dwarven beer and have a good time. Isn’t building this kind of community what gaming is all about?”
Create without compromise using Unity DevOps
Unity DevOps from Unity Gaming Services provides cloud-based VCS and CI/CD functionality that’s specifically tailored to the challenges of game development. It’s built to handle large files and binaries with ease while providing both artist- and developer-specific workflows.
Ready to take the next step? Try it for free.