
I made a Go engine that plays on any tiling, not just the square board (hexagons, triangles, even Penrose)
I kept getting stuck on a question: is Go really about the 19x19 grid, or about the graph underneath it? Stones connect to their neighbors and die when they run out of liberties, and none of that actually needs squares.
So I built an engine where the rules, the search, and the neural net only ever see a graph of points and connections. No coordinates anywhere. The upshot is that one trained net plays a hex board, a triangular one, the Archimedean tilings, or an aperiodic Penrose tiling, and it picked those up without being told anything about geometry.
You can play it in the browser, no install or signup:
https://vonduffen.github.io/euclidean-go/
Code (Apache-2.0) if you want to poke at it:
https://github.com/vonduffen/euclidean-go
On strength, so nobody's surprised: it learned purely from self-play, no human games, and it's roughly kyu level on the square board. I genuinely don't know how strong it is on the odd boards since there's nothing to benchmark against. If you beat it in some stupid way I'd love to see the game.
Honestly the part I find interesting is how shapes change when the board isn't square. Eyes and liberties feel different on a hex board and I'm curious what stronger players make of it.