If you haven’t heard of No Man’s Sky yet, you’re missing out. This open-world adventure game is set to pioneer a new standard in procedural generation, a topic that’s deeply interesting even if you don’t consider yourself to be a gamer. The buzz is strong with this one.
So strong, in fact, that many people consider No Man’s Sky to be one of the most anticipated games in 2015 . Others believe that the game is showing the classic signs of overhyped game marketing , or “spore syndrome”. So, who’s right?
Let’s take a look at how No Man’s Sky will (supposedly) revolutionize the landscape of procedural generation and what that means for the future of virtual technology.
Why Procedural Generation Matters
When the indie game development renaissance hit the scene in 2010, procedural generation was catapulted to the foreground. It was the one of tools used by indie developers to bridge the wide gap of content creation.
Think about games like Super Mario Brothers, Goldeneye 007, or even World of Warcraft. There are so many art assets needed (like sprites, models, textures) and so many in-game entities that need to be scripted (e.g. artificial intelligence, level design, quests).
It’s all static content that someone needs to craft by hand — a process that consumes a lot of time. AAA game studios can afford it because they employ huge teams. However, indie developers often fly solo and can’t produce content at the same speed or quality.
So instead of crafting ten levels by hand, why not hand the work over to an algorithm that can generate as much content as you could ever need? That’s procedural generation in a nutshell.
The poster child for this concept is Minecraft , a creative survival game that can be thought of as virtual LEGO. Each new game begins with a brand new world. Nothing is static. The game world is built of meter-wide blocks, linked together according to a series of elaborate rules. With just a handful of assets (and the right set of rules), Minecraft can offer you a unique experience every time.
Or what about Dwarf Fortress? This game, which has been evolving year after year for nearly a decade, is the holy grail of universe simulators, and a staggering monument to autism. It may be an ugly game with a steep learning curve, but no other gaming title can match the sheer depth and breadth of Dwarf Fortress’s dynamic content.
When you have hundreds of algorithmically controlled systems interacting in millions of complex ways, it’s easy to see how this kind of game would be impossible to craft by hand. It can only work due to procedural generation.
For games that are similar to Dwarf Fortress but less complex, check out the roguelike genre .
Fun fact: Dwarf Fortress is so intricate and unique that the Museum of Modern Art considers it a piece of art, having acquired it in 2012 as one of 14 games that exemplify interactive design .
How “No Man’s Sky” Is Pushing Limits
As awesome as it is that lone developers can create a vast array of game content without having to handcraft each individual piece, there’s one chief danger in utilizing procedural generation — at least as far as we’ve seen today — and that danger is chaos.
Anyone can make up gibberish math to produce random-looking results, but it takes incredible skill and finesse to find systems which produce results that look meaningful and intentional. The real challenge in procedural generation is to try to imply an artist in the math – to find a system of equations that embody some element of the artistic process.
Good procedural content isn’t about randomness. It’s about organized complexity, and that’s where most games fail.
At GDC 2015, one of the developers working on No Man’s Sky claimed that there would be a total of 18 quintillion possible worlds. If that makes your eyes roll, you aren’t alone. It’s a tall claim to make and it promises a lot more to the player than the developers probably intended.
After all, if Planet A and Planet B have completely different appearances but still adhere to the same basic gameplay, it’s going to be a huge letdown. At that point, it’s really no different than having one single planet with procedurally generated terrain — something that’s already been done by Minecraft and its clones.
Fortunately, based on what the developers have said, this doesn’t seem to be the case.
The first core conceit of No Man’s Sky is what I would call dependent systems.
In most procedural games, the gameplay systems stand on their own. You have separate sets of rules that govern monsters (e.g. loot tables), items (e.g. randomized stats), terrain (e.g. environmental assets). The systems relate to each other like a web of nodes.
In No Man’s Sky, the systems build on one another like a pyramid rather than a web. The results of one system become the parameters of another system, which outputs more results that determine the parameters of yet another system. This tighter coupling produces a wider range of gameplay-changing possibilities.
For example, when generating a new planet the core system might determine that this planet is an appropriate distance from the nearest star, so it has water. Because it has water, it will have animals, the sky will be blue, the water will run as rivers into lakes, the mountains will have snow, etc.
The second core conceit of No Man’s Sky is that everything is deterministic.
On one level, deterministic generation isn’t news. Minecraft uses seed values to generate its terrain. If you used the same seed value in two different sessions, the terrain would end up being the exact same in both. But in No Man’s Sky, everything is deterministic.
When you fly near a planet, its details are generated out of thin air. Now let’s say that you touch down, walk around a bit, kill a few animals, then fly off of the planet. Because you’ve left, the planet will disappear into nonexistence. Nothing is ever saved on disk.
But if you fly back to that planet at a later time, the same planet will be generated out of thin air. Not only that, but whatever entities were present on the planet will have “continued to live” while you were gone.
How? The planet’s state and the behavior of its inhabitants are all determined by mathematical functions. Given a point in space and a point in time, the game will always give back the same answer no matter who’s making the request or when the request is made.
The Future of Procedural Generation
What’s groundbreaking about No Man’s Sky isn’t that these ideas are new or innovative, but the fact that nobody has ever applied these particular ideas in this way to this extent. Its attempt to create deeper procedural variety is noteworthy as is its lack of reliance on disk storage.
But is this the best can expect in terms of procedural content? What other developments are currently going on?
In November 2014, there was an interesting online programming competition that you may have missed: ProcJam (short for Procedural Jam). Though the competition itself wasn’t serious — nobody walked away with a huge grand prize — the results surely were.
One notable entry was Dreamer of Electric Sheep, a text-adventure game that pulled all of its descriptions from an online database of semantic associations. Could this be adapted in a graphical way, perhaps pulling art assets from various repositories? Or even generating art assets on the fly based on source concept material?
But if you ask me, the most exciting arena for procedural content is virtual reality. With our recent visit to the Army Game Studio , we’ve already seen how virtual reality and video games are colliding into something amazing. If that doesn’t convince you, check out these virtual reality simulations .
Can you imagine when the versimilitude of virtual reality catches up with real life and we’re finally able to incorporate elements of advanced procedural content? It would usher in a new age of mainstream entertainment, allowing people to explore an endless sequence of new and unique worlds.
But the biggest area that needs improvement? Personal human touch.
Procedurally generated content must, by definition, be bound by a set of rules and that means that the set of outputs is inherently finite. Thus, it’s inevitable that world elements will eventually start repeating and/or feel similar to previous iterations of content. Making progress in this area requires literally formalizing the artistic impulse and human creativity, and could take a very long time. Then again, maybe not.
Are you a fan of procedural generation? Has it peaked or will it continue to shape the gaming landscape? Share your thoughts with us in the comments below!