Avalon by Lil Sumn Games is a massively multiplayer geopolitical sandbox, uniquely expressed as a 2D world. In Avalon, you manage a small family of Avalonians, collaborating with other players to build larger settlements and trading with or raiding your neighbours. Here, creators Jake Trefethen and Quinn Finney take us through the game.
Given that a SpatialOS world is usually a 3D one , it might seem strange to make an isometric 2D game using it. But that ignores the real power of SpatialOS, which applies no matter the genre or style, lending its ability to enable massive computation and allowing large numbers of players to inhabit huge, complex, persistent worlds.
Avalon is an ever-evolving, player-built, geopolitical economic simulation. As it’s a sandbox, players can lead cities, form governments with others, become merchants, oligarchs, pirates, adventurers or explorers, and so on. The features of the game are carefully crafted in order to result in emergent simulated civilisations. The mechanics are simple, based on the economic principles that we’ve found to be essential to the rise of civilisation – specialisation, scarcity, comparative advantage, and monetarism.
In a way, it’s a grand experiment as much as it is a game – a quest to find the primordial soup of civilisation.
The quest for a simple design
How did we start making such a game? We found ourselves playing games like The Elder Scrolls V: Skyrim, running through the quests, the story lines, the towns, and having a genuinely good time. But at the end of the day we wanted more. The dialogue got old, we saw through the facade, and it didn’t evolve – basically, nothing we did mattered.
During the heyday of Minecraft, the world was our oyster. You could build anything you want, play with anyone you want – and, being programmers, the modding scene was definitely a blast as well. We hosted plenty of servers, searching for new and exciting ways to play.
But there was also a catch here too – nothing complex could happen. Those deep, entrancing worlds of Lord of the Rings and Skyrim just didn’t exist in Minecraft. No one was in the towns, nothing was alive. It was real, but it was a game, not an immersive world.
We started to see this as a quest – a quest for a game where everything was real, where everything had real consequences, an evolving history, and the depth of those good old RPGs. We started to build Minecraft servers around meta-rules involving things like forced industry specialisation, and the establishing of currencies.
Our goal was to get the players to work together and build towns that felt real using the invisible hand of free markets. Maybe we could create these “real” worlds by wrapping the game rules around those real-world mechanics which gave rise to actual societal complexity – things like scarcity, comparative advantage, and specialization.
It turns out Minecraft really wasn’t built to do this kind of thing. No matter how much we chopped up the source code, we just couldn’t get something working. We needed to redefine our idea as a standalone concept. Through a synthesis of RPG and RTS features with classical economics and sociology, the feature set of Avalon began to emerge.
"“When we found SpatialOS, the discovery saved the project.”"
The magic of SpatialOS
The game is essentially a simulation on a massive persistent scale. For that, we need SpatialOS. Without it we couldn’t do persistent or massive systems in a potentially-infinite world that allows for population-based server distribution.
Indeed, we tried! We wrote our own networking protocol for Unity (PolyNet) in order to allow clients to load only parts of the entire world – a chunking system similar to Minecraft, but generalised for Unity multiplayer games. We achieved a modest world size (5km^2), but it was always disappointing and never held up to our goal of potentially continent-sized worlds.
Only after this painstaking several-month-long process did we stumble across SpatialOS. We had already been thinking up solutions that involved distributed computing, which could have taken years to materialise. When we found SpatialOS, the discovery saved the project.
Since then, the Improbable team has been nothing but supportive throughout our endeavours on their platform. That only adds to the obvious benefits of making our game with the platform.
At the start of the world, many people will begin by building settlements with their small family of Avalonians, gathering resources and beginning to grow their population. Towns are fully cooperative, so any amount of players can settle together or join later.
Once settlements begin to flourish, inter-player trade will pick up and raids may become commonplace. Fortifications will need to be built, alliances will need to be made. New players arriving at this time will enter an emergent world of player-driven complexity.
The arms and defense race will drive colonization of valuable second-tier resource areas, like mountains, deserts, and tundras. Those kingdoms who take advantage of them will succeed, those who don’t will be assimilated, or worse.
After this period, international trade will begin to stabilise, creating even more complex and dynamic geo-political situations. Each and every player in Avalon will be participating in a massive, online, simulated civilisation.
New players have a real, evolving society at their fingertips. If you start playing at this point, you’ll walk into the middle of a fully emergent world – wars on this and that side of the continent, trade routes with vast quantities of valuables moving back and forth, players offering quests for gold, treasures that need plundering, towns that need raiding, kings that need mercenaries, land that needs settling, and so on.
Imagine Sid Meier’s Civilization but every single unit is some real player – you can be the trader, the general, the bureaucrat, the barbarian, or the scout – or you can just wander around and explore the unprecedented complexity of a wholly player-created virtual world.
Six ages of Avalon
Our roadmap is where things start to get complicated. We have a multi-stage development schedule that we want to coordinate with the growth and expansion of in-game civilizations. We call it the Avalon Civilization Development Framework (ACDF).
The way it works is that for each stage we develop a feature set, run a playtest batch, and ensure the civilisation milestones are met, given those features. If they aren’t, we iterate until they are, then continue development into the next stage. By the end we have a game which emergently guides players from stage 1 to 6 civilizations. Here’s a rough roadmap for our six stages:
- Settling. Small independent settlements emerge. We implement our primary resources (food, wood, stone), settling, housing, repopulation, health, hunger, combat, and basic defenses. Our players settle in isolated areas and raid each other for resources or fun.
- Alliance. At the next stage, we implement alliances, politics, groups, trading, stores, money and more advanced combat and defense. This allows for economic and military alliances to emerge which will result in the first proto-nations.
- Expansion. This stockpiling of military power means that the alliances need access to higher tier resources in the less-hospitable areas, prompting a second wave of colonisation with mining outposts that survive on trade. We implement metals, luxury resources, 3D terrain, a larger world, and procedural resource and terrain generation.
- Independence. The colonies, unhappy with their exploitation, make moves towards independence, causing empires to deteriorate. We add more resources, specialised industries, more building types, more complex trade systems and boats.
- Globalisation. As the independence movements settle down and the imperial systems improve, small nations are assimilated into larger ones and a complex and fragile trade system arises to supply them. At this stage, we further increase the complexity, with more buildings, specialisation and automation, as well as balancing and a mobile application to access the world.
- Interdependence. National interdependence results in relative stalemate-induced peace until there’s a systemic collapse. In history, two things might happen at this point. Either the interdependence and complexity of the trade system stifles any possibility of war, or a few subsystems break down coincidentally and lead to a full systems failure like the Bronze Age Collapse. The world falls into chaos, and our civilisation reverts to stage one. Pessimistic historians would argue that possibility one is just a possibility two that hasn’t happened yet…
We hope to build a community of intellectual-gamer-sociologist-economist-philosopher fanatics that are as obsessed with finding the primordial soup of civilization as we are. These people can help in the development as much as actual coding can – we want to open this forum up to whoever is interested in play-testing and theorizing throughout the ACDF development process.
Like what you’ve read? Discuss this article on the SpatialOS forums.
You can find out more about Avalon on the Lil Sumn games blog or follow them on Twitter!