# Ways to include relativity in multiplayer

Im currently working on a game concept including flying Space Ships in the solar system and maybe beyond. As the ships are using similar engines than in "The Expance" Epstein Drive. relativistic speeds may be possible.

As i dwelled deeper into the topic, i realized that including relativistic speeds may bring some problems, if you want to acknowledge this in any game.

1. First of all time dilation when moving with higher speeds relativ to some other ship means, you can basicly do less things in the same time frame compared to a stationary observer. Including producing goods, shooting and whatever. For the traveler, this does look like everyone else is just faster.
2. Another Problem is the lenght contraction. Basicly distances in the direction of movement shorten. Distance between objects get shorter, the objects themself seem squished, while from a stationary observer, the traveling ship seems longer and stretcht.

In a singleplayer game, all these concept may be doable, as the player is either the one who travels or the one observing. There are some interesting games working with relatitivy in interesting games, like reducing the speed of light to walking speed.

In multiplayer this seems to make problems, as the game has to compensate for these relativitic effects. Yes, i can let the game run asymetricly for different players, that would work for the time dilatation. But then the twin paradox comes along and basicly breaks the concept of continuity. The stationary player needs to have much more time than the traveling one.

My Question is, is there any way to do it right or at least ways to compensate in regards to the time dilation. Are there any games that did have a good implementation of relativistic in multiplayer?

• Is this an MMO? Or could this be designed as an asynchronous multiplayer game, where you can see what other players have done/are doing but cannot interact with them directly? – Ed Marty Aug 4 '18 at 12:44
• @EdMarty Its not an MMO, but it really does not matter, as in several people makes this even worse. – PSquall Aug 4 '18 at 20:34

## 3 Answers

The whole idea of simultaneity breaks down when you take into account relativity. Client/server games kind of depend on this concept. So you will definitely have to let the clients run independently. BUT the concept of a client itself is dependent upon the time passing in the computer it's running on, and the time flow for the person using the client. The twin paradox happens because time slows for one of the twins, so your client will have to slow, which will make your player in our universe bored.

I think you've opened a game design can of worms that doesn't have a solution that will result in something fun.

• I wonder if this could still be viable in a context where a player is controlling multiple characters. Say a management game. The manager's view is in one inertial frame, and everything else can be measured off of that. When I have some of my characters travelling at relativistic speeds, they'll complete orders slower in my management frame of reference, but I can swap to controlling other characters in the meantime so the game doesn't become boring. – DMGregory Aug 3 '18 at 14:53
• @DMGregory Sounds like an interesting idea, Actually, you could turn that around. If you are the traveler and act, everyone else do things faster. Like a accelerated speed in simulations.You traveled a month and everything got constructed like it was 10 years. – PSquall Aug 4 '18 at 20:39
• To the answer: Thats why im asking, Maybe there is a solution that noone has yet thought off. – PSquall Aug 4 '18 at 20:40
• If noone thought of it yet, you're not going to see it here. It's also not an appropriate question for the site if there is not an answer. – Almo Aug 4 '18 at 22:56
• @Almo: How should i know, that there is no answer to this question other than "there is no answer"? – PSquall Aug 6 '18 at 7:45

You know, general relativity and networked multiplayer games already have a lot in common. Except, usually, games try to eliminate the effects of relativity. This is not easy. Watch any PUBG desync video (or this one). Observe the Fallout 76 fiasco.

Every player has a version of events that happen. Also, there is a server that has its version of events that happen. However, every actor is connected by a network, that takes a non-zero (and differing) amount of time to "sync up". This would be equivalent to each player accelerating towards a very distant mirror at different rates, and then describing what they are seeing everyone doing by looking at that mirror. It's going to get confusing.

I'm kind of surprised that nobody has brought up EVE online, so I will...

Sure, the clock of the clients drift. However, do we really want to have a player with a fast clock right next to another player that has a slow clock? I do not think so. That is not how gravity wells work.

Instead we want areas to have a slower clock, futhermore we want a gradient of time dilation. And this time dilation depends on the ammount of mass in the area.

EVE online does that. In places where there are many ships they slow down simulation on the server (everything is still synchronized) so that the server has to deal with less stuff per tick... Thus, it is a server load solution, and they correctly talk about it in terms of relativity, in fact, players get a display of how much time dilation they are under.

Read about it in their dev blog: INTRODUCING TIME DILATION (TIDI).

However, Almo is right on the boring part. Not for the gravity well, but for traveling near the speed of light, which you would need for that twin paradox.

In fact, it is not uncommon for games to have fast travel that is actually faster than light... because the whole point of it is removing the tedious parts.