## Event Architecture - Local events are broadcast as custom events prefixed `L-` - Incoming global messages are broadcast as custom events prefixed with `G` ## Robot Movement The state of the robots are fully contained in a central stack, allowing undo, reset, shadowing, replays, and move counting. Any movement, including initial locations, is represented by pushing or popping locations from the stack. A victory state can be stored by taking a snapshot of the current stack. ## Icons Icons from [https://game-icons.net](https://game-icons.net) ## TODO - win declare/add/remove - no more guesses, send stack and replay - countdown skip - move guess and move logic out of server (clean up server file) - no cancel from name prompt - restore state on join - walls algorigthm - limit concurrent players, make sure connections are closed, clean up empty rooms - cookie room link, add to all messages, namespace them - move websocket server to /core - dynamic socket server resolution - namespace server to /ricochet - tutorial - donate link