Sometimes, everything works, everything is great, you feel like you're almost there, and then other times nothing works, everything is broken, and you feel like you need to start over.
I had a terrible playtest after two awesome playtests that made me feel I needed to rethink my radio messaging scheme from the ground up. Right now, it's basically a shouting match. I got to this point by just barely getting things to work - if a critical message wasn't getting through, just send it 4 times instead of one, there are tons of delays based on arbitrary values (note: they're actually "delayAndRead()" functions that read the radio while waiting). There are a bunch of retries, there's no real sense of priority in the messaging system, and there is no coordination.
I think what I need to do is attempt to coordinate all radio nodes to time slices. There's a fixed number of radio nodes, 10 bases and up to 32 players. So I think I can get away with 42 time slots spaced at 10ms. Need to do a lot of testing to see if that window is big enough, but I feel like it's more than enough. My hope is that this new method brings about stability into the system and I can reduce the retries and the redundant messaging.
R&D can have big setbacks like this, but it's important to remember lessons learned. Have no fear of doing something wrong the first time - even if it means having to redo it later.