Tuesday, 7 October 2014

No Man’s Sky

No Man’s Sky

Hello Games’ Sean Murray is steering No Man’s Sky’s debug camera from a few inches of dirt on the surface of a desert world up to a view of the planet from orbit. Up, then down. Up, then down. From the ground he swings the camera upwards, where another planet hangs low in orbit on the horizon. I can see hills, valleys and forests on its surface.

“That planet is being fully generated, just at a low level of detail,” he says. “The planet you’re stood on is also fully generated. When you’re stood on a mountain you can see forever - to the curvature of the planet.”

There are no loading screens or pauses as the perspective of the debug camera races from ground to space, from world to world, just a slight fading effect as terrain closer to the player is rendered at a higher level of detail. The reason there are no loading screens is because No Man’s Sky isn’t reliant on reading content from a hard disk. In fact, none of this data is contained in a file at all.


“None of it is stored on disk,” Murray says. “None of it is stored in the cloud. There’s a maths function that generates the trees, the terrain, creatures - and it’s going to generate the same thing every time.”

No Man’s Sky’s extraordinary universe is the product of a set of rules that interact with a mathematical function to produce a vast number of worlds. As such, all the game needs in order to generate a planet at any level of detail is a number and a basic set of templates. All of those numbers, in turn, stem from a single arbitrarily selected base number - essentially a ‘seed’ that forms the basis of everything in the gameworld.

Well, not quite arbitrary.

“Dave put in his telephone number,” Murray says. “Now we’re stuck with that.”

Unlike other procedurally-generated games like Starbomid and Minecraft, No Man’s Sky won’t generate a new seed for every player. Instead, there’s a single seed that everybody will share, and tweaking the rules to provide the best possible result in this context forms the basis of Hello Games’ ongoing work.

Sharing the same universe also provides the foundation of what players will spend their time doing in the game, w hich focuses on exploration, discovery, resourcegathering and combat.

No Man’s Sky

I’m showm a scanning tool - an upgradable part of the player’s arsenal, along with their w'eapon and suit - w'hich can intelligently detect environmental features like lakes, eaves and mountains. “If you w'ere to find a cave network that’d never been found before, then you can scan it and choose to upload it,” Murray says. “It gets an official name and you can put in a slang name - something unimaginably rude, no doubt-and then that’s w'hat other people w ill see when they come across it.”

Hello Games have had to create a universe large enough for millions of potential players to explore for years without seeing everything it has to offer. They' now claim to have created a game with ‘infinite’ space, but Murray accepts that this isn’t quite right.

“Occasionally a smart person will mail us and say ‘your universe can’t be truly infinite - there aren’t infinite numbers!’ Normally, they’ve done a computer science degree. The thing is, they’re right: I use it as shorthand. We don’t have an infinite universe. But we do have a really, really large one.”

In the beginning, NoMan’sSky used a 32-bit number as its seed. “It could store a few billion planets,” Murray says. “A billion is a lot, actually. It’s hard to think about. If you were to visit one planet every second it would take you about 5,000 years to visit them all. But what if there’s a million players? They’ll begin to see some repetition, so we made it a 64-bit number, which is exponentially bigger. Ten to the power of 19, orsomething.”

I looked it up later. Based on that 64-bit seed, No Man’s Sky should feature eighteen quintillion, four hundred and forty-six quadrillion, seventeen hundred and forty-four trillion, seventy-four billion, seven hundred and nine million, five hundred and fifty one thousand, six hundred and sixteen planets. At a rate of one planet per second, you’re looking at a journey of just shy of six hundred billion years.

“You’d have other problems at that point,” Murray notes. “The human race would be gone.”

Beyond a certain point, however, big numbers don’t mean very much. Nobody is going to see all of No Man’s Sky - okay, great. What is going to drive people to keep exploring, then? I asked Sean how he planned to avoid a scenario where a player saw three different types of procedurally-generated dinosaur and quit the game forever, satisfied that they had seen it all. His answer caught me off-guard.

No Man’s Sky

“You won’t get sick of it, because most of the universe is boring,” he says. “And that will make your discoveries significant.”

One of those guiding rules for the game’s procedural generation algorithm is that 90 percent of planets will be barren - valuable to players hunting for minerals, but of less interest to amateur ecologists. Ten percent will have some form of basic life, and ten percent of those - normally within a star’s habitable zone-will house somethingthatyou or I would consider advanced life.

Deer, dinosaurs, birds and fish will all be extraordinarily rare, and while players will learn to look for the telltale signs of a life-supporting planet, that moment of discovery is designed to be rare. I had never considered applyingthe design concept of “white space’ to a proceduraliy generated game, but it makes total sense - as in all other forms of design, players need to be given context for their experiences or they don’t feel like experiences.

“I think Spore wasa really interesting game, but it did a disservice to randomly-generated stuff,” Murray says. “It gaveyou so much, all of the time. Here’s a crazy creature! It’s yellow with blue polka dots! Every creature looked like that, with different-coloured spots, and you were seeing them all of the time. Our equivalent to that is the most bland, boring deer in the woods - that’s what you’re most likely to find. Ifyou see a unicorn coloured like rainbows then it’s very, very rare, and you’ll know it’s rare when you see it. And most people will neversee anything like that.”

It’s not intended to be a game about directionless wandering, though. Asmart minimap directs you towards points of interest on the planet you’re currently on, there are resources to collect and trade, space and ground battles to engage with, and a pursuing antagonist to evade.

But Murray hopes that by providingthe player w ith the odd ‘ordinary’ planet, the special ones will stand out. He shows me another procedural ly-generated world, with a rain-shrouded forest that looks a lot like Earth, despite the green deer. The familiarity of it is affecting, and it has become one of Sean’s favourites.

“I flew down and as I was flying over the trees, all these deer burst out and I was so excited that I nearly shat myself,” he says, explaining the moment when he happened upon this world for the first time. “I like that the game surprises me, and that’s not just because I’m creating it. I think for other people, if they’ve sat through a bit of‘white space’, it makes that discovery a bit special.”

No Man’s Sky

No Man’s Sky seems an extraordinarily ambitious project for a small studio, but now that I understand the underlying principles a little better it suddenly seems viable — and very' exciting. This is a novel way' of making games expressed as a beautiful sci-fi open world, and both of those ideas are linked by a desire to break aw'ay from the familiar and discover something new.

“I had my mid-life crisis, or my mid-games-development crisis, or whatever,” says Murray. “I’d come from doing loads and loads of Burnout games and sudden ly' w'e w'ere on our fourth Joe Danger game. I started to wonder what the next thing we were going to do was, and how many sequels that would have... and I just wasn’t looking forward to it, I don’t think.

“We’d always talked about this game that wre wanted to make, and it was time and I tvas in that place. So w'e blocked off the doors and built a little room inside our studio, and four of us started making No Man's Sky." Then, those four people planted a seed - and the seed grew into a universe.»