I was once wondered how much boilerplate vs real logic does it take to write a multi-user game. It turned out that it's not that much...
UPDATE: It takes two human players on two different devices, not human vs AI.
There is a live demo here:
and the sources are here:
Interface is really minimalistic but it does not stop you from spending a good deal of time trying to drown your opponent (virtually).
However advantages of using Redux as a state management tool is obvious. Shared state (via props) between all components and almost zero stepping on each other feet. State is updated via actions and even network calls with WebSocket server are driven by actions. Very handy.
Next thing I am going to try is probably Reflux, I would never learn about it if one engineer from Facebook did not mention about it. Will see...