Request: Rejoin following crash

I just experienced my first crash in Rebellion while taking part in a multiplayer match with a few friends.

I realised shortly after the crash occurred that it would be impossible for me to rejoin my friends, thus leaving them one man down, stuck with a bot hogging huge amounts of resources which would have otherwise been manually distributed by me.

So, where is the ability to rejoin a match following a crash? This feature is vital and I expect it to be in the launch version of Rebellion, otherwise many multiplayer matches will be messed up by silly game crashes for no good reason.

13,063 views 14 replies
Reply #1 Top

Explain to me how rejoining an RTS match after crashing is feasible. If it were so easy, every RTS would do it.

Off the top of my head, I can think of none that currently do.

Reply #2 Top

Quoting Mr., reply 1
Explain to me how rejoining an RTS match after crashing is feasible. If it were so easy, every RTS would do it.

Off the top of my head, I can think of none that currently do.
End of Mr.'s quote

 

It is true that few strategy games support rejoining, probably because their matches are intended to be far shorter than the average Sins match.

Regardless, it is simply a programming challenge which needs to be solved. The only issue is that an AI takes over a player's forces once they disconnect; the developers would need to formulate a way to relinquish force control to the player once they rejoin. Seeing as force control can be relinquished to an AI, and multiplayer matches can be saved, exited, and resumed at a later point some of the code structure is already nested in the program. It simply takes effort, and it's a feature which is vital to the gameplay experience of most players whom at some point disconnect.

I cannot fathom how there could be any Sins player who has not at some point in their multiplayer experience hoped for the ability to rejoin an ongoing match if they have just crashed.

Reply #3 Top

The code is not "nested in the program", matches can be reloaded when everyone has the relevent save data, if even one person doesn't have the right data, the game desyncs horrendously or just won't even start.

The issue that arises is this: "How is the reconnecting player going to receive all the updated data on what he missed?"

Reply #4 Top

Quoting Mr., reply 3
The issue that arises is this: "How is the reconnecting player going to receive all the updated data on what he missed?"
End of Mr.'s quote

The reconnecting player need only know the current position and status of all objects in the game, which the host can transmit. There is no need for the reconnecting player to know every action which has taken place while it has been gone. The match would simply need to pause while the disconnected player reconnects, and then resume once all data has been transferred to that player from the host.

Reply #5 Top

Quoting Bluecewe, reply 4
The reconnecting player need only know the current position and status of all objects in the game, which the host can transmit. There is no need for the reconnecting player to know every action which has taken place while it has been gone. The match would simply need to pause while the disconnected player reconnects, and then resume once all data has been transferred to that player from the host.
End of Bluecewe's quote
Pausing a game and having everyone wait for a disconnected player to reconnect is something nobody wants. People could just abuse this function and "disconnect" a.k.a. ragequit so their defeat doesn't count as a loss on their profile, without ever joining back. The dev's simply need to fix the crashes in multiplayer games.

Reply #6 Top

Quoting Teun-A-Roonius, reply 5
Pausing a game and having everyone wait for a disconnected player to reconnect is something nobody wants. People could just abuse this function and "disconnect" a.k.a. ragequit so their defeat doesn't count as a loss on their profile, without ever joining back. The dev's simply need to fix the crashes in multiplayer games.
End of Teun-A-Roonius's quote

 

I didn't elaborate myself clearly enough I see. The pause would take place once the player has initiated a reconnection, giving time for the host to transfer relevant game world data to the reconnecting player. Once the transfer of data was complete the reconnecting player would be "in-sync" with the rest of the players, and the game would be able to unpause. The game needs to pause while the player is reconnecting in order to prevent a desync due to new data appearing but not being transferred to the reconnecting player.

An AI would still take over the disconnected player's forces as they do now while and until the disconnected player chooses to reconnect. The pause would act like lag pauses do in games like Company of Heroes where the game will pause in order to ensure that the lagging player does not become desynced.

Reply #7 Top

Was just in a very intense match with two friends against two players (the third had died early on), but suddenly my game crashed and thus the moral of my friends to continue was utterly destroyed resulting in them both leaving the match and probably causing those we were playing against to also leave, or just fight AI for hours on end.

If the rejoin feature were in place that match would have continued happily, though sadly rejoining was an impossibility.

Reply #8 Top

I'm not too learned in net code, but isn't it possible once a connection is lost all players would do an autosave and they could just rehost from that point? I made no intention to over simplify it, but the point is made.

Reply #9 Top

I don't see where is the problem.

 

When i was playing CIV 4 it was possible to continue a multiplayer game from the save file.

Reply #10 Top

Unfortunately after-crash savegames tend to be borked, I'm not sure if autsaving upon disconnect would work for the crashed player.

If you could choose the autosave-timer manually and set it to something like every 5 minutes (it's 15 right now if I remember correctly) there should be no issue in people restarting the game at the last autosave... We do that all the time, i.e. if our provider executes our 24h reconnect at the worst time possible. My rig could probably handle autosaving every minute, too, so it'd be a huge advantage if I could choose a shorter interval.

Even if we play using Hamachi it shouldn't be too different with ICO, it should be enough if one of the players has a non-broken pre-crash savegame.

Reply #11 Top

Bluecewe, i was in the game with you as carpetbomb.  Its a regular occurence to have games crash, to have players get a minidump.

I have always wished for a feature in a game like sins to have a rejoin option, this would be quite a nice addition to the RTS/RT4X genre.

From what you've outlined it seems totally doable, but i'm sure that it hasn't ever been justified to the producers.

Reply #12 Top

Quoting Scudhawk, reply 8
I'm not too learned in net code, but isn't it possible once a connection is lost all players would do an autosave and they could just rehost from that point? I made no intention to over simplify it, but the point is made.
End of Scudhawk's quote

 

How would the disconnected player receive the autosave?

 

Quoting RenardSolitaire, reply 9
I don't see where is the problem.

 

When i was playing CIV 4 it was possible to continue a multiplayer game from the save file.
End of RenardSolitaire's quote

 

Its not about reloading from a save, its about loading into a live game.

 

What is being suggested is possible, as far my coding experience tells me, but it would be difficult to, relinquishing control to an AI and back wouldn't be too hard, you can do that in Single player by quitting and reloading a game as another person. My problem with this would be, a player D/Cs (disconnects) on purpose and lets the AI 'fix' his stuff, getting upgrades, research, etc, that he didn't think about.

 

The fact that AI takes control in Sins makes it WAY easier than say in, Warcraft where your allies get the split of your stuff.

As far as making a autosave and reloading it once the disconnected player returns, this doesn't work because if the disconnected returns much later, causing a large amount of time to be undone, players would deem it as unfair.

 

Uploading information from the 'host' to the D/Ced and R/Ced player would be possible, but depending on the map size, how late in the game it is, how many ships, etc, could take awhile, but would be well worth it to reconnect.

 

As far as my suggestion goes, what if you could host a savegame as a map? Kinda like in Warcraft 3, everyone has to download the map from the host, why can't a save be used as a map with all relevant and important information in it? Ex, player credit, metal, and crystal amounts, researches, ships and positions, etc.

 

Cheers.

Reply #13 Top

It's worth mentioning that I have thought of utilizing the auto-save feature to load up a match and invite everyone back, however most of the time those you are playing with are pretty much strangers and once you or another person disconnects it is hard to get in contact with the people who were in the match to rejoin the new auto-save match, usually resulting in you deciding to quit the game or start a new match from scratch with new strangers.

Reply #14 Top

I think it's a fundamental error for Ironclad Games to have, as it seems right now, completely ignored the need for the ability to rejoin hosted matches which people crash or lose connection from.

When you are playing with friends and one of those friends leaves the game unwillingly, there is no moral left to continue without that friend. Players should not have to deal with that issue, as it is putting some players off playing PvP matches full stop.