Jumping to a specific time in a replay

Hi all!

Is it possible to jump to a specific time in a replay?

For example, a good moment happened way late in the game, to reach that moment in a replay takes way too long, even when watching the replay on +10 speed.

Skill To Game Or Game To Skill

no,you can't rebuild the simulation instantly

queuing with a newbie to show him the beauty of tmm and meeting tagada be like:
https://www.youtube.com/watch?v=yLcRpdZ0Xb0&ab_channel=Tomoko

Replays store information like chess moves - the only way to get the state of the board back is to play all moves

There is a mod that stops the replay at a certain timestamp, so you go +10 and do something else for 5-10 minutes. Don't have the name though.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
– Benno Rice

That mod is called "Pause replays at time"

You can also use the “Run With The Wind” console command to go past the +10 limit. It’s just a toggle so you’ll have to run it again one the pause mod kicks in so you can watch the replay normally. I don’t remember the exact command, just look it up.

wld_RunWithTheWind, if I'm correct 🙂

A work of art is never finished, merely abandoned

Should be added to Pause replays at time 😌

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
– Benno Rice

I've installed the mod called "pause replays at time" but cannot see how to use it? Could someone give me an ELI5 please?

@valki said in Jumping to a specific time in a replay:

Replays store information like chess moves - the only way to get the state of the board back is to play all moves

Can't you like move the figures back to their spots? Like rewinding the video tape?

I mean, if there is a list of moves, and each move is described by numbers under time stamps, why can't you just go to that exact move that you want by choosing an appropriate time moment in that replay?

Or is it impossible to just extract those numbers from a desirable time stamp in that replay?

Again, we are talking about a replay, the match that is complete.

Skill To Game Or Game To Skill

@fiercelv said in Jumping to a specific time in a replay:

@valki said in Jumping to a specific time in a replay:

Replays store information like chess moves - the only way to get the state of the board back is to play all moves

Can't you like move the figures back to their spots? Like rewinding the video tape?

I mean, if there is a list of moves, and each move is described by numbers under time stamps, why can't you just go to that exact move that you want by choosing an appropriate time moment in that replay?

Or is it impossible to just extract those numbers from a desirable time stamp in that replay?

Again, we are talking about a replay, the match that is complete.

No because the game's simulation isn't made to go backwards and instead of storing player input you'd have to store literally everything that happened and replays would be huge (not to mention the additional resource usage during the game to record all that).

@redx said in Jumping to a specific time in a replay:

@fiercelv said in Jumping to a specific time in a replay:

@valki said in Jumping to a specific time in a replay:

Replays store information like chess moves - the only way to get the state of the board back is to play all moves

Can't you like move the figures back to their spots? Like rewinding the video tape?

I mean, if there is a list of moves, and each move is described by numbers under time stamps, why can't you just go to that exact move that you want by choosing an appropriate time moment in that replay?

Or is it impossible to just extract those numbers from a desirable time stamp in that replay?

Again, we are talking about a replay, the match that is complete.

No because the game's simulation isn't made to go backwards and instead of storing player input you'd have to store literally everything that happened and replays would be huge (not to mention the additional resource usage during the game to record all that).

How huge we are talking?

I ask this because in theory there is a solution to the Desynchronization.

And in order to achieve that solution, there must be a way to go back in time in game.

Again, this is only a theory.

Keep in mind that I am not a programmer, but the solution I have in mind looks something like this:

IF the replays were storing everything, and it was easily possible to navigate inside a replay like in a video file, it could be possible to achieve what follows.

Now I do imagine the replays are being recorded in real time, this is the key moment that allows the theoretical solution to work.

After a game is desynched, and all players are still present, and connection between them is reestablished, the game automatically takes them just seconds before the actual desync, and continues after that.

Again, this is only in theory.

Skill To Game Or Game To Skill

Imagine this: The replay stream now contains every single user command, so basicaly every user input (click, shortcut), that is not just ui related. That takes a few kilobytes. Assume 6 players with 100 action per minute, that would be 10 actions per second to save. For a 1 hour game that would be 36.000 actions saved.

Now imagine to store the gamestate at a single point in time:

  • every building with position, damage, rally point order queue, build queue
  • every wreck with it's position and remaining reclaim
  • every unit with it's position, rotation, speed, damage, firing cycle, veterancy and control queue
  • every projectile with it's position, rotation, speed, damage
  • every tree, every decal, every terrain change on the map
  • every players identified radar blip

You are probably exceeding the 36.000 information pieces already for a single state of the game.
Now we are talking of a single point in time. Now imagine every tick things are changing, so you need to save the delta to go backward or forward in time. That makes a few thousand, maybe even tens of thousands information pieces per tick! We have multiple ticks per second!

This would create replay sizes probably >100mb instead of 50kb-500kb.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
– Benno Rice

Take the size of a save file (easily 20mb+, especially late game) and then imagine saving every minute. Replay files would be gigantic and we would not have the infrastructure to share them like we do now. Let alone when AIs are in the picture; a save game can easily be more than a 100mb.

A work of art is never finished, merely abandoned

@FierceLV what you are describing is basically what planetary annihilation does https://www.forrestthewoods.com/blog/tech_of_planetary_annihilation_chrono_cam/
But this whole discussion is hypothetical. We can't change such a significant portion of how the engine works

Thank you for the reply.

Skill To Game Or Game To Skill

@brutus5000 Though tbf, you would only need to store the changes between the different savestate, right? Don't have to re-record the status and position of every tree with every game-tick, only the ones that were changed from the previous state.

"Design is an iterative process. The necessary number of iterations is one more than the number you have currently done. This is true at any point in time."

Newest map: luminary.png

But the states changes with every tick. And every unit in game can cause multiple changes to the state.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
– Benno Rice