How do I create a seamless host transition?

Get help using Construct 2

Post » Sun Nov 30, 2014 11:42 am

Hi. I am looking for experienced users of the multiplayer plugin and want to ask if it is possible to create a "seamless host transition" if the host left. So can the other players/peers join a new host and continue the game where it was without starting over again?

I want to use players as Hosts instead of a Server run by me so people in the same game region or zone (multiplayer instance) will join another player in the same region (up to a limit like 6 or 8). So you can see other players, play together, make quests and so on but if the host leaves the other players should stay together or at least not disconnect and lose progress. Is it possible to use something like a global "pause" (timescale) for all players when the host left and then continue at the same positions with what they where doing? As far as I know about the multiplayer plugin this could be possible but every player has to send his position when the host left to the new host, same for all enemies and objects to get them synced again and stay at the same position? Is this possible?
B
54
S
16
G
6
Posts: 719
Reputation: 9,207

Post » Sun Nov 30, 2014 1:05 pm

Edit : Misinterpreted the question.
Last edited by GenkiGenga on Wed Dec 03, 2014 1:46 pm, edited 1 time in total.
ImageImage
B
118
S
23
G
7
Posts: 1,070
Reputation: 12,964

Post » Wed Dec 03, 2014 10:34 am

Bl4ckSh33p wrote:Hi. I am looking for experienced users of the multiplayer plugin and want to ask if it is possible to create a "seamless host transition" if the host left. So can the other players/peers join a new host and continue the game where it was without starting over again?

I want to use players as Hosts instead of a Server run by me so people in the same game region or zone (multiplayer instance) will join another player in the same region (up to a limit like 6 or 8). So you can see other players, play together, make quests and so on but if the host leaves the other players should stay together or at least not disconnect and lose progress. Is it possible to use something like a global "pause" (timescale) for all players when the host left and then continue at the same positions with what they where doing? As far as I know about the multiplayer plugin this could be possible but every player has to send his position when the host left to the new host, same for all enemies and objects to get them synced again and stay at the same position? Is this possible?

I tried that, it is possible but there are some quirks. The events are quite elaborate and convoluted, in the end I manage to do it except there are transition stutter which most probably caused by the recreation of objects and sync, more data means more funny reload visuals. I don't see any way to mitigate this because it's a technological limitation. The transition phase can take from ~0.1 seconds up to 3 seconds based on my experience. That is depends how much connected peers are there and how much object there are in the host, not to mention that the host has to wait for all peer to get in before resuming.

For it to be seamless, I doubt that it is possible unless you have a custom made events just to handle visual during the transition. For me, loading screen is pretty much acceptable and easier solution.

Note that there is a bug that will make this mechanism very unstable.
B
28
S
8
G
4
Posts: 553
Reputation: 4,924


Return to How do I....?

Who is online

Users browsing this forum: plinkie, Yahoo [Bot] and 19 guests