Last month, UK studio Radiant Worlds lifted the lid on its first project: a Minecraft-style online game by the name of SkySaga: Infinite Isles with a focus on quests through randomly generated fantasy landscapes.
Except these realms aren’t as random as they might appear. While the terrain is procedurally generated, this process is guided in part by the Adventure Director, that that ensures a clear objective and plenty of treasure awaits gamers in every instance.
We spoke to the Leamington-based team to find out more about the new technology.
What experience did your team have with procedural generation before working on SkySaga: Infinite Isles? How did they prepare for this project?
Philip Oliver, CEO: Using code to generate gaming experiences is as old as games themselves. Using it to generate levels was a classic memory-saving trick of the 8-bit days. We have an experienced team working on SkySaga, so many team members already have some experience of this approach.
More recently, some members of the team also worked on a prototype procedural dungeon crawler six months before SkySaga began, and learned many lessons from this experiment that grew into what we now call the Adventure Director. Compared to this early work, SkySaga goes much further in applying procedural generation to almost all aspects of the game.
What other procedurally generated games and techniques influenced your approach to the structure of SkySaga?
Ben Fisher, Design Director: Voxel sandbox games have popularised procedural generation to a mass market audience, so they were obviously an early point of reference. In addition, there are procedurally generated games with an element of pacing and structure that have also been very useful. However, these games often generate content on a 2D plane, so there was plenty of room for experimentation and expansion.
For a specific list of games, there have been useful points of reference in Minecraft, Spelunky, Rogue Legacy, Torchlight, The Binding of Isaac – even Megadrive classic ToeJam & Earl.
At the same time, the team frequently makes reference to games – Skyrim, The Legend of Zelda series, Myst Online/Uru, and more – that are hand-made but provide a reference point for our end-goal for the Adventure Director.
What was the priority when designing this game?
Fisher: We wanted to use procedural sandbox rules to present the player with an infinite number of balanced ‘hero’s journeys’ – equal emphasis is being placed on going on adventures, pushing into the unknown, and uncovering hidden treasures, as it is on returning home and building and customising your safe, creatively-focused play space. We really look at the game as an ‘anecdote engine’ – we want each journey to be interesting and unique enough that you are eager to share your story with others.
Where did the idea for the Adventure Director originate?
Fisher: Sandbox games have a variety and potential for hidden gems but often lack structure, which undermines pacing. Handcrafted games guarantee structure and pacing, but have a comparatively limited amount of content, and often lack those ‘moments of madness’ that make procedural generation so glorious. The main idea behind the Adventure Director was to convert the handcrafting process into a set of algorithms that can find a sweet spot between these two reference points.
When designing a level by hand, designers apply a set of principles in their construction to guarantee pacing and flow. Members of our level design team are experienced enough to work with programmers and convert these principles into algorithms to apply to the level generation process. Story structure is about delivering a satisfying sequence of interconnected events that create a meaning narrative. Again, breaking down the princples allows us to to add depth and meaning to a player’s adventure.
How does the Adventure Director work?
Fisher: The interesting thing about the Adventure Director is the way that the adventures are generated is almost exactly backward from the way the player experiences them. The player is typically drawn to points of interest in an open landscape, hunting for treasure.
Broadly speaking, the overall shape of a landscape is generated using a library of interacting noise layers. The landscape generates spawn points, which trigger subfeatures such as rivers, cave mouths, and clearings.
These subfeatures generate their own spawn points, which in turn generate more features and more spawn points, right down to the point where dungeons and caves are populated with scenic objects, treasure chests with lists of random loot, and NPCs generated with equipment and behaviour to suit the biome in which they will appear.
From here we get to the ‘special sauce’ that makes the Adventure Director powerful. For instance, we interrogate generated locations to ensure there is a flow that results in a main story and an exit route. We pull secondary points of interest from a list to guarantee there are interesting ‘pattern breaks’ from that basic story, and we allow those secondary features to generate more features and spawn points. We ensure that things like castles are built from stone local to that biome, and that NPCs wield equipment made from local ore. The properties of that ore then influence the behaviour of the equipment.
Why design modular-based objects when the game worlds can be randomly generated?
Fisher: There are moments where, as a level designer, you want to apply principles like line of sight and cover, or to guarantee that the route the player can see is different from the one they can travel.
To achieve that level of finesse, it’s often a faster process to hand-build a set of modular rooms, and then garnish them with a final layer of procedural details. It also allows us to design things like castles or dungeons which branch and grow based on the rules that combine their rooms, but often tell a better story when a particular room has a strong handmade theme.
A library or a torture chamber becomes a more interesting anecdote for the player to share, particularly when those sorts of locations intersect with procedural rules and become a flooded library, or a torture chamber with a collapsed wall that leads eventually to a natural cavern.
How do you ensure the Adventure Director provides a fully-formed games experience?
Fisher: The name of each location the player visits is also generated by the Adventure Director, and provides some clues. When the player enters this location, we back up this clue by ensuring that the main feature has visual cues that underline its importance.
Do you worry that the bulk of the content your game is generating might be missed by players? How can you handle this?
Fisher: One of the foundational goals of the Adventure Director is that as we amass a library of rules and relationships, and as we train the Adventure Director in ways of combining them, we can add content to our ‘anecdote engine’ faster than players can use it up.
We want the game world to feel larger and deeper than a single player’s experience. To reinforce this feeling, we provide functionality to take photographs while on adventures, and to share them with other players in the game.