How Rare designed Sea of Thieves' infinite pirate generator
Character customization is a big part of the appeal of online games, and devs who work on such games may appreciate how hard it can be to exert control over the "look" of characters without inhibiting the player.
When venerable UK studio Rare began developing the group-shared narrative of its multiplayer swashbuckle-'em-up Sea of Thieves, it envisioned giving its players the chance to play as the pirate of their dreams and create their very own legend. Pirates could explore a vast world, populated with other players, digging up treasure, collecting valuables, and defeating skeleton bounties to improve their reputation on the high seas and earn more coin.
But Rare was concerned about consistency in Sea of Thieves. It wanted to create a visual style that fit together seamlessly and was afraid players would create pirate avatars that would go against the game’s artistic design, putting together deliberately broken characters.
To counteract this, Rare devised the “infinite pirate generator” – a character creator that lets players generate new pirates endlessly at the press of a button, to find the one that’s right for them. This required a lot of fine tuning to get right and was a cross-disciplinary effort, combining the work of tech artist Dan Chalk, engineer Remi Gillig, and the character and outsource art teams.
"Stopping the abominations that could occur with a fully freely mixed character creator is something we put a lot of time into behind the scenes."
“Stopping the abominations that could occur with a fully freely mixed character creator is something we put a lot of time into behind the scenes, but tried to make as invisible as possible from a player perspective," says Rare lead character artist Sam Chester. "We really wanted the whole process to feel exciting and even magical - even after 4 years on the project, I can still spend hours just generating new pirates and being amazed by the results.”
Behind the curtain
The way this works is that there is one base body mesh for all characters, which then has male and female body shapes that can blend on top. Every character also has the same starting face, which makes sure that no matter how long the player generates new pirates, the face and body will always blend smoothly.
“We [also] have a range of shapes a level down which control the rotation, scale, and translation of each section of the face," Chester continues. "A level down from this again, we had a range of shapes which change the shape of each facial feature - noses could be pointy with tight nostrils, rounded with curved point, or square with slanted nostrils for instance. Combining all these means we can have a face with a unique facial feature per facial element, placed in a unique position and way on the face, and then that face [is] placed on a unique body shape.”
The character art team used a tool they dubbed the “infinite pirate editor” to control how far these shapes move for each age, ethnicity, and gender.
This took a lot of trial and error as they tried to discern which blends needed tweaking to avoid facial features like lips and eyes penetrating through nose shapes. It was a process of knowing what specific blends to test against each other and seeing how the team could alter the space and positioning of each facial object to better merge. Without these lists being setup correctly or if they were to be turned off completely, the facial features would be broken and likely glitch inside of each other.
Adding more variety
The art team also added accessories and features to ensure each pirate feels that little bit more unique. Each pirate can potentially have tattoos that on their body or scars and other distinctive features like a peg leg or an eyepatch.
“We played with a variety of different accessories, items, hairs and beards to give each item their own unique personality on the front-end, but ultimately went with the selection you see today," says Chester. "There's quite a wide range of elements that go into making each pirate outside of gender, ethnicity and age including a hero [to] rogue probability, hair color, eye color, scars, freckles, tattoos, gammy eyes [...] and more that I'm sure I'm forgetting!”
Importantly, the team kept the clothing options as simple as possible, as they wanted people to choose their pirates based on their underlying characteristics. From a game design perspective, they wanted players to unlock new clothes through turning in quests items, upgrading, and customizing in-game, rather than simply spamming the infinite pirate generator to earn better cosmetics.
Controlling the rate
The pirate generator also relied heavily on the team getting the numbers right in order for it to be a success. For example, if a player wanted to choose a woman avatar, Rare needed to be able to consistently provide as many options for them as it would if they'd chosen a male avatar. The same also applies to other ethnicities and ages as well, with the team aiming to provide an intuitive experience for all.
“On top of all the work to allow the underlying shapes to work together seamlessly, there are a set of rules that govern which groups of pirates are generated on the front-end,” says Chester. “We aim to provide an equal split of genders, ethnicities and ages, with an equal split between pirate heroes or rogues in each spin. There is still some randomness so that not every generation is exactly the same, but over time, the splits should be equally weighted.”
"Being so close to a feature for so long gives you a bit of blindness to it in some ways, so getting fresh eyes on it all [has been] a really valuable experience."
The team at Rare didn’t stop there. After the game released, players gave feedback that the creation aspect was taking too long and that there was no way to keep a pirate across separate generations. The folks at Rare say they'd already thought of this, but it had not yet implemented the tool to "hold" generated pirates for later. It therefore fast-tracked the development and implementation of this feature, meaning players could better compare and contrast their favorite pirates, resulting in a more user-friendly system.
That being said, the team are still working to improve on the output of the infinite pirate generator and the specific rules in place, based on the feedback they receive from their community. Chester says this feedback is especially important, considering the Rare devs have worked on the mechanic for four years in relative isolation.
“Being so close to a feature for so long gives you a bit of blindness to it in some ways, so getting fresh eyes on it all [has been] a really valuable experience," concludes Chester. "The ruleset and the flow of the front-end is actually something we're looking at at the minute, so hopefully we'll get to show some new work there soon.”