Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #329

G

Glenn Fiedler

Personal blog · gafferongames.comgamesprogramming

Glenn Fiedler writes Gaffer On Games, a personal blog at gafferongames.com about games and programming. Since 2009, 159 different Hacker News readers have linked it 198 times, most often “Floating Point Determinism”. The last post was in 2020, but the archive is still widely read.

Visit the blog
198mentions?
18recommend?
159HN people?
2009–2026first – last linked?
Links on Hacker News per year · peak 31 in 2016

Often recommended · 18 of 40 sampled comments recommend it?

Why HN links it

HN readers link Gaffer On Games for its game networking and game physics articles, including the fixed timestep and floating-point determinism posts, which commenters call a must read.

Recommended for · 18 comments
Called a must read and outstanding, and a great reference for networking and physics; one commenter calls the timestep article the best solution.

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Glenn Fiedler's game development and networking articles

Most-linked posts?

  1. Floating Point Determinism
    14 people · 15 mentions · first linked 2010-03-01
  2. Fix Your Timestep
    14 people · 14 mentions · first linked 2009-04-28
  3. What every programmer needs to know about game networking (2010)
    14 people · 14 mentions · first linked 2010-01-25
  4. Fix Your Timestep
    14 people · 14 mentions · first linked 2017-10-26
  5. Gaffer on Games
    10 people · 10 mentions · first linked 2017-08-21
  6. Networking for Game Programmers
    10 people · 10 mentions · first linked 2011-10-15
  7. What Every Programmer Needs to Know About Game Networking
    7 people · 7 mentions · first linked 2019-11-19
  8. UDP vs TCP
    6 people · 7 mentions · first linked 2010-10-29
  9. Game Physics – Integration Basics
    6 people · 6 mentions · first linked 2010-10-06
  10. Is it possible to make floating point calculations completely deterministic?
    6 people · 6 mentions · first linked 2017-11-07

What Hacker News says?

  1. You don't need to know much (if anything) about PDEs. If you've taken an undergrad class in classical mechanics, you'll do just fine. If you're interested specifically in game physics using Verlet integration, http://web.archive.org/web/20100111035201/http://www.tekniku... is a nice reference. Most of the springy-cloth demos use Verlet integration. Here's a short series on 3D game physics that doesn't rely on a Verl…

    Comment linking /game-physics/

    on “Tearable Cloth Simulation in JavaScript”
  2. Submitted UDP vs TCP as a story · 453 points

    HN discussion
  3. Yep, definitely not new tech. (You probably know this next bit, but just for anyone scrolling by). Having your server verify every action is the only way to prevent hackers from simply sending a packet that says "I got a headshot on that guy". Instead the server replays through all their actions. You never say you got a headshot, you just say when you clicked and the server figures out if you hit. And because like y…

    Comment linking /post/what_every_programmer_needs_to_know_about_game_networking/

    on “When will Google shut down Stadia?”
  4. Submitted Never trust the client as a story · 360 points

    HN discussion
  5. drawkbox · 2021-02-03Recommends
    When you get to game networking Gaffer On Games is a must read. Efficient game networking layers are all about that UDP [2] and reliable UDP [3]. When web games were huge it would have been pure gold to have WebRTC with built in UDP, NAT/punchthrough etc. [1] https://gafferongames.com/ [2] https://gafferongames.com/post/reliability_ordering_and_cong... [3] https://gafferongames.com/post/reliable_ordered_messages/

    Comment linking /post/reliable_ordered_messages/

    on “Computer Graphics from Scratch”
  6. Submitted Is it just me or is networking really hard? as a story · 347 points

    HN discussion
  7. @lucaspiller: http://gafferongames.com/networked-physics/introduction-to-n...

    Comment linking /networked-physics/introduction-to-networked-physics/

    on “Voxel.css”
  8. Submitted Fixing the Internet for Games as a story · 172 points

    HN discussion
  9. https://gafferongames.com/#posts Specifically: https://gafferongames.com/post/networked_physics_2004/ https://gafferongames.com/post/what_every_programmer_needs_t...

    Comment linking /post/what_every_programmer_needs_to_know_about_game_networking/

    on “How Do Bullets Work in Video Games?”
  10. Submitted Fix Your Timestep as a story · 131 points

    HN discussion
  11. Indeed, nearly all FPS/MMO/RTS games are realtime and need UDP, only some messages need to be reliable/ACK'd or ordered and TCP is overkill except for turn based games. Real-time games have to be UDP or more typically a variation of Reliable UDP (RUDP) [1]. Many networking kits are based on reliable UDP and common early implementations as the core/base of their network layers such as enet [2] or RakNet [3] (Unity, U…

    Comment linking /post/why_cant_i_send_udp_packets_from_a_browser/

    on “Some notes about HTTP/3”
  12. Submitted What every programmer needs to know about game networking (2010) as a story · 129 points

    HN discussion
  13. spacechild1 · 2025-11-07Recommends
    Just wanted to say that I really appreciated your articles about game networking and game physics ( https://gafferongames.com/ )!

    Comment linking /

    on “Game design is simple”
  14. Submitted Reliable Ordered Messages as a story · 85 points

    HN discussion
  15. Basically everyone there uses client based prediction models (for your and enemies actions). See also: https://gafferongames.com/post/what_every_programmer_needs_t... https://developer.valvesoftware.com/wiki/Source_Multiplayer_...

    Comment linking /post/what_every_programmer_needs_to_know_about_game_networking/

    on “"Google Stadia is not a product that exists because people want it"”
  16. Submitted Snapshot Compression as a story · 71 points

    HN discussion
  17. Some games do it differently, but evmar's advice matches recommendations that I've seen for game engines[0]. [0] https://gafferongames.com/post/fix_your_timestep/

    Comment linking /post/fix_your_timestep/

    on “iTerm2 has a new drawing engine that uses Metal 2”
  18. Submitted Deterministic Lockstep for Networked Games as a story · 63 points

    HN discussion
  19. Terr_ · 2024-05-24Recommends
    To dredge up a related oldie-but-goodie memory of blog posts: https://gafferongames.com/categories/game-physics/

    Comment linking /categories/game-physics/

    on “2D Rigid Body Collision Resolution”
  20. Submitted Floating Point Determinism as a story · 47 points

    HN discussion
  21. The simplest numerical approximation method is Euler's method. It also tends to be unstable. Personally I prefer to just throw a fourth order Runge–Kutta (RK4) at things and normally that's more than good enough. List of reading: http://gafferongames.com/game-physics/integration-basics/ http://en.wikipedia.org/wiki/Euler_method http://en.wikipedia.org/wiki/List_of_Runge%E2%80%93Kutta_met... http://mathworld.wolfram.…

    Comment linking /game-physics/integration-basics/

    on “Gravity Simulator”
  22. Submitted Building a Game Network Protocol: Reading and Writing Packets as a story · 20 points

    HN discussion
  23. Different machines have different internal precision. See http://gafferongames.com/networking-for-game-programmers/flo... Games I've worked on have used libraries e.g. http://nicolas.brodu.net/programmation/streflop/index.html

    Comment linking /networking-for-game-programmers/floating-point-determinism/

    on “What happens if you remove randomness from Doom?”
  24. Submitted Fix Your Timestep as a story · 16 points

    HN discussion
  25. If only. Even something as simple as this, where x and y and a are floating-point values: if( a == x/y ) assert( a == x/y ); Is legally allowed to trigger (!). Worse, it's also legally allowed to not trigger. That's right. The above can be legally compiled to always trigger, or never trigger, or even to sometimes trigger (although this is rare in practice). Why? C / C++ allow floats to be stored with excess precisio…

    Comment linking /networking-for-game-programmers/floating-point-determinism/

    on “What happens if you remove randomness from Doom?”
  26. Submitted Introduction to Networked Physics as a story · 14 points

    HN discussion
  27. Technically, maybe, sort of. http://gafferongames.com/networking-for-game-programmers/flo...

    Comment linking /networking-for-game-programmers/floating-point-determinism/

    on “What happens if you remove randomness from Doom?”
  28. Submitted Libyojimbo: Library for creating secure client/server network protocols over UDP as a story · 12 points

    HN discussion
  29. > No you can't since netcode.io authenticates packets with a public/private key pair and a sequence id. If either the sequence id has been seen recently or key sig fails it won't accept the connection. How exactly do you think netcode.io knows that I own (or don't own) 151.101.193.67? What exactly do you think prevents me from modifying my own netcode.io server at 151.196.182.212 from listing that IP address as one…

    Comment linking /post/why_cant_i_send_udp_packets_from_a_browser/

    on “Clang runs in the browser and compiles C++ to WebAssembly”
  30. Submitted Networked Physics: State Synchronization as a story · 12 points

    HN discussion

Search all of HN for gafferongames.com

Linked by the same people?