0
\$\begingroup\$

Brief intro 1: about me:

I have this question in the back of my mind for a really long period of time, and I am currently very busy in establishing the offline aspects of the game(will take more than a year from now). So, honestly, I haven't found the time to learn properly about the ins and outs of networked game programming. Thus, I need just general answers so that I can estimate what game designs are possible to make.

Brief intro 2: about the type of game:

Without going into great details, the game is an action multiplayer online game that is safe to assume to have the latency requirements that are roughly half as demanding as a typical First Person Shooter. For instance, let's say a shooter is great at lower than 40-to-50 RTT, then my game is roughly at 100-140 RTT would be good for the gameplay. But with a lot of caveats that I won't delve into in this intro. But every caveats warrants specific challenge on the game design proper.

The question:

  • Assume the game is running on an AWS or a Google server.

  • Assume a game session is running on a single server, with a few hundreds of players.

  • Assume another game session is running on another server.

  • Now let's further assume that we need to swap players from one server to another server, on the fly.

  • This means that the player will probably be disconnected from one server, and reconnect to the next server mid game session!

  • [A] How long could it take to do so (switch a client connection from one server to another), assuming the RTT between each party and the other is say 100ms?

  • [B] Finally, will this practice be substantially faster if the transfer happens within one AWS infrastructure in one city, or one building? Am I even allowed to gain that level of control over the service?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Your question currently includes multiple questions at once. It would be better to focus on one problem only. \$\endgroup\$
    – liggiorgio
    Commented Jan 28, 2023 at 17:49
  • \$\begingroup\$ @liggiorgio thanks for your remarks. I think they are closely tied honestly. \$\endgroup\$
    – Physician
    Commented Jan 28, 2023 at 17:54
  • 2
    \$\begingroup\$ Yes, I largely agree. However, those questions span different aspects of a potential solution. This could lead to answers globally describing the solution rather than focusing on a specific issue. It's in your interest to be as concise as possible so that future answers address (and solve) your particular problem. \$\endgroup\$
    – liggiorgio
    Commented Jan 28, 2023 at 18:14
  • \$\begingroup\$ @liggiorgio got it. I edited most of the questions out. Thanks for helping. \$\endgroup\$
    – Physician
    Commented Jan 28, 2023 at 18:53

1 Answer 1

1
\$\begingroup\$

[a] Depending on how you do the move it will be RTT + any delay on reconnection logic. If the user is connected to SERVER_A:PORT_A and you tell them to connect to SERVER_B:PORT_B and they receive that message + disconnect + reconnect to the new server then your delay is minimal. If you're hiding the server details from the client and going through some kind of proxy that routes them to the correct location then your delay includes whatever processing/routing logic you include at that layer.

[b] It'll be faster within an AWS Region than between regions. But other than that the next level you'll see real consistent improvements will likely be if you're moving them between servers within the same Local Zones. That will be significantly faster than anything else.. but maybe not enough to really matter. Note that it's rare that your clients are connecting directly to your servers and you have no control over what hops their ISPs are taking. It may not be worth the increased price for the better latency you're getting. Especially if your latency requirements are more forgiving.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .