This is the first in a short series of posts about No Man’s Sky and the future of procedural generation.
Procedural generation has been around for a long, long time now. We are approaching the 40th anniversary of Rogue, Elite has already had its 30th birthday, and even sprightly young Spelunky is coming up to double digits. We’ve seen old ideas refined and polished over those decades, and new ideas experimented with and tested out. But throughout this evolution and growth one area has remained largely the same, swept under the rug every time it caused problems, hoping that we could forget about it for a little longer. With the release of No Man’s Sky this month, I feel like it simply can’t be ignored any longer. We need to talk about how we talk about procedural generation.
The first trailer for No Man’s Sky caused an incredible stir when it launched, showing vivid planets with diverse organic life on it, implying all manner of space adventures. It also included several interesting phrases which stood out to me, including Every Atom Procedural and Every Planet Unique. On its own, this language was not a surprising angle for a game to take in its marketing. The Binding of Isaac’s Steam page, for example, promises ‘you never play the same game twice‘ but no-one so much as raises an eyebrow when they sit down and discover that they are, shockingly, playing The Binding Of Isaac every time. What was surprising about No Man’s Sky’s first trailer was the degree to which people were buying into its claims, before almost anything was known about the game (before even the developers were truly sure what they were making, I imagine).
Procedural generation has a vocabulary that you’ll most likely be familiar with. It uses words like discover, unique, endless, forever, replayable. It talks in numbers and powers of ten, and bigger is always better. These words are not necessarily used falsely (although I’m sure they are in some instances, but I’m not here to cast aspersions), but intentionally or not they do mislead people, because they are very easily interpreted in a lot of different ways. ‘Every Planet Unique’ might mean that each planet has a complex sci-fi backstory rich enough to fill a two-part Star Trek episode. It might also mean that, mathematically speaking, there’s a rock somewhere on the planet that doesn’t look like any other rock in the universe. Uniqueness is almost always is used in the weakest, most technically correct way possible. As Kate Compton quipped in her amazing post about procedural generators, every bowl of oatmeal is unique.
We rarely interrogate such language, and as a result we are not accustomed to discussing these concepts and thinking critically about whether they make sense in a game. By this I don’t just mean figuring out if developers are making sense, I mean also that as developers we are not good at evaluating whether our claims are sensible before going public with them. Does a sense of ownership over named planets make sense if we are also claiming players are unlikely to meet each other? Does an aesthetic of “true discovery” make sense if we are also claiming every planet is unique and wondrous? It’s not that these ideas are contradictory by definition, but we’re barely even considering the questions at all, much less drawing conclusions about them. We can’t examine these claims for their contradictions, because we lack a shared, well-understood language to communicate in about procedural generation. We are stuck with our own interpretations and mental models and the hope that they match up with the journalist whose article we are reading, or the developer whose game we are following.
Could we do better? When we use extreme language to talk about procedural generators (or any other kind of technology), we encourage people to draw extreme conclusions. Perhaps we need a different way of talking about procedural generators, one that shies away from making grand sweeping statements about its size. Lately, I’ve been wondering if procedural generators would do better to focus on the exact opposite, to take a single piece of content and explain how it is made. Here’s how my generator decides where to hide goodies. Here’s how it painted that particular shade of sunset. Here’s where that joke corporation name comes from. We can get people to connect to what our generators are doing, to make them seem less fantastical and unknowably complex.
That’s not to say I think everyone should take this approach. Some generators benefit from their vastness, like Desert Golfing‘s mystically unending golf course, and talking about its scale helps get across those feelings. Other games benefit from not saying anything at all. I don’t need to know how Proteus‘ islands are generated, and I kind of like not knowing. For many other generators, you might think that explaining how its processes work would be kind of… boring? You’d probably be right. A lot of generators are boring, and I think that’s one of the reasons why we reach for the big numbers and strong statements, to cover up this fact. Instead, we should be confident as designers and artists that we are using it for a desired effect, and if it isn’t worth mentioning in great detail, we can simply not mention it. Your game probably includes graphics shaders and a physics system, too. They’re part of making games.
That’s why I think this approach might be helpful, because by telling stories about what our generators do to make a single piece of content, it helps us ask ourselves what bits of our generator are most interesting. Most of the coverage of No Man’s Sky is focused on its planets and universe, which draws the wildest claims, but turns out not to be wildly new or innovative. Compare that with this New Yorker article about how its animal calls are generated. No wild claims. No ambiguous language. A focused story about interesting work on a cool generator, told in a way that I felt was accessible to me even with no audio background at all. Ambiguity doesn’t help anyone, and often it can lead to us brushing over the really good stuff.
It’s fair to ask why any of this matters – developers can say what they want, only they have to deal with the consequences of their marketing. But no game developer is an island, and how we talk about technology informs the understanding of the players and critics who will go on to read about the latest research or a preview of the next procedural game. If we speak with clarity, explain how our games work, encourage them to be excited about the same things we are, then we help them understand not just our games, but all games that use these ideas. If we reinforce the idea that procedural generation is magic, if we say it is governed by complex, nameless “maths”, if we raise people’s expectations with ambiguous language, then we encourage people to feel othered, and to treat with suspicion and pessimism the next game that comes along with a similar attitude.
The old language of procedural generation needs to be done away with, and in its stead we need a new way of communicating about what we do, and why it’s interesting. We need to debunk the idea of procedural generation as a dark art, and show people that it is accessible, understandable and interesting. It might feel scary at first, it might feel like we’re making our work vulnerable and pointing out all the cracks, but people won’t mind. They love the cracks. They love the stupid stuff generators do. They don’t expect all the answers right now, I don’t think, they just expect us to be honest and clear with them.
Do you think it would be useful to import ideas from psychophysics? https://en.wikipedia.org/wiki/Psychophysics
E.g. Just Noticeable Difference or 2-alternative forced choice.
Saying that there are 2^32 different temperatures of a planet can be technically accurate, and still not mean much if the player really can only distinguish “coldish”, “balmy”, and “hotish”. However, saying that the span of temperatures is similar to an octave means something (12 semitones, 100 cents per semitone, JND of approximately 25 cents, so ~48 distinguishable temperatures).
Automatic stairstep procedures, other things, might be cool
I think this speaks to artists (or developers) getting so immersed in their work that they lose perspective.
In a way No Man’s Sky seemed to have been made within its own little vacuum (granted a vacuum of x quadrillion uniquely unique worlds). Oh, look what happens when we tweak the terrain / sky / rocks / creatures / whatever other minutiae, it’s like a huge science experiment with some level of randomness but also some level of predictability, and though the developer might be fascinated with the variation, if they could remove themselves and take a few light years’ step back, it might occur to them that they’ve developed themselves into a corner and disconnected themselves from not just their own design goals, but those goals as a backdrop to the user experience.
I have enjoyed playing MMORPGs (e.g. LOTRO) solo, going around gathering raw materials and crafting stuff, and pushing the boundaries by venturing into areas with significantly tougher monsters. It was a grind, to be sure, but there was that constant challenge of finding the next best ore or spell component in a den of aggro’d beasts outside my comfort zone one-on-one let alone en masse, and being able to scurry away with it in my greedy loot bags largely intact. Decades ago, in playing the original Elite, it was always compelling to venture out into space and see what adversaries I’d encounter, what cargo canisters they’d shed upon being blown to tiny bits, always an element of unknown bounty which in the mind parallels the reward system offered by gambling.
Movies are “successful” by appealing to a wide audience and raking in box office dollars. That financial success, however, may not reflect the creators’ idea of success. Maybe No Man’s Sky does embody the developers’ ideal vision of a procedurally-generated universe, but in the court of public gaming opinion (based on numerous reviews I’ve seen anyway) not so much. The devs may not have wanted to compromise their vision to appeal to a wider audience, but by indulging in their desires they might’ve left their fans (with bated breath after eagerly pre-ordering) in the dust.
True artists do their art often to express themselves for their own personal satisfaction. Clearly there’s a gap in gaming between self-expression and financial success, and in a free market it seems like the true artist can’t have both without compromise, or at least collaboration with others who can tackle those aspects of bringing the idea of a game to life they don’t care to deal with, and implement those aspects the audience wants but which the artists considers secondary.
Great article. As a science-computer nerd I’m fascinated by proc gen, but as a gamer, I wonder how much it would lead to, or assist in achieving, the coveted X-factor: FUN. IMHO No Man’s Sky doesn’t sound like my cup of tea. It sounds too big for my liking. I like my gaming mostly arcade-y (Halo!)
I like Civ and the random planet map, but that’s a small piece of the fun. I guess in the end, at this point, I’m still sorting it all in my brain.
I love your site, btw. As an amateur game designer, I’m watching proc gen closely, as it could provide needed assistance in the creation of levels, etc. as for my Facebook game, Sheep Shifter, all forty levels designed by me, manually. It was not easy. If I could proc gen infinite levels, or a massive amount, I could focus instead on the engine of the game mechanics.
Anyway, Angelina sounds like an amazing project! Stay in touch my friend and best of luck with your venture!