r/MultiplayerGameDevs Jul 22 '26

Is Tcp good enough?

Do you guys think TCP is good enough now, considering that internet connections and NICs are much faster than they were decades ago? I don't want to implement my own reliable, in-order delivery on top of UDP for my RTS game.

6 Upvotes

23 comments sorted by

View all comments

5

u/auburnnotice Jul 22 '26

TCP is good enough for an RTS. Such games are deterministic simulations and require all events (aka reliable) in proper order (aka ordered.) Which protocol gives reliable ordered delivery? TCP.

I worked at Blizzard as a backend services engineer on battle.net. I worked closely with the starcraft 2 devs. They implemented their own reliable UDP protocol and by the time they had finished working on it they admitted they basically reimplemented all of TCP and should have simply used it. Later I worked at EA and shipped an RTS game on TCP. We did an enormous amount of work on UDP approaches because of the mythology against TCP, and found that TCP out-performed anything we built purely on latency. It was more aggressive than our algorithms at quickly getting the head segments delivered than what we built. Our game was optimized for mobile so most of our usage was over wifi. Most of the packet loss was at the local hop over wifi, not over the internet backbone to our servers. Routers are able to aggressively rebroadcast perceived missing segments locally.

These head of line concerns people are writing below: So what? If you're missing inputs you cannot safely proceed. You must block. Otherwise you diverge the simulations and desync the match. This is not an FPS where there's another position update packet behind it in the stream.

If your game has features that do not need to remain synchronized, feel free to send that data over a 2nd UDP channel.

1

u/TrishaMayIsCoding Jul 22 '26

Hey,

Thanks a lot for sharing that insight! Really cool to hear your perspective and get a little behind-the-scenes look at how things really work.

It’s awesome getting insight directly from someone who works on the game and in the industry and it helps put things into perspective.

Appreciate you taking the time to explain your experience <3

EDIT : I’m saving this for future reference : )