The Snowdrop engine, with its flexible and empowering tools, has helped develop a number of Ubisoft titles such as The Division, The Settlers, and South Park. But how did Snowdrop come to be? Why was it developed in the first place, and how has it changed since its inception? We sat down with Christian Seger, Lead Engine Programmer, to talk about Snowdrop’s history and its journey from an R&D project to the powerful engine it is today.
When Christian Seger joined Massive in 2004, Ground Control 2 had just launched. The tech team – which consisted of one person – had developed the core technology for the engine that powered the creation of Ground Control and was at the time mostly focused on things like graphics and rendering. And when that person decided to try out new opportunities, Christian saw himself take over and the team starting to grow.
“This was really when our journey started, I would say,” explains Christian. “The coming years, we started to expand our tech team with new recruits, which meant that I became a lead for the team.”
And then development on World In Conflict started. During the coming three years, the team kept growing, and after launch in 2007, they started working on a console version of the game.
World In Conflict was released in 2007 and the engine used was the root of what later became Snowdrop.
“We had gotten pretty far with it when our then owners Activision decided to let us go and we needed to find new owners – which we did in Ubisoft. I would say that the development of Snowdrop is a direct effect of us becoming part of Ubisoft,” says Christian.
So how did Snowdrop come to be, and what part did Ubisoft’s acquisition of Massive play?
Exploring concepts and opportunities
Christian explains that when Massive became part of the Ubisoft family in 2008, there was a period of time where the studio needed to integrate into the company, and during that time, the tech team could uninterruptedly work on pure R&D.
“This period without any active game projects meant that we could explore new concepts and opportunities, and the game engine was one of them. It also gave us time to make some valuable decisions regarding tools, like script, level, and object editors, to name a few,” says Cristian.
At this point in time, Snowdrop had yet to get its poetic name and was simply called “Tech 2”. It wasn’t until several years later that it was named after the symbolic flower.
When Christian and his team started developing what would later become the Snowdrop engine, all the tools that were used were written in different UI and programming systems.
“I believe we had about four or five UI systems at the same time, and they were all closely connected to PC. As you might guess, it was pretty messy, especially since every UI system had its own contact person and we couldn’t use it for development on any other platform than PC.”
The first decision the Massive tech team took was to create their own UI system.
The idea was that if we write our own UI system, we have full control over it, and we can also make it work for more platforms than PC.
“The idea was that if we write our own UI system, we have full control over it, and we can also make it work for more platforms than PC. For us, it was a highly strategic decision which also allowed more people to use the tool as you could also run it on consoles.”
The UI was called FaceMan, and Massive had two programmers working with it.
“It was pretty complicated,” says Christian. “We also decided to release different themes for the UI so the users could give it different looks. We obviously had a default look, but I know we also had a theme for Amiga, for example.”
Autonomy for the users
Another strategic decision that was made at this time was to gather all tools and game code in the same code solution. This meant that it became easier and faster to go from client to tool.
“And then we have the node system, which marked a significant change from previous systems. For example, in World In Conflict, it was up to C++ programmers to build everything. With the node system, people specialized in different disciplines, such as tech artists, could themselves build a lot of the mechanics in the game. The system is used by all aspects of the game, from animation to sound,” explains Christian.
Christian also tells us that it was important for both the team and Massive as a studio to adhere to a design philosophy focused on modular design. By doing so, different games developed in the engine can reuse tools and editors that previous projects have used. This means that projects can connect what they want and need and use Snowdrop in different ways when it comes to software development.
“It’s a bit like a car: there is a generic platform, with the engine and the wheels, but then you can put different bodies on top to change the design,” says Christian.
Additionally, fast iteration times have been a core principle for Snowdrop since its inception.
“The bigger the project, the bigger the codebase, the slower it is to work with it. For example, when we worked on another game engine, it could take up to 45 minutes to compile that engine. So, for Snowdrop, it was important to prioritize iteration so we could start and test the game quickly.”
It’s a bit like a car: there is a generic platform, with the engine and the wheels, but then you can put different bodies on top to change the design.
Snowdrop has had quite the journey – from a conceptual R&D project aimed to make development faster and easier to a renowned game engine used by projects such as The Division, South Park, The Settlers, and the recently announced Star Wars Project. And for Christian, it’s been both fascinating and interesting to be part of the journey.
“It’s been both interesting and fascinating to work with games not developed in our studio and try to predict that work for Snowdrop. In the beginning, we based most of our work on our experiences with World In Conflict and the challenges we faced there. But as we’ve grown, so has Snowdrop, and no project is like the other. But with Snowdrop’s UI, node graph system, modular design and fast iteration times, Snowdrop is in a really good position. We don’t want to guess, and we don’t have to anymore.”