RocketRooster wrote:SetonsGrandPa wrote:long story short #FAremake
The fundamental issue remains no matter what you do - latency over the internet. UDP is used for peer to peer because the minimum packet sizes are smaller than TCP, multicast is possible and so an ack-based pseudo-connection-state is created at the application layer. But it remains best effort comms and rewriting FA cannot change the fact that compromises have to be made due to the underlying networking model of the internet which is a mishmash of circuit switching and many potential points of failure in the context of having responsive realtime comms. You could use TCP but then generally you'd use a central server as the hub for comms between clients, alternatively you'd need a stateful socket between every peer in the game. Consider the event of a socket being dropped - the game would halt for everyone while the two peers with the dropped socket renegotiate the connection. Dropping command packets is a much better compromise.
The GPG networking programmers aren't amateurs, they knew what they were doing. Rest assured that they investigated every option and settled on the best solution.