Topic: questions about replays

Astuur
Avatar
Topic Opener
Joined: 2009-02-28, 10:08 UTC+1.0
Posts: 733
Ranking
One Elder of Players
Location: Frankfurt / Germany
Posted at: 2010-03-30, 09:17 UTC+2.0

I have 3 questions about the replays, and would be glad if someone could answer them.

1)The naming: There is the date part, and the the part after the "T" is the time the game has been running? edit: looks more like the time of day incl. DST. OKay ... figured that out face-smile.png

2) When I watch a replay and want to go back to something that I have just seen, but may have been too fast, because I was watching at high speed - can I do that in any way? Reload and try again? Could it be possible to scroll backwards in time? Could it be possible to show the game running time while watching the replay? Possibly there is a console window in other OSs, but I dont know how to get one in WinXP.

3) When that sign appears at the end of a replay "end is reached, but you can keep on watching" .. what is actually happening when I do? Is WL loading the next replay automatically then?

thanks...

Edited: 2010-03-30, 10:14 UTC+2.0

Being no programmer, I apologize for all my suggestions that imply undue workload and for other misjudgements due to lack of expertise or relevant skills.
I am on Win32, have no means to compile, and rely on prefabricated distributions (Thanks to Tino).

Top Quote
timowi

Joined: 2009-11-01, 23:08 UTC+1.0
Posts: 146
Ranking
At home in WL-forums
Location: Germany
Posted at: 2010-03-30, 12:34 UTC+2.0

Hi Astuur,

1) Seems you figured out on your own: It's the time you started the game

2) It's not possible to go back in time. You have to restart and watch again. Implementing such a feature is hard and likely breaks the game logic. I don't think this will be implemented. Currently it's not possible to show the gametime in widelands. Some log entries contain the gametime in milliseconds. But thats not much useful. You get a console in windows by starting widelands from a command prompt.

3) It just informs you that there are no more commands in the replay. So it pauses the game. You can higher the speed after that and watch what is happening after the replay. The game just continues but without control (no AI, no player, ...).

Timo


Top Quote
ixprefect

Joined: 2009-02-27, 14:28 UTC+1.0
Posts: 367
Ranking
Tribe Member
Posted at: 2010-03-30, 15:59 UTC+2.0

2) Supporting going backwards would require a lot of checkpointing or similar, which is pretty much infeasible. However, it would be nice to have a gadget that displays the gametime, and then allows you to "Play up to time NN:NN" in replays. Not quite the same as going backwards, but should be good enough for most purposes.

3) Almost what timowi said, but IIRC not quite. Basically, the message appears after the replay has been read in its entirety. This means that there might be commands from the replay that are still enqueued in the Cmd_Queue but haven't executed yet. For this reason, when debugging desyncs, you might have to continue for a few seconds after the appearance of the message to get to the actual point of desync.

You can continue the game for as long as you like and it will just continue simulating the game logic, but no new player commands are executed anymore. This means no new buildings are built, no buildings are destroyed, no attacks happen, there is also no player AI active, etc. Pretty much a "ghost town" scenario face-wink.png

cu, Nicolai


Top Quote
Astuur
Avatar
Topic Opener
Joined: 2009-02-28, 10:08 UTC+1.0
Posts: 733
Ranking
One Elder of Players
Location: Frankfurt / Germany
Posted at: 2010-03-30, 18:06 UTC+2.0

Ah.. okay... I understood that. Thanks very much, both of you, for taking the time to explain.

The idea of going backwards derived from the daunting task of scanning through a very long replay for a particular sequence - but you probably guessed that face-smile.png

A gametime display would be most welcome, indeed.

But maybe it would be even easier to simply create a sequence of playbacks - let's say, a new one every 10 minutes? The sequence number could then be added to the filename, perhaps? I think it may make the job of finding something in there a lot easier, if you only have to closely watch 10 minute or so. Or would it be too complicated to achieve a continous playback then? Well, just an idea from a non-programmer...


Being no programmer, I apologize for all my suggestions that imply undue workload and for other misjudgements due to lack of expertise or relevant skills.
I am on Win32, have no means to compile, and rely on prefabricated distributions (Thanks to Tino).

Top Quote
Nasenbaer
Avatar
Joined: 2009-02-21, 18:17 UTC+1.0
Posts: 826
Ranking
One Elder of Players
Location: Germany
Posted at: 2010-03-30, 19:58 UTC+2.0

Astuur wrote: Ah.. okay... I understood that. Thanks very much, both of you, for taking the time to explain. The idea of going backwards derived from the daunting task of scanning through a very long replay for a particular sequence - but you probably guessed that A gametime display would be most welcome, indeed. But maybe it would be even easier to simply create a sequence of playbacks - let's say, a new one every 10 minutes? The sequence number could then be added to the filename, perhaps? I think it may make the job of finding something in there a lot easier, if you only have to closely watch 10 minute or so. Or would it be too complicated to achieve a continous playback then? Well, just an idea from a non-programmer...

Negative parts would be (besides the work to rewrite some code):

  • It would let the game stop for the time of loading the next replay (depending on the system this might take up to 10 or 20 seconds) -> Handling would be harder
  • The needed space for a "one game replay" would increase a lot - well actually just some MBytes per replay file, but if you play 4 hours those are already 4 * 6 * some MBs which might be more than 100 MBytes and on big maps even some hundred MBytes
  • Debugging would become harder, if a desync / bug happens close (or perhaps even directly at) the point of a new replay write start.
Edited: 2010-03-30, 19:59 UTC+2.0

Top Quote
Astuur
Avatar
Topic Opener
Joined: 2009-02-28, 10:08 UTC+1.0
Posts: 733
Ranking
One Elder of Players
Location: Frankfurt / Germany
Posted at: 2010-03-31, 10:12 UTC+2.0

I see, Thanks Nasenbaer. So I guess that idea has not chance. How about the gametime display in replays then, that Nicolai suggested? He seemed to consider this a feasable thing, and it would sure help a lot. Would that be worth an official wishlist entry? Just to remember the topic. I know there are more urgent things to do currently.


Being no programmer, I apologize for all my suggestions that imply undue workload and for other misjudgements due to lack of expertise or relevant skills.
I am on Win32, have no means to compile, and rely on prefabricated distributions (Thanks to Tino).

Top Quote
Dwarik

Joined: 2009-05-11, 17:50 UTC+2.0
Posts: 42
Ranking
Pry about Widelands
Posted at: 2010-04-01, 17:46 UTC+2.0

Astuur: it isn't so much about urgent. adding gametime somewhere is easy. if you put it on the wishlist i'll make sure it will get added before build16


Top Quote
Astuur
Avatar
Topic Opener
Joined: 2009-02-28, 10:08 UTC+1.0
Posts: 733
Ranking
One Elder of Players
Location: Frankfurt / Germany
Posted at: 2010-04-19, 18:01 UTC+2.0

Thanks, done so.


Being no programmer, I apologize for all my suggestions that imply undue workload and for other misjudgements due to lack of expertise or relevant skills.
I am on Win32, have no means to compile, and rely on prefabricated distributions (Thanks to Tino).

Top Quote
wl-zocker

Joined: 2011-12-30, 17:37 UTC+1.0
Posts: 492
Ranking
Tribe Member
Location: Germany
Posted at: 2012-05-13, 18:46 UTC+2.0

I have another question:

If I have understood you correctly, in a replay, there are only written all the commands the player(s) and the AI have executed. But why can't a replay be watched in a newer version? If the programm only had to execute the commands, that should be possible, I think; but it is not.


"Only few people know how much one has to know in order to know how little one knows." - Werner Heisenberg

Top Quote
Nasenbaer
Avatar
Joined: 2009-02-21, 18:17 UTC+1.0
Posts: 826
Ranking
One Elder of Players
Location: Germany
Posted at: 2012-05-13, 19:52 UTC+2.0

wl-zocker wrote: I have another question: If I have understood you correctly, in a replay, there are only written all the commands the player(s) and the AI have executed. But why can't a replay be watched in a newer version? If the programm only had to execute the commands, that should be possible, I think; but it is not.

well the statement "exactly the same version" is actually wrong. The reason why things most likely don't work in other versions than the one the replay was created with is the different game engine. for example: if the buildcosts of one building was increased by 1 trunk (almost the smallest possible change), this might have a big influence on the whole game => the so called butterfly effect. e.g. one of the game commands is to build that building. now the construction of that building will take longer because of the additional trunk (that might be missing at other places now), so the products of the building will be produced later than before, the builder needs longer until it is free for other work again etc. pp....

it's almost like if you go back in time and change something back there... face-wink.png

so to conclude: if two different widelands versions do only differ by some bug fixes it is quite possible, that their replays are compatible, but as soon as game data is changed, or game play elements in the source code ....

hope that explains it better face-smile.png


Top Quote