Hacker News new | past | comments | ask | show | jobs | submit login
Nomic: A Game of Self-Amendment (earlham.edu)
100 points by an_ko on Aug 13, 2015 | hide | past | web | favorite | 28 comments

I recall playing this a couple times in college, to vastly different results. One 'ended' as a weird race to infinity, where the point values exploded and the winning value increased exponentially every turn. Another created a weird microsociety with social castes and jobs. I created a website for that one and years later found mention of it on the site for another Nomic game that had grown to the point of establishing 'diplomatic relations' with other games.

If anything it belongs in a class of "game" alongside things like D&D...it's a very minimal goal-oriented storytelling structure, albeit with one that leans heavy towards legal and procedural creativity.

Maybe that first one should use ordinals for scoring: https://en.m.wikipedia.org/wiki/Ordinal_number

If you like Nomic, check out Nomyx[1] which is a computer version of the game. Rules are specified and submitted in a domain-specific language called Nomyx, embedded in Haskell.

I don't know if the current game is active, but it's certainly something that would be fun to try with a bunch of friends.

EDIT: forgot link (thanks an_ko)

[1]: http://www.nomyx.net/

Clickable: http://www.nomyx.net/

There's also Dvorak http://www.dvorakgame.co.uk/index.php/Main_Page , a card game with a similar idea. It's also playable online, though players have to enforce the rules manually.

At least one open game, Agora Nomic, has been running via listserv continuously since 1993 (arguably since 1992, when it started in a MUD/MOO environment): http://www.agoranomic.org/

Edit: hmm, that website is a bit out-of-date though the mailing list addresses are current. If you want to see what a 22-year old Nomic Ruleset looks like: http://pastebin.com/jxxCiY2Y

As a current player of Agora - over the last year or so we've been a bit short on activity, so for anyone reading this, any new players would be highly welcome! My basic plug for it is that it feels sort of like collaborative programming in English, and, perhaps for that reason, a high percentage of players tend to be programmers. Among other things, this means that we prefer to explicitly define procedures rather than leaving things up to consensus, and that we're a bit more literal-minded than you'd see in a real legal system - if a rule clearly states something, it means it, even if it contradicts the intent, and trying to find bugs and "scam" them, often for the purpose of a temporary dictatorship over the rules or an unintended win, is considered a valid way to play. Other players like to write a lot of proposals, while some may be more interested in whatever non-meta gameplay mechanics are in place at the time (currently not all that much).

There's no obligation to read the whole ruleset (or any of it) before joining - it's only so big because of that tendency to explicitly define things, but most of those things aren't really surprising, or you can look them up as needed.

Basically to join you should subscribe to the three 'main' mailing lists linked from the homepage (agora-business, agora-official, agora-discussion - I really need to add a way to subscribe to them all at once or otherwise merge them, but for now you have to do it individually) and send a message to agora-business saying you want to become a player.

I'd really like to play Nomic, preferably online, and I'm interested in joining Agora. How do you keep track of who is a current player and get the game back in motion?

Agora's not stopped, just slowed. :) Most parts of the gamestate are kept track of by elected officers posting periodic reports to the agora-official mailing list (the amount of automation, if any, used to create these reports varies). Sometimes officers also maintain a web version - notably, this is usually the case for the rules, which are currently maintained at:


(Until recently the ruleset history was being tracked in RCS - yes, really. I should try to convince the current rulekeepor to at least use Git...)

There's a link from agoranomic.org, but for the record, the agora-official archive can be found at:


(agora-official is for reports, agora-business is for taking game actions, and agora-discussion is for discussion.)

For the list of officers, search for [IADoP]; for the list of players, search for [Registrar]. I post as "omd".

Just for fun, another link that I should mention, since the one on agoranomic.org is out of date (again, I need to fix this): almost 3000 old judgements on rule interpretation, most of which are long obsolete due to the relevant rules being amended or repealed, but some of which serve as (non-binding) precedent -


From Wikipedia:

> The longevity of nomic games can pose a serious problem, in that the rulesets can grow so complex that current players do not fully understand them and prospective players are deterred from joining.

In other words, much like modern law!

Lets build the software equivalent of this. It can be a web app which has the ability to peer-review and modify its own source code.

It would probably quickly break, but we can always put it back together again. Who knows, it might grow into something pretty cool.

Who's in? How would we architect such an organism?

Previous work:

http://www.nomyx.net/ as mentioned in another comment by https://news.ycombinator.com/item?id=10057433 is a Haskell-based software implementation.

• In a previous HN submission of Nomic, talked about organising one over Github https://news.ycombinator.com/item?id=4890109 and some people played it that way https://news.ycombinator.com/item?id=4890944 though the repo has since disappeared…

Architecture idea:

Node.js game server with repo on github. When someone sends it a PR, players can post +1 or -1 to vote, with some threshold that makes it pass or fail. If the vote fails, the PR is rejected. If it passes, the server merges the PR, serialises the game state, reloads the program, loads the saved game state, and continues.

This was already done and I was involved! Never got out of the meta-stage and no game, but it was Node based and included the +1/-1 to vote/fail a repo with automatic merge in. It failed though, no activity at least.


I think this is an exciting idea, so I hacked out a basic version of this over the weekend. Enjoy!

https://enomic.herokuapp.com/ https://github.com/enomic/enomic

Woah, nice stuff! This looks like a lot of fun- I just requested to become a 'hero'

I notice you've set up new accounts for everything. I assume this is to not associate your real billing details with the game. But you also don't post your name or where you're from.. may I ask why?

The very first 'attacks' would be to take over control. So it would probably have to run in some vm that gets wiped out and deployed with every source change

Yep, the challenge would be in keeping security of the system higher than the level of attacker that gets attracted. We would need to keep the app somewhat secret until we establish a decent level of security.

The problem with re-deploying a vm from scratch is that the app would need some access to the vm host. Of course that is ripe for abuse.

A way around this is for the founder to keep control of the hardware, on a raspberry pi or something. Every once in a while, somebody "wins" the game and everyone else looses access to the system. The founder can then physically restart the game. New games can be coordinated on twitter, fb, or hn.

My thought would be to set up an account on something like Digital Ocean. I think it would be pretty hard for the machine to take over the managing account. Even if it did, well, all that's lost is a Digital Ocean account.

I've played a simplified game with friends - the only rule at the beginning describes the order of turns and that rules may be added by majority vote. We've often added variations of the rules in the version described here as well as the game goes on. One of the fun pieces is that winning conditions are undefined at the beginning, and the game often ends due to the implementation of some kind of vote magnifying rule.

Very fun with the right crowd.

The rules have existed since 1982 with a typo in the third rule (103)?

"(1) the enactment, repeal, or amendment of a mutable rule; (2) the enactment, repeal, or amendment of an amendment of a mutable rule;"

One of those is supposed to be "immutable". But maybe someone mutated it...

I wouldn't think so: (1) refers to rules for changing rules, including amending rules, and (2) refers to rules for changing amendments to rules.

Logically, both rules and amendments to rules must be mutable in order for these rules to be required. If a rule or amendment were immutable, one would no longer require rules specifying how to amend them.

This looks interesting, but I tried 15 of those links at random and each one was broken. Can somebody point me to an example game I can read about?

The Internet Archive might have the pages: https://archive.org/web/

The Wikipedia page's links still seem to be fresh: https://en.wikipedia.org/wiki/Nomic

I think Nomic could be used as a decent test of AI. It's not a full-information game like chess or go (where an efficient search algorithm could beat a human) and it's not really a probabilistic game like poker (where the correct application of probability theory could beat a human). The open-ended nature makes it more like a framework than a specific task :)

If anyone's interested in playing a brand new game of Nomic on Github: https://github.com/audiodude/odeon

I don't think I've ever seen someone commit so much time and effort to making a game sound so boring.

We played this as an essentially neverending drinking game... Not a special session of the junior senate.


A sample game. you will notice that even the people 'playing' the previous one have no idea in which state it was left.

Isn't this how politics work?

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact