For this development update, we’re taking a dive into one of the most important systems in Sunless Skies: procedural generation. Your feedback in Early Access has been instrumental in some major changes coming later this month, that will transform the way Sunless Skies feels to play.
AN ENDLESS VOID
World building is hugely important to our games, especially because Sunless Sea and Sunless Skies focus so heavily on player exploration. We’ve been using procedural generation to create a populated world of interesting things to find in Sunless Skies.
As Early Access opened, we heard fans say that Sunless Skies felt empty. While actual space can certainly feel like an unending void, we didn’t want players to experience the world we’ve spent months building and designing to feel uninhabited.
Another concern we picked up was sudden environmental changes—one minute you’re flying past an asteroid, then a giant tree, then a clump of fungus and so on. Players were struggling to understand how these elements fitted together.
Currently in Sunless Skies, a region like The Reach is essentially a circle, divided into three rings (a core, an inner ring, and an outer ring). The game procedurally places the ports, agents and terrain inside each ring based on a system of tags that match sympathetic environments and decoration: this way we make sure palm trees don’t appear next to the snowy port of Lustrum, for example.
(Original proc-gen example, where each labelled item can spawn anywhere in the core)
This design was an iteration on the original proc-gen system we used in Sunless Sea. While it was faster and easier to use than the Sunless Sea system, which relied on a lot of data input, we soon realised that it wasn’t ideally suited to creating the rich, coherent world we wanted to build.
It also created its own technical and design issues for our team:
- It’s difficult and time consuming to create individual art assets that have the possibility of fitting anywhere within the region
- The unit of design (a singular port, rock, or homestead etc.) is incredibly small, and thus restricts the team’s ability to build the atmosphere of a region so that the geography echoes the narrative content
- It takes a lot of iteration to get the numbers right so that travelling through a region doesn’t feel empty
All this lead us to design a new system. Now, instead of allowing small units of terrain to generate anywhere in a particular ring, we are now dividing our regions’ rings into curated segments.
These segments can spawn in any rotation as long as they stay within their designated ring, which gives us more control to shape the environment, while still leaving some proc-gen to allow for varied player experiences.
Each segment is designed by a collaborative team of an artist, a writer and a designer. They spend their time deciding:
- the general atmosphere of that segment
- which ports will be included
- what the weather will be like
- the general art direction and colour palette
- which agents will be present (NPCs, beasties, etc.)
- the Spectacles and Discoveries within the segment
- which pieces of equipment will be most useful
- trade opportunities
- the audio required for the segment
- the log messages that will appear on screen
- and the geographical layout of the segment
(Above is half of a segment design example from one of the segment meetings)
This segment design approach effectively allows us to do level design, so that we can deliver a world that feels detailed and lush. A world full of Victorians exploring and conquering space. A world that you will hopefully get to know with your captains.
Here’s a bird’s eye view of part of an inner segment. You can see Port Avon on the right and some abandoned ruins on the left.
Of course, moving to segment design means we had to redesign the in-game chart as well. Here’s what it looks like currently:
When will these changes be implemented in-game?
Most likely before the end of the month, but as it’s a huge change to the game, we’re going to add it on initially as a separate branch.This means that the original proc-gen system of the game will still be the main playable build of the game if players login to Steam/GOG, but that anyone wanting to try out the new proc-gen can follow some simple steps to open up and play on the new branch. We’ll be sure to post the instructions for everyone when it becomes available.
We’re also hoping to add Spectacles and Discoveries into the game soon too, which will also help to make the world feel less empty. Once both Spectacles/Discoveries and the new proc-gen are in, space should feel more lush and exciting!
If you have any questions about procedural generation or the new system, we’d welcome you to come join our FBG Podcast on 10th November at 16:00 GMT! We’ll have stolen Paul away from his artistic duties to talk about all the changes.
REMINDER: Any backers who have not received their game keys yet please email firstname.lastname@example.org, as it appears that quite a few people’s keys got eaten by spam filters.