Or you could go to lichess.org and host a game there, and do send me the link when you set it up, I kick ass at it
The purpose of this question is not to play chess, it's to explore the power of smart contracts using Bitcoin. The idea is that if any technique that allows us to play chess using Bitcoin should be powerful enough to allow lots of other interesting uses.
Competitive chess playing is very resource intensive:
The smart contract would not be generating moves. Just officiating a human vs. human match. I have in mind something like in the article I linked to. Checking whether a move is valid is far easier than generating good moves.
You would have to come up with a different chess game scoring system that doesn't take account of time.
Timing moves is tricky, however it may be possible to play long games where the time per move is measured in blocks. If the time is long enough (for instance, 100 blocks per move), the variance of block creation may not be an issue. However since the goal is not to post every move on the chain (as mentioned in the original post, this is super inefficient), there may be some way to play with faster time controls with all verification done off-chain or over a Lightning channel.
Also, chess has no hidden state, so what would be benefit of using the zero-knowlegde system in the game?
I mention zero knowledge proofs because those are solutions that Greg mentioned already exist (ZKCP) or are eventually coming (SNARKS). You're right that it seems like zero knowledge shouldn't be needed for this. If anyone knows how to trustlessly verify an arbitrary computation without it, I'm interested to know how.