While we're debating executables for this, I thought I'd raise another issue: scoring.
One of the features of "cooperation" experiments is that, rationally, how well your opponent does shouldn't affect you. For example, if your opponent offers you $1 and keeps $19, the point of the game is that rationally you should be happy because $1 is better than none, and the $19 doesn't matter because in game terms, the total # of dollars in "the whole game" (real life) is such that your opponent's total only very, very distantly hurts the value of yours. The interesting part of the psychology comes in because people are willing punish the greedy $19-receivers at a cost to themselves, showing that they are "evolved" to play the larger societal game of punishing unfairness before they maximize their dollar. For our purposes, that means there's the danger that "traditional scoring" that would turn this experiment into a different kind of game, more cutthroat and zero-sum, especially if each round is scored based on differences. Example, take outcomes for three players, Greedy, Friendly, and Dupe: Results: Greedy vs. Dupe : 11 (Greedy), 1 (Dupe) Diff: +10 Greedy Friendly vs. Dupe : 100 (Friendly), 98 (Dupe) Diff: +2 Friendly Greedy vs. Friendly : 50 (Greedy), 50 (Friendly) Diff: 0 Ranked by per-game win average (suggested in contest proto I think): Greedy 5 Friendly 1 Dupe -4 Ranked by total: Friendly 150 Dupe 99 Greedy 61 So the first method awards cutthroat play rather than cooperation (keep totals down as long as per-game difference is high) while second awards "cooperation", where Dupe, who didn't win any game directly, does better than Greedy. Of course since the game domain ultimately is small, even the cooperative players have to assume some level of zero-sum-ness: in the second method, the best play is probably "cooperate until the 'last minute' then do a quick betrayal for the game-winning point". (This latter strategy can be defused somewhat by making the # of rounds in one match random within a range so that there's no certain last round). [Side note: we actually experimented in this in a contest I ran a few years ago for players directly: a common pool resource game where you tried to harvest fish---maximize your own catch against others while leaving enough to grow into the next round. Quickly learned that uncertainty about when the "last round" was is v. important. Incidentally, at the time I was wondering if people would form private contracts to protect the resource: they didn't in part because contract law was much less developed, maybe a partner of AAA should extend into fishing?] Just something to think about as it's very relevant to think about ahead of time, as it affects the types of strategies that end up being the best. Thoughts? -Goethe