On the new worlds in Worlds Adrift

30 June 2017

Herman Narula is the CEO and co-founder of Improbable.

Worlds Adrift, which launched into closed beta one month ago, has been facing demand for Steam keys far outstripping supply.

With the recent opening of new “worlds” for the US and EU regions – new shards representing a distinct game world – supply has been significantly increased. This is a major step forward for Worlds Adrift and for SpatialOS, Improbable’s cloud-based distributed computing platform that powers the game.

When Bossa Studios and Improbable started working together to build Worlds Adrift, we were both inspired by the same vision: adventurers exploring together under an endless sky. This was exactly the kind of gaming possibility Improbable wanted to make real with SpatialOS.

The challenges of scale

What makes Worlds Adrift compelling is the huge and persistent world where many different experiences all have meaningful impacts – to create something large and rich enough for emergent, societal effects to be likely is the challenge.

This is a unique ambition that one no game has ever fully delivered before. Such a large world – which is not only persistent, retaining changes made to it by the player, but also persistent for all its many players – is a whole new proposition for games.

Fundamentally, the limits of this kind of game experience are set by the limits of the servers they run on. Just like the processor in a personal computer, a server can only do so many things. Even an incredibly powerful, incredibly expensive server is still a single machine, with the limits of a single machine.

You could think of a single server core like a bucket. It cannot hold more than a certain number of objects in its memory, or allow more than a certain number of players to connect and interact with them. But there are physical and financial limits to how big you can build servers (and buckets).

The only way to remove the limits of the server is to make it possible for many, many server cores to operate together – to imitate a potentially limitless single server.

This is an enormous technical challenge. To provide this totally new experience, we realised that we would have to solve a number of truly fundamental issues.

World size and scale:

Right now, the playing area in Worlds Adrift, is over 1000 square kilometres with the potential to grow even bigger, with islands floating at different depths in a three-dimensional space.

Creating far larger spaces is definitely possible, and means that players are interacting with a world seamlessly shared across hundreds of server cores. Any place in the world can be reached from any other place, and changes made to that place will be discovered on arrival long after whoever has made them has moved on – the whole world is continuously simulated in the background.

Cardinal Guild map

Player numbers:

Creating a huge, empty world is a relatively simple task. Things get more complicated in a world that has a level of population with a range of different play styles. Highly social players are able to form alliances and patrol the skies. Some players form crews to fight and trade with other crews, whilst other players take on the world alone, enjoying the challenge of fighting the elements single-handed.

To enable multiple different levels of player interaction, it needs to be possible for large numbers of players to connect to the world simultaneously. Even in closed beta, thousands of players have connected simultaneously to a single shared world. Keeping track of all of those players is an incredible challenge.

Real-time physics:

Just as an empty world is relatively easy to build, a non-interactive world – one where interactions between players and the environment, as seen with archetypal MMORPGs is very limited – is relatively easy to populate with a relatively large number of players.

In Worlds Adrift, almost every item has its own physics. Characters swinging from grappling hooks have their own momentum, ships are assembled piece by piece and break apart piece by piece, trees fall to the ground when they are cut down.

This combination – a huge, persistent world, populated by huge numbers of concurrent players, with the mass application of physics – is computationally hugely demanding. Without SpatialOS’ ability to manage this kind of complex virtual world across many server cores in the cloud, it would be impossible.

Bossa Studios and Improbable continue to move Worlds Adrift further towards our shared goal – a far larger world, simultaneously occupied by far more players, with far more physical items constantly being simulated.

inspector view of Worlds Adrift

SpatialOS and Worlds Adrift

SpatialOS is a technology in development, and changing all the time. Although there are other games being built on SpatialOS, Worlds Adrift was the first. When we announced SpatialOS in 2015, Improbable and Bossa Studios took to the stage together and we’ve stayed close ever since. Improbable’s engineers have worked side by side with Bossa’s designers and developers in a real partnership.

Without SpatialOS to empower its vast persistent environment, Worlds Adrift, if it existed at all, would have been a very different game. And without Worlds Adrift to learn from in live development, SpatialOS would have been a different platform. We couldn’t have come this far without each other.

Because we have been working together for so long, this means that the Worlds Adrift closed beta is currently running on an earlier version of SpatialOS. We’ve both learned from it that certain architectural approaches have caveats. Our latest designs of SpatialOS have been shaped for the better as a result of these learnings.

The way this older version handles distributed physics has led to some glitches. While SpatialOS can handle the migration of physical objects with ease between the hundreds of instances of Unity running across the deployment cores, performing this with heavily complex hierarchical objects such as Worlds Adrift’s ships is an area we’re working on together.

Bossa and Improbable have been working together to patch these issues in the short term, while also preparing to upgrade the platform running Worlds Adrift to SpatialOS 10, the latest version, and then to the upcoming SpatialOS 11.

Ships in Worlds Adrift

SpatialOS 11 removes the legacy Scala coding system, and lays down the foundation for drastically increasing the scale, performance and resilience of worlds built on SpatialOS. This, plus the reworking of Worlds Adrift’s core physical systems with the benefit of hindsight, will see the game reaching higher concurrents, NPCs, and physical stability.

It makes sense to move to SpatialOS 11 before expanding the size or physics of the world. However, we also want to get more testing data from more players before making that move, so we can apply the lessons from extensive playtesting to expanding the world.

Our roadmap

That’s why Bossa has opened up two new servers, containing slightly different versions of the world of Foundation: one for players in North America, one in Europe. This will allow significantly more players to experience Worlds Adrift – and will provide more testing data for us.

As we move through the closed beta, we will add more sharded worlds and bring more players into the testing process. Then, when the SpatialOS platform running Worlds Adrift has been fully updated, we will merge these worlds to form a single, far larger world for each region.

Each region will have its own world for now, because the distance to the server – or more precisely a mass of server cores intelligently managing the world – in Europe would give European players a connection advantage over American players and vice-versa, a crucial advantage given the skill-based nature of the game’s movement and combat.

This is an unprecedented plan: when massively multiplayer online games talk about merging shards, they usually mean moving the player base from one shard onto another, to maintain player density as player numbers fall. This is almost the opposite – creating new, larger worlds and populating them with a growing player base drawn from fully occupied worlds.

When you play or develop a game on built on SpatialOS, such as Worlds Adrift, you are taking part in a wholly new approach to developing and playing games. And, since the capacity and scale of the technology is constantly increasing, new boundaries – of size, player numbers and the amount and fidelity of physics in a game world – will continue to be crossed.

Our goal is to see games with millions of players inhabiting single, seamless worlds of massive scale, creating new gameplay models, new forms of social play and even new economic models. Worlds Adrift, and other games with a shared vision – expressed through many different forms of gameplay – are the beginning of that journey.

Herman Narula

Find out more about SpatialOS or join our community forums to discuss this article.