Page 1 of 1

replay old PBEM MP games

Posted: Wed Feb 27, 2019 8:11 am
by garymann
If MP games are all loaded onto your server, is it possible to replay old PBEM games and re watch a finished battle from the start?

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 9:31 am
by rbodleyscott
garymann wrote: Wed Feb 27, 2019 8:11 am If MP games are all loaded onto your server, is it possible to replay old PBEM games and re watch a finished battle from the start?
Sadly not. Full game replays are on the wishlist, but it is by no means simple to implement, because the replays are not videos, they actually reconstruct the events by running the players' actions through the scripts again.

This means that any change to the scripts will stop the replays working correctly. So even if we did implement full-game replays, old ones would not work correctly after a game update.

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 10:31 am
by garymann
OK Richard thanks. At least it's on the list.

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 3:14 pm
by Jagger2002
because the replays are not videos
So if I am following correctly, basically a video feature would have to be added to video the replay? Something independent of the game rerunning through the scripts as it does the replay?

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 8:02 pm
by MikeC_81
Would it be possible to do a text dump of the raw data found in the save files on the server, and have the game continuously append to that file on the client side? Then write a special game mode that simply reads the raw data and replays the entire game in the engine?

It would mean that Slitherine doesn't have to store additional data on its server and you only really need to write a special game mode in the engine that is capable of dealing with multiple turns. Of course it would break old replays whenever the version changed but that would be a vast improvement to what we have currently.

edit: It would also have the benefit of allowing players to review their games that are currently sitting on the opponent's turn.

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 9:57 pm
by pipfromslitherine
Something like that is one of the solutions we have been thinking about, but we want to make it a little more robust if we actually do it - otherwise it rapidly becomes of limited use given the relatively high frequency of updates.

Cheers

Pip

Re: replay old PBEM MP games

Posted: Wed Feb 27, 2019 11:39 pm
by MikeC_81
If the difference between getting something vs getting nothing is the fact that replays will break in different versions, I'll gladly take something. Not having a full game replay literally is what is keeping me from doing more videos due to the sheer amount of video I have to record and then edit.

Also, you can manage this by releasing each out of date version of the game going forward as a "beta" in Steam. Steam will automatically manage versions for the user under the BETA tab. Much like how you handle betas right now. Clearly have stored replays indicate which version of the game it was recorded on so that if a player ever wants a replay of a certain game, they know exactly which version to revert to, boot up the game, and then run the replay file.

Re: replay old PBEM MP games

Posted: Thu Feb 28, 2019 12:53 am
by melm
It is common to record the player's action sequence and random seed to reproduce the whole result. With the random seed, the pseudo-random result can be determined, and it may not be affected by the update.

Re: replay old PBEM MP games

Posted: Thu Feb 28, 2019 7:37 am
by rbodleyscott
melm wrote: Thu Feb 28, 2019 12:53 am It is common to record the player's action sequence and random seed to reproduce the whole result. With the random seed, the pseudo-random result can be determined, and it may not be affected by the update.
The game already records the random number seed - that is how it reproduces the same sequence of events in the replay.

However, each update may result in additional calls to the RNG function, which will then mean that all subsequent calls to the RNG will produce different results. Also, the updated scripts may change the results of an action even with the same RNG result, which will also have a knock on effect on the subsequent replay.