Skip to main content
Deep DiveNetcode ArchitectureTrade-Off Analysis· 5 min read· in Gaming & Esports

Why Real-Time Multiplayer Games Discard TCP for Custom UDP Netcode

To maintain a 60Hz server tick rate without cascading latency, competitive multiplayer games abandon the internet's default transmission protocol in favor of raw datagrams. By trading guaranteed delivery for speed, developers eliminate head-of-line blocking and build custom reliability layers directly into the application.

By Ryder James

Network Engineers 45%Academic Researchers 35%General Systems Architects 20%
Network Engineers
Prioritize custom application-layer reliability to eliminate head-of-line blocking in real-time environments.
Academic Researchers
Focus on empirical measurement of protocol efficiency, bandwidth overhead, and latency under controlled congestion.
General Systems Architects
Advocate for TCP's built-in guarantees for non-real-time applications where data integrity outranks microsecond delivery.

Perspectives this story doesn't cover

  • Game Engine Providers
  • Consumer ISP Network Administrators

The competing cases

Raw UDP (Fire-and-Forget)

Transmitting data with zero delivery guarantees to achieve the lowest possible latency.

FOR: Absolute minimum latency and lowest bandwidth overhead (8-byte header). Packets are dispatched and processed immediately upon arrival, ensuring the client always has the most recent state available without waiting for delayed data. AGAINST: No built-in mechanism to recover lost data, ensure packets arrive in the correct order, or prevent network congestion. A dropped packet is gone forever. EVIDENCE: GeeksforGeeks notes that UDP is preferred when speed is critical and occasional data loss is acceptable, such as in live video streaming or raw positional updates. FITS WELL WHEN: Transmitting highly frequent, ephemeral data where older packets are immediately invalidated by newer ones, such as a player's current X/Y coordinates or the camera's look angle. DOES NOT FIT WHEN: Transmitting critical, one-time events like a player spending currency, sending a chat message, or triggering an ultimate ability.

Reliable UDP (Application-Layer Reliability)

Building custom delivery guarantees on top of UDP to selectively protect critical game events.

FOR: Provides the speed of UDP while allowing developers to flag specific packets (e.g., 'weapon fired') for guaranteed delivery. Eliminates head-of-line blocking because a lost 'weapon fired' packet only delays that specific event, not the incoming positional updates for the rest of the world. AGAINST: Requires immense engineering effort to build and maintain. Developers must manually write the logic for sequence numbers, acknowledgments, and retransmission timers that TCP provides for free. EVIDENCE: MDPI research demonstrates that RUDP solutions can reduce latencies by up to 34% compared to TCP in congested networks by selectively dropping outdated state information. FITS WELL WHEN: Building complex, fast-paced multiplayer environments (shooters, MOBAs, fighting games) where different types of data require different levels of reliability. DOES NOT FIT WHEN: Development resources are strictly limited, or the game's mechanics do not require sub-100ms reaction times.

TCP (Guaranteed Delivery)

Relying on the internet's default protocol to ensure every byte arrives perfectly in order.

FOR: Flawless data integrity. The protocol automatically handles packet loss, retransmission, ordering, and congestion control at the operating system level, requiring zero custom networking code from the game developer. AGAINST: Head-of-line blocking creates severe latency spikes. A single dropped packet halts the entire data stream until the packet is retransmitted and acknowledged, freezing the game state for the player. EVIDENCE: Gaffer On Games emphasizes that TCP's abstraction of the network into a reliable stream fundamentally conflicts with the time-sensitive nature of real-time action games. FITS WELL WHEN: Developing turn-based strategy games, digital card games, asynchronous mobile titles, or handling out-of-match infrastructure like matchmaking servers and login authentication. DOES NOT FIT WHEN: The game requires real-time physics synchronization, hit registration, or a server tick rate higher than 10Hz.

Real-time multiplayer games transmit data using the User Datagram Protocol (UDP) rather than the Transmission Control Protocol (TCP) because TCP's mandatory guaranteed delivery creates game-breaking latency spikes the moment a single packet drops. When a network loses a TCP packet, the protocol halts all subsequent incoming data until the missing information is successfully retransmitted, freezing the local game state while the server waits.[1][5]

In a competitive shooter or fighting game running at a 60Hz server tick rate, the server dispatches a new world state every 16.6 milliseconds. If a player's connection drops just one of those updates, TCP's architecture forces the client to wait for a round-trip retransmission—often 50 to 100 milliseconds—before processing the newer packets that have already arrived.[1]

"The problem with using TCP for real-time games is that it abstracts network communication into a reliable, ordered stream of data," writes network programmer Glenn Fiedler in his foundational 2008 analysis of game networking. "If a packet is lost, TCP will stop and wait for that packet to be retransmitted."[1]

This phenomenon, known as head-of-line blocking, is the primary reason the $180 billion gaming industry discards the internet's default transmission protocol. While TCP flawlessly loads web pages and streams video by ensuring every byte arrives in perfect order, it fundamentally misunderstands the temporal nature of a live multiplayer environment.[1][5]

TCP's mandatory 20-byte header carries significant overhead compared to UDP's lightweight 8-byte structure.

In a live match, data has a strict expiration date. If a server sends a packet stating an enemy player is at coordinates X and Y, and that packet is lost in transit, retransmitting it 80 milliseconds later is useless. By the time the delayed packet arrives, the enemy has already moved.[4]

UDP solves this by stripping away the guarantees. It is a connectionless, fire-and-forget protocol. A UDP packet carries an 8-byte header—compared to TCP's 20-byte minimum—and simply hurls the payload at the destination IP address without waiting for an acknowledgment.[5]

If a UDP packet drops, the protocol does not care. The game client simply accepts the loss and processes the very next packet that arrives, interpolating the missing 16.6 milliseconds of movement to keep the visual experience smooth.[1][4]

However, raw UDP is too chaotic for a complete game state. While a dropped movement update is easily ignored, a dropped packet containing a sniper rifle firing, a health pack being consumed, or a chat message being sent breaks the game logic entirely.[4]

During minor packet loss, TCP introduces severe latency spikes while UDP maintains a stable connection.

To bridge this gap, network engineers build custom reliability layers directly on top of UDP, creating what the industry calls Reliable UDP (RUDP). This approach allows developers to categorize data into distinct channels, applying guaranteed delivery only to the specific actions that require it.[4]

To bridge this gap, network engineers build custom reliability layers directly on top of UDP, creating what the industry calls Reliable UDP (RUDP).

A 2018 study published in the MDPI journal Electronics quantified this hybrid approach, demonstrating that an RUDP implementation could reduce average latency by 34% compared to a pure TCP connection during periods of network congestion.[3]

"By implementing reliability at the application level, game developers can decide exactly what data needs to be resent and what data can be safely discarded," notes the technical breakdown from iThare. This selective retransmission ensures that a dropped movement packet never delays a critical weapon firing event.[4]

The bandwidth savings are equally critical at scale. A massive multiplayer online game or a 100-player battle royale generates immense traffic. Researchers analyzing popular online games found that the constant stream of small, time-sensitive packets makes TCP's overhead mathematically punishing for server infrastructure.[2]

With TCP, the mandatory 20-byte header attached to every single transmission adds up. At 60 packets per second, that header alone consumes 1,200 bytes per second per client. For a server hosting 100 players, that is 120 kilobytes per second of pure overhead, before a single byte of actual game data is transmitted.[5]

Head-of-line blocking occurs when a single dropped TCP packet halts the entire data stream until it is retransmitted.

UDP's 8-byte header slashes that baseline overhead by 60%. While the application-layer reliability adds its own bytes back into the payload, the developer controls exactly how and when that overhead is applied, rather than accepting TCP's blanket tax on every transmission.[4][5]

Empirical evaluations of TCP performance in online games repeatedly confirm its unsuitability for twitch-based mechanics. A study analyzing TCP in fast-paced environments found that even a 1% packet loss rate on a standard broadband connection resulted in latency spikes exceeding 200 milliseconds—a delay that renders competitive play impossible.[6]

This forces a strict architectural divide in game development. Turn-based strategy games, digital card games, and asynchronous mobile titles can safely rely on TCP, as a 200-millisecond delay in drawing a card is imperceptible to the player.[1][6]

At 60 packets per second, TCP's header alone consumes 1,200 bytes per second per client before any game data is sent.

But for any title where human reaction time dictates the outcome—where a 15-millisecond advantage wins a gunfight—the network architecture must prioritize recency over completeness. The server must be allowed to forget the past to deliver the present.[1][4]

The dominance of UDP in real-time gaming is a triumph of specialized engineering over generalized standards. By rejecting the internet's built-in safety nets, developers take on the immense burden of managing packet loss, ordering, and congestion control themselves.[4][7]

That burden is the hidden cost of modern esports. Every smooth character animation, every registered hit, and every perfectly timed parry relies on a custom-built protocol racing across the internet, dropping the data that no longer matters to deliver the frame that does.[7]

20 bytes
TCP minimum header size
8 bytes
UDP header size
16.6 ms
Time between packets at 60Hz
34%
Latency reduction using RUDP vs TCP
1,200 bytes/sec
TCP header overhead per client at 60Hz

Sources

Source coverage

7 outlets

3 viewpoints surfaced

Network Engineers 45%Academic Researchers 35%General Systems Architects 20%
  1. [1]Gaffer On GamesNetwork Engineers

    UDP vs. TCP

    Read on Gaffer On Games
  2. [2]ResearchGateAcademic Researchers

    A traffic characterization of popular on-line games

    Read on ResearchGate
  3. [3]MDPIAcademic Researchers

    Reliable User Datagram Protocol as a Solution to Latencies in Network Games

    Read on MDPI
  4. [4]iThareNetwork Engineers

    Why do game developers avoid TCP and make UDP reliable in the application level?

    Read on iThare
  5. [5]GeeksforGeeksGeneral Systems Architects

    When is UDP preferred to TCP?

    Read on GeeksforGeeks
  6. [6]ResearchGateAcademic Researchers

    An empirical evaluation of TCP performance in online games

    Read on ResearchGate
  7. [7]Factlen Editorial Team

    Synthesis by Factlen editorial team

    Read on Factlen Editorial Team

Comments

Stay informed

Every angle. Every day.

Get Gaming & Esports stories with full source coverage and perspective breakdowns delivered to your inbox.