::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Nomic Report III: Conclusion

January 29th, 2019
nomic  [html]
The Nomic game has ended, with David (dchudz) the winner:

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:

  1. Make a sockpuppet GitHub account
  2. Add it to the game in a points-transfer PR
  3. Make a PR that transferred 100k+ points from it to you
If we had fixed the bug where points could go negative we'd still have a problem, it's just more annoying:
  1. Make N sockpuppet GitHub accounts, enough to become a supermajority of the players
  2. Add them to the game in a PR that deducts N+1 points from yourself and gives one point to each puppet
  3. 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.
  4. 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

Recent posts on blogs I like:

The Private Sector’s Role in Transit Innovation

The United States has long had private success and public failure – not just the sense of private affluence and public squalor, in which household income is high but the state of public services lags, but also in that the private sector is more productive…

via Pedestrian Observations June 17, 2019

Unintended pregnancy in folk songs

I’ve been listening to a lot of the Watersons and Waterson:Carthy this week. It’s reminded me how absolutely full British folk music is of songs about unintended pregnancy. Most commonly the result is unhappy motherhood: “But if I had kent that I now ken …

via The whole sky June 1, 2019

Programmer migration patterns

I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another. There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of …

via apenwarr March 18, 2019

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact