What happens to saved data for different versions

Jump to navigation Jump to search
Revision as of 13 October 2017 at 03:27.
The highlighted comment was created in this revision.

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