|January 29th, 2019|
Since the last update a week and a half ago we made some good progress:
#67, #68, and #69: removing players for inactivity. The first was a resignation, and the second two were initiated by me. If either of those players had wanted to keep playing they would have been welcome to contest their removal.
#44: PRs have to wait a day from creation to merging unless they have unanimous approval. I think this one is silly, since 'PR creation' isn't a very meaningful concept, but I was willing to go along with it.
#47: switched to named bonuses, where instead of a single file containing your points total you now have multiple files each with a single integer number of points. This reduces merge conflicts.
#49: allow transferring points between players with the approval of everyone losing points.
a #73: make each player have a chance of winning proportional to their number of points. Getting to 100k points makes you win for certain, though with lower numbers you are still progressively more likely to win.
#77: agreement on a proposal to switch to numbered rules for merging. This would have made evaluating proposed changes simpler, and reduced merge conflicts.
After David quit, I told him about a bug I'd realized there was with points transfer where nothing kept you from going arbitrarily negative. I imagined making a sock puppet account, and applying to join the game, but it seemed too likely that people would realize the account didn't have a proper hsitory and reject the join PR. David proposed we flip a coin, and the loser transfer 100k+ points to the winner.
David had resigned (#67), so he started with a PR to re-add himself (#80). He then realized that the points-transfer PR rule would allow adding players without approval from everyone else, and we didn't need to wait for that to merge. We flipped a coin, he won, he created #82, and I approved it. Which won the game for him: #83.
You could argue (and I bet someone will) that I shouldn't have followed through with my promise once the coin flip came out in David's favor, but that's not how I play games (except diplomacy).
After thinking this through, this showed that any of us could have won unilaterally:
- Make a sockpuppet GitHub account
- Add it to the game in a points-transfer PR
- Make a PR that transferred 100k+ points from it to you
- Make N sockpuppet GitHub accounts, enough to become a supermajority of the players
- Add them to the game in a PR that deducts N+1 points from yourself and gives one point to each puppet
- Take an old PR of yours that you had abandoned and closed without any rejections (which tricks #44) and revive it as a PR that makes you win.
- Have all your puppets approve it, submit it.
I'm not sure at this point whether we'll fix the bugs and keep playing, or decide we're done. Are people are interested in playing more?
Another question is how I should leave the repo when we are fully done, so other people can fork it and start playing? There are kind of two schools:
Minimal: the initial state should be just barely enough to play. Check that a PR has unanimous approval and no more. Anything else is up to the players.
Maximal: the initial state should make it easy to express rules that people are likely to want to make, so the game can be about playing and not about building the infrastructure for a game.
I'm leaning towards the maximal version, but I could be convinced either way. The main thing is that even the maximal version shouldn't have so much code that players can't easily understand everything involved.
Comment via: facebook