Thread history

From Talk:Saving
Viewing a history listing
Jump to navigation Jump to search
Time User Activity Comment
16:43, 12 October 2017 Xor (talk | contribs) New thread created  
16:44, 12 October 2017 Xor (talk | contribs) Changed subject from "What happens to saved data for new versions" to "What happens to saved data for different versions"  
20:25, 12 October 2017 Skilgannon (talk | contribs) New reply created (Reply to What happens to saved data for different versions)
03:25, 13 October 2017 Xor (talk | contribs) New reply created (Reply to What happens to saved data for different versions)
04:27, 13 October 2017 Xor (talk | contribs) New reply created (Reply to What happens to saved data for different versions)
04:28, 13 October 2017 Xor (talk | contribs) New reply created (Reply to What happens to saved data for different versions)

What happens to saved data for different versions

I found the saved data in <robocode>/robots/.data/<package>/<botname>.data/, where there seems to be no version numbers ;/

So what will the robocode do for different versions of the bots?

e.g. my bot has a default ScalarBot.data directory with some files in its jar, what happens if I run different versions of it with different default data directory?

And what happens to the saved data after battles? Will that conflict, or just deleted?

Xor (talk)16:43, 12 October 2017

I also recently saw this. I think it should definitely be versioned.

For example, right now you could release one version, which saves data, then the next version would start with data on all bots and could get a higher score.

This might also be a nasty side-channel for bots to communicate during battle, if different versions are in the rumble at the same time.

Skilgannon (talk)20:25, 12 October 2017

And the real problem is, if you'd ever changed the format across versions, either overwrite or save elsewhere has to happen, but the former will make it hard to retest older versions, and the latter will at some point drain all your data saving capacity, and you have to back to the former again. Both works unnaturally. And if you don't handle this cases, you'll experience some bugs not locally reproducible.

Xor (talk)03:25, 13 October 2017
 

Just tested it, the data files from jar is copied every time it loads to override the older versions, but if you are running two versions at the same time, the latter's will be shared in two bots.

Maybe some mechanism to separate files from different versions helps. E.g. Using a version number prefix of each file, either from jar or created on the fly.

And for saved battles, I'm considering using the pairing instead of the opponent as names.

Xor (talk)04:27, 13 October 2017

And instead of version numbers, something similar to serialVersionUID may also be used as prefix.

Xor (talk)04:28, 13 October 2017