Could you save even more bandwidth by updating static data and letting Cloudflare cache/serve it? ie: put the batches on disk then have the clients grab it? It would be the equivalent of frame differencing, with the total board state being saved occasionally as a keyframe equivalent. You're doing that dynamically anyway by sending batches and snapshots to the client. Using the above you're basically making your game…
I thought about not pushing snapshot/move data over websockets - one of the systems-y friends I ran my architecture by brought this up while I was speccing the site out. You can't really put move batches on disk and have clients grab them (afaik), since the set of moves you want to send to an individual client depends on their position (and you don't want to send every move to every client). But you could do this by…
Wouldn't solve that 1s latency thing, but might be interesting in other applications.