ReflectionsProjections/mm18

Logging / Ability to Replay Games

Opened this issue · 3 comments

It would be nice to be able to analyze the strategies used during the MechMania competition in order to improve future MechManias. One way we can do this would be to add a logging element to the code to save all JSON GET/POST requests. If we also log any random decisions made by the game, we would have the ability to replay games at a future point in time (without the need for actual clients).

The logging would also enable us to go back and generate statistics for the game.

In case we need to change them, it should also allow for a complete dump of all constant values so that we know what was used over the course of that particular game.

The full ability to log and replay games requires a lot of other components, including the visualizer, arena, and working game API. Testing it will require full test clients. As a result, even though developing so that this is possible is an immediate priority, I'm marking this as a late summer goal.

Wouldn't need too much from the visualizer- just the data that it requested (which would be provided by the game's server). We could pick a single random seed for each game and use it for all randomized data, that way we don't have to keep track of each random data element- just the seed. Furthermore, we could increment the seed by 1 each game, so if we have the game number (ie Game 23) we have the seed. Everything would still be random (even if the seed is not).