Would it be really hard to implement the ability to rejoin a game in progress?

I think this would really help DG because d/c's and crashes occur more frequently then they should.  Atleast for me when I play custom games.  This would solve other connection issues also because losing connection to a game would no longer be a huge problem.  I have no idea how difficult this would be to implement but it solves a lot of frustration players may have from connection issues.

1,988 views 11 replies
Reply #1 Top

This has been covered numerous times, and it's been agreed that it's rather unlikely.

Short answer:
Yes, it would be really hard and painful.

Long Answer:
Due to the nature of the connection system of Demigod, rejoining a game isn't as simple as connecting to a server like, say, in Team Fortress 2. You'd have to re-connect to all players in the game, then you'd have to download the entire game to your computer from each, then get re-synced into the game to allow it to begin. This wouldn't be a simple, seamless procedure either - the entire game would need pause for all players the moment anyone disconnected to allow them to re-connect without any hassles. This could, theoretically, take around 15 minutes depending on the reason for the crash and the length of the game - the longer the game, the more information needs to be downloaded from everyone to ensure it's properly synced - assuming that the player even tries to re-connect.

Reply #2 Top

well, theres this feature in guildwars, that if u d/c at any moment in the game (whether it be missions, dungeons, it doesnt matter), u still have the opportunity to reconnect to the game and start off where you d/c.

but its not a peer to peer game so i thin kit wouldbe harder to achieve this im demigod.

Reply #4 Top

Quoting x3RoLuck, reply 3
Maybe an option to have a game not count if someone d/cs by vote or something. 

Which the team that lost the person will almost never win - if a team is winning and lose a player, why would the other team agree not to count it - they now have a chance to win. If a team is winning and the opposition lose someone (gasp - rage quitter who pulled hit cable out), why would they want to not count it???

Reply #5 Top

Before reading Zehdon's reply my post would have read something like "for the love of god yes...we need this!!!1"

I admit to having no clue as to the ins and outs of the connection system used in game, but if...and i am just saying if...it is remotely possible for this to be looked at even...if not implemented, then i would love GPG/SD to explore it.

15 mins is a long time to wait paused while a peep reconnects, but if that time was decreased, say 5 mins...that might be acceptable, i know i'd wait 5 mins.

All that being said, it seems an unlikely event given the obstacles Zeh outlined, but it would still be a fantastic feature.

Reply #6 Top

Before reading Zehdon's reply my post would have read something like "for the love of god yes...we need this!!!1"

I admit to having no clue as to the ins and outs of the connection system used in game, but if...and i am just saying if...it is remotely possible for this to be looked at even...if not implemented, then i would love GPG/SD to explore it.

it would be cool, no doubt, but a real pain to code, you would have to freeze the game, find a way to transmit all the informations of the game to the new player (coordonates of the units, xp points, hp, mp,gold,........) and then unfreeze the game. It is far from impossible but it would need a LOT of coding and i doubt that gpg has the money to do that atm.

well, theres this feature in guildwars, that if u d/c at any moment in the game (whether it be missions, dungeons, it doesnt matter), u still have the opportunity to reconnect to the game and start off where you d/c.

yes, but as far as i know, guildwar uses servers to manage the game, so if you crash or are disconnected, you just have to reconnect to that same server. The multiplayer in demigod and in Guildwars are really different.

Reply #7 Top

And you couldn't even say "Make the host PC pause the game, serialise its data and send it to joining PC and start up again" (once connections re-established) as it may be the host that went down...

Reply #8 Top

Yes this would be really nice to have it.....

But maybe there is a solution in a different way.

This always bings up a game in mind I really love and I often play with my friends in LAN. This gives you the possibility to use computers insteads of human players. Then if somebody new joins, the computer leaves the game and the human player comes in.

Maybe this could be done in DemiGod too. IF you computer crashes the computer plays for you. Thats what happens now too. So if there could be an option for late rejoin when making the server. The serving pc(s) could let someone (no matter if this is the PC which crashed or not) in again buy giving him control of the AI. All changes the AI has done since you left the game have to be accepted. (Maybe giving also the possibility to join for AI which was asaigned as AI from the beginning.)

Maybe not best solution but one to live with.

Reply #9 Top

The only way this would be viable would be if Demigod moved to a server/client network model - which would require a rewrite of the entire network susbsystem.

 

Granted, a server/client model would be fantastic, but GPG certainly aren't ever going to give it a second thought.

 

I dream of the day someone makes a mod that lets us have a 30 player dedicated server with a constant epic Demigod war :p

Reply #10 Top

Mid-game joining (be it people who crashed or just those looking to fill in) won't be happening for Demigod, sorry guys. We do expect to have a solution for the most common crash issue (LUA decompression) from GPG for the next update, though.

Reply #11 Top

We do expect to have a solution for the most common crash issue (LUA decompression) from GPG for the next update, though.

Well thats good news.