While playing Fracture, I wondered if it would be possible to detect an “end of game” / victory condition across all connected Blinks.
One possible strategy would be for Blinks to transmit a “not done” status message every second or so, maybe with a hop count attached.
When a Blink has not received a “not done” message for longer than the transmit interval, it can switch to an “end of game” state.
A challenge would be relaying the “not done” message to other non-contiguous Blinks. It might be possible to do this by having every Blink that receives a “not done” retransmit it, on every side except the one that it received it on. Would need to ensure that loops don’t occur. Perhaps by serializing “not done” messages and making sure that a message that has already been relayed is not relayed again by the same Blink?
If each Blink had a unique ID this might be easier. “Not done” messages could be tagged with their sender and maybe a hop/retransmit count.
This seems like a generalizable situation, ensuring that all nodes share the same state.