Simplify/move the `ResultSet`
In anticipation of 5.0.0 I wonder if the ResultSet is perhaps worth simplifying a lot. Currently it does a huge amount of calculations (some includes a fair bit of complexity to do all the stuff on disc etc...) that are very specific to the IPD.
I think there are 2 possibilities:
- Keep the
ResultSetand aim to have it generic so as to do the same amount of calculations for any/all games. - Make the generic output of the
Tournament.play()be a payoff matrix and include the option to write the interactions. For the case of the IPD this would lead to no loss of functionality as we would "simply" move the currentResultSetcalculations to a specificanalysis.ipdspot that we could point at the interactions.
I very much prefer option 2 and wonder if that would streamline things so that we could use the Tournament class in the Moran process? (but this is a minor point)
Sounds like a good idea to me. For the generic case we could do something similar to #1353 where the output of a tournament is a fully parseable collection of matches and outcomes -- names of players, match specification including the random seed, etc. Then each game can output some additional computations and plots as desired, with some of those perhaps being generic, such as the score distributions (assuming the Game output is real-valued).