'No Man's Sky' Has to Outmanuever Time Dilation and Skip General Relativity

Time isn't consistent in interstellar space, but it is in video games.

A screenshot from the the video game 'No Man's Sky' with an engine about to take off through a tunne...
Hello Games

From what we know about No Man’s Sky, aging won’t be a source of in-game anxiety. Although characters can definitely die and the universe is big enough to explore into one’s dotage, the archbishop won’t be forced to entertain other than a many-legged dinglebeast. But in some ways it’s surprising that time has such a low profile in a game dedicated to interplanetary travel. It’s actually an achievement.

The issue of time in space travel is two-fold. The first fold is straight enough: The current state of physics only allows for interstellar journeys many centuries in duration. The second is more of a twist: Special relativity would kick in for any interstellar adventurers traveling at relativistic speeds, causing planet-bound observers to measure time differently than their starstruck counterparts. It’s an effect known as time dilation, and it would force No Man’s Sky players to experience multiple presents.

Sorry, physics lovers, no in-game twin paradox experiments for you. The No Man’s Sky team got around the time dilation problem by making faster-than-light travel the norm, throwing physics out the window. The star drives of No Man’s Sky might operate like the (completely) hypothetical Alcubierre Drive — but since that requires the existence of exotic matter with negative mass, we won’t dive to deep on it. Maybe slower-than-light interstellar travel is an option in-game, but none of the game released so far shows poor space peasants eking out a bitter existence in the depths between stars, so we can probably assume that all interstellar tourism will come a la Star Trek.

But we shouldn’t let the folks at Hello Games off the hook that easily. They may have found a convenient way around special relativity, but general relativity can still make life difficult for them. According to general relativity, observers close to massive objects (like planets) will measure time passing more slowly than observers far away. This affects you every time you use your phone’s GPS. In No Man’s Sky, general relativity would mean that daring space pirates who spend all their time pillaging freighters could watch the mundane lives of virtuous landlubbers pass with depressing haste.

Hello Games can probably be forgiven for dodging this issue. Properly tackling time dilation in a multiplayer online video game would mean accounting for the relative motion of every player relative to every other player in the game. This is because time dilation depends on how two observers move relative to one another — not on how fast an observer moves in absolute terms (which is meaningless in the theory of relativity anyways).

If that doesn’t sound difficult consider this. In order to describe my motion relative to my neighbors’ here at the Inverse office, we’d need one number for each other person. Just a list of their velocities as measured by me. But how would we describe the relative motion of every Inverse writer to every other writer?

Let’s say there are 10 writers. Then for each of those 10 writers, we’d need 9 other numbers giving the velocity of each other writer relative to the first. That’s 90 numbers. There’s a neat formula for calculating how many distinct variables you’d need to fully describe this problem, and you’ve probably already guessed it. If you want to know the relative velocities of N particles, you need a total of N(N-1) numbers. Now, how many players will be in No Man’s Sky at one time?

Once you’ve got this enormous matrix ready to go, you’d need to update it in real time. And that’s only the beginning. Every time players interact, the game would need to take their relative velocities into account and give them more or less time.

Indeed, this would be the real challenge to modeling time dilation on the scale of No Man’s Sky: The only way to give players more of less time is to change how quickly the game processes their actions. We have a name for that in other games.

We call it lag.

Related Tags