Ok well I wrote a nostr chess server and a command line client and I played a game of chess with myself (the library that manages the game state and legal moves and stuff was written about a month ago). The nostr events I'm using (all ephemeral) are documented here: https://github.com/nostr-protocol/nips/issues/1453 The server is running in case anyone else wants to write a client: pubkey of the chess server: dbb45efeb8cc10e6f75fdff7e561e7db39cc7ba6592f4c22e26f3ee36b2e7bc2 relay it is running on: wss://chorus.mikedilger.com:444/ If it stops responding, get in touch with me and I'll restart it. I'm just running it from a terminal and I may forget about it and reboot or something. I'll bet some brilliant graphic designer out there could create a beautiful client where the pieces slide, there are noises, the square it came from remains highlighted, all that jazz.
there is already a chess nip
Yes NIP-64 it defines one event, which is the outcome of a game after it is played. It could be used as a game in progress too, but that requires clients to understand chess logic and to interpret algebraic notation, so I'm proposing FEN which allows clients to remain dumb and still play chess. And NIP-64 doesn't have any way of pairing people together for a game, reporting errors, dealing with draws or resigning, timing, etc. My proposal adds more parts but still is far from complete.
(this applies to nip 64 as well) what is the advantage of doing this over using lichess.org? maybe we should stop trying to use nostr for all the things
I agree we should stop trying to use nostr for all the things. I did it in a day because I had a bad week and I needed a win.