Page 1 of 1

Join back the game after crash

Posted: 18 Apr 2008, 20:55
by alexmic
Hi guys

The feature I miss the most is the possibility to come back to the game after it has crashed.
I've seen it in many games and I think it would be a great improvement in spring.

I know it might be a hard stuff (sync again and bandwidth)...

Thanx for your attention and you efforts in spring

Cheers

alexmic

Re: Join back the game after crash

Posted: 19 Apr 2008, 08:00
by LordMatt
This would be really hard to do.

Re: Join back the game after crash

Posted: 19 Apr 2008, 13:26
by reivanen
would it not be possible to DL the replay file from the host, fast forward it to current gamestate, and then .give the dropped team back to the player ?

Re: Join back the game after crash

Posted: 19 Apr 2008, 15:16
by MightySheep
or you could make it possible to save the game or have it autosave.

Re: Join back the game after crash

Posted: 19 Apr 2008, 16:42
by BrainDamage
MightySheep wrote:or you could make it possible to save the game or have it autosave.
means 20-30 secs of inactivity every nth minutes of game, players would get quite frustrated

Re: Join back the game after crash

Posted: 19 Apr 2008, 16:48
by ironized
lol, i fail to understand that,

the server would just have to send a copy of all its current information to the client joining...

literally a snapshot, then just run the connection as normal...

Re: Join back the game after crash

Posted: 19 Apr 2008, 17:12
by imbaczek
the problem is that this snapshot can weigh in at several hundred megs.

Re: Join back the game after crash

Posted: 19 Apr 2008, 18:45
by SinbadEV
a snapshot is basically the current Memory usage of spring.exe (RAM and swap)

Re: Join back the game after crash

Posted: 19 Apr 2008, 19:12
by aegis
why are save games so small?

isn't a lot of the stored data unsynced?

Re: Join back the game after crash

Posted: 19 Apr 2008, 21:20
by SinbadEV
the replays are basically the netcode (a list of commands) and then the game is extrapolated... not sure why games saves would be small... I would guess if you paused the game to let people rejoin another players saved game would probably suffice.

Re: Join back the game after crash

Posted: 19 Apr 2008, 21:25
by imbaczek
good catch, I dunno ^^ maybe it's not *that* much stuff.

Re: Join back the game after crash

Posted: 20 Apr 2008, 22:36
by Peet
SinbadEV wrote:a snapshot is basically the current Memory usage of spring.exe (RAM and swap)
No, it wouldn't have to include any loaded textures or models or sounds, just everything in the sim.

Re: Join back the game after crash

Posted: 21 Apr 2008, 02:29
by Acidd_UK
A saved replay for even a large game is 2-3MB or so. So theoretically , the server could pause, send the replay to the client, which runs it at full speed with graphics off to get to the same state as everyone else. Then unpause and continue.

The problem is implementing this in spring is not as easy as that. However, it would probably be easier than writing a full save/load system. It's been on the wish list for a long time, but it's a big task...

Re: Join back the game after crash

Posted: 21 Apr 2008, 22:08
by alexmic
I was just wondering if reconnect could actually be handled like a huge ping...

Sometimes we see players with outrageous pings (i.e. > 5 secs) and the player can resync in secs when the game is paused...

So when the player joins back, pause the game and resync ?

I know it is quite the same idea as stated earlier but, I think the pausing stuff could remove a point?

Cheers

alexmic

Re: Join back the game after crash

Posted: 22 Apr 2008, 20:38
by Tribulexrenamed
Brain Damage wrote:
MightySheep wrote:or you could make it possible to save the game or have it autosave.
means 20-30 secs of inactivity every nth minutes of game, players would get quite frustrated

Multithreading ;]

Re: Join back the game after crash

Posted: 22 Apr 2008, 21:47
by Peet
Tribulex wrote:
Brain Damage wrote:
MightySheep wrote:or you could make it possible to save the game or have it autosave.
means 20-30 secs of inactivity every nth minutes of game, players would get quite frustrated

Multithreading ;]
Continuing the sim in one thread while saving it in the other? :P