Tuesday, 12 May 2015

procedural generation

I came across this article on No Man’s Sky reading BoingBoing, as one does.

It’s a new game in the making, using procedural generation to enable you to explore a galaxy containing 18,446,744,073,709,551,616 unique planets.  It has a shout-out to Elite, a BBC micro game that I remember playing way back when (it still has what I think is the best representation of the ships surrounding you in 3D space), with its then mind-bogglingly massive 256 different planets to explore.

As I read more about the game, I got a definite flutter of good old-fashioned sensawunda:
Every player will begin on a randomly chosen planet at the outer perimeter of a galaxy. The goal is to head toward the center, to uncover a fundamental mystery, but how players do that, or even whether they choose to do so, is open to them. People can mine, trade, fight, or merely explore. As planets are discovered, information about them (including the names of their discoverers) is loaded onto a galactic map that is updated through the Internet. But, because of the game’s near-limitless proportions, players will rarely encounter one another by chance. As they move toward the center, the game will get harder, and the worlds—the terrain, the fauna and flora—will become more alien, more surreal.
I’ll be looking out for the game if and when it is finally released.

But one thing struck me: a galaxy containing 18,446,744,073,709,551,616 unique planets. A galaxy containing 18 × 10^18 unique planets.  We are used to calling large numbers “astronomical”.  But this number isn’t astronomical: it’s much bigger than that.  Our Milky Way galaxy has about 100 billion stars, or 10^11 stars.  Even if each of them had 100 planets, a huge number, then that would be a total of 10^13 planets.  This game galaxy is over a million times bigger!

Space is big. Really big.  Astronomically big, even.  But that’s just peanuts compared to combinatorically big numbers, like Graham’s number, arrived at by multiplying numbers, and raising them to powers, and then to powers again, and again, and again…

Procedural generation uses combinatorics.  So we won’t run out of virtual worlds to explore. But will we run out of novelty?  I’ll be interested to see if the game can make the worlds feel sufficiently different from each other, rather than just variations on a discernible theme.  The details in the article certainly give me hope that they will.  I’m now off to explore the Superformula cited as one of the many procedural generation techniques they are using.

No comments:

Post a Comment