IMHO, simple is better, thus UDP is better. I would like to see another protocol designed, one that simply streams data continuously from client to client, in the most direct path, with nothing else bothering it. This would guarantee pure speed at the loss that UDP suffers. The only visible problem with this would be connection losses, and how they would be handled.
I think Nexuiz should skip sending the checksum with the packet and checking it if it isn't already. The result would be similar to what currently is being sent. This way, less time is sent building the packet.
UDP should probably only be used for gaming as using it for video streaming or http: would become slower as there would have to be integrity checking for incoming data and sequences would have to be established and checked. TCP does this automatically which prevents the overhead of having a seperate thread for the purpose of integrity checking.
See...this can be a discussion
