To give some context, I am working on a peer-to-peer game which relies on a fully connected RTMFP mesh between up to 8 players. The simulation progresses in lock-step mode, so every player's commands must reach every other player at each step of the simulation for things to progress. The simulation is fully deterministic, each update occurs in sync on all player's systems.
I have the basic framework working, and have tested it with 4 clients and everything seems fine. However I have a few concerns that I wanted to double check before I continue.
1. I read in a few places that NetGroup's with less than 14 members will form a fully connected mesh (everyone connected to everyone). Is this assumption safe to make? Would there be any situations where some members of the group aren't connected? Can I make sure this happens, since for latency sake, it is important that messages can be routed without hops?
2. I am using sendToAllNeighbors to send updates every tick as I understand this will net be the best performance. Are message sent reliably with this function? Is it guaranteed that every neighbor will get the sent message? I cannot find flags like 'datareliable' like there is for netstreams, so I am not sure if I need to manually handle resends or not.
1. a NetGroup with 14 or fewer members should be fully meshed, as long as NATs/firewalls between peers allow direct connections. i explain this more fully (including where 14 comes from) in my session from MAX 2011:
2. sendToAllNeighbors (as well as sendToNearest and sendToNeighbor) messages are sent with full reliability. you don't need to handle manual acknowledgement and retransmission.
Amazing, thank you. Those are both the answers I was hoping for.