Back to Search
Procedural character generation: what is it and what isn't it?
Chad McKinney · Lead Gameplay Engineer, US PU Gameplay team

Yeah, what is going on here? So this is part of, I would say, a much larger initiative of Tony's. If you've been paying attention, you'll see all these big ideas being thrown about, like dynamic populations, virtual AI missions, all this stuff. And at a certain point, you have to ask the question of how are these things being populated? Where does the content come from? And then whenever you start thinking about that, you also start to wonder, okay, well, what about the locations in the game? What about just the universe that we're trying to build, the number of solar systems we're intending to make? And quickly, we run up on a problem, which is that we really just cannot reasonably hand-author all of the characters in the game to get the scale that we're looking for, to get the dynamism that we're looking for, and to get the kind of, I would say, persistence that we're looking for and the reaction to the players in the game. Procedural character generation is one tool to address this problem. And the idea is essentially that instead of hand-authoring the vast majority of the characters in the game, which takes a lot of time... There's a lot of very manual markup that's very bespoke. For example, people may not be aware, but if you just take a random engineer in the game, there would be 100 variants of this, where hand-authored loadouts have been created for them in order to add the kind of variety in the game that you hope to see. And even still, people notice the repetition, right? You'll see the same characters. And the thing is, you want a certain amount of that. You want a certain amount of seeing the same characters in similar scenarios. But at a certain point, there's a kind of uncanny valley where it's like, okay, that person was just walking over there, now I see them over here, right? So the idea is that by using a process that's a kind of seeded randomness that is designer-guided, that's rules-driven, we can kind of work from, how would I describe it? I would say you can kind of work from what the world that we want to build is, backwards to a set of rules that allow us to generate characters to fill out that world in a way that is a combination of varied and makes sense. So this is the tricky bit. For any kind of procedural system, you're going to have challenges where if you don't have enough semantics built into the system, you're going to have just incredibly varied results. They're going to be quite heterogeneous. And what it's going to mean is that it's just going to seem random. It's going to seem like there's no sense to it. You get variety, but it doesn't seem like there's any sensibility that ties it together. Once you start constraining that with any set of rules, then what you end up with as a problem is the opposite. You end up with something quite homogeneous. You go look at, for example, No Man's Sky and all the planets. They're using a procedural system to generate their 18 quintillion planets or something, which is very cool. But at a certain point, you see enough planets, there's a sameness to it. And that's going to be true of any procedural system. So the trick is, how do you balance it to get the variety that you want, but still sculpt it to have the kind of threads that are taken through the characters? And so what my work is, is to build a system in collaboration with design, in collaboration with character art, narrative, all of that, to figure out the world that we're trying to build and see how we can encode that into the data for gameplay and environmental reasons, and then draw upon that in order to generate characters at runtime that make sense in situations. And then the cool part is that these are going to be persistent characters. So you'll be able to see them again, potentially, in the situations or at the locations. So everything from shopkeepers to security to engineers will go through this process. So that's kind of just a high-level ramble.

-
Open in pop-up
Open in new tab
Click to copy link to YouTube
|
Published on this date.2021-08-06
Save Card as Image
ID: UjmgIl-fYkc_832 (Click to copy)
Perma link (Click to copy)
All Q&As from this episode