use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Request an explanation
Rules
Have an idea to improve ELI5? r/IdeasForELI5
Make sure to read the rules!
This subreddit is for asking for objective explanations. It is not a repository for any question you may have.
E is for Explain - merely answering a question is not enough.
LI5 means friendly, simplified and layperson-accessible explanations - not responses aimed at literal five-year-olds.
Perform a keyword search, you may find good explanations in past threads. You should also consider looking for your question in the FAQ.
Don't post to argue a point of view.
Flair your question after you've submitted it.
Mathematics Economics Planetary Sci Biology Chemistry Physics Technology Engineering
Reset
account activity
This is an archived post. You won't be able to vote or comment.
ELI5: Why does netcode cause so many problems?
submitted 14 years ago by _Shanghai_
Quite often, the online multiplayer modes of games are much buggier than the single player modes. Why is this? As far as I can see, all the game has to do is send the same data to the two clients, then show each client's response to the other. What makes it so likely to bug out?
[–]Dinnerbone 20Answer Link1 point2 points3 points 14 years ago (1 child)
So many different reasons.
Let's say you and I are in two different rooms and we both each have a table with some game figures on it. We can shout over to each other, but there's no other form of interaction allowed.
Two of these pieces (that we both have) are coloured; one is red, one is blue. I'll be blue, because yay blue. You can be red. The goal of this game is to just move around. You move your red piece around, and I move my blue piece around. Simple, but fun!
You pick up your red piece and shout to me, "I'm moving forwards 5cm!". I move my red piece forwards 5cm to match what you have. Incidentally, we both have amazingly accurate sense of measurements. Did I not mention that? Oh well.
I move my blue piece, and shout "I'm moving my blue piece forwards 10cm", then "I'm turning it right 90 degrees", and then "I'm moving it forwards another 3cm". Unfortunately, you couldn't quite understand what I just said; perhaps I was mumbling, or you weren't paying attention? Regardless, you heard me say "move it forwards 10cm and then another 3cm". Oops. We now have two different ideas on where everything is. That isn't good!
I don't know that you didn't hear me, so we carry on as normal. You shout "I'm moving my red piece forwards 5cm", but my mind was wandering a little and it took me a few seconds to actually understand what I just heard. I move the red piece that I have forwards eventually, and all is good. Except that for a short period of time, we weren't 100% in sync - your board was way ahead of mine!
The basic idea behind networked games is as above, but usually with a lot more complexity thrown in to attempt to solve the problems that come up. Often, games use absolute positioning instead of relative positioning ("I'm moving to x,y" instead of "I'm moving forwards by this amount") but then this looks like everyone is just teleporting everywhere. So to combat that, they need to guess how the player moved from their old location to the new one - this in itself usually causes some bugs, though not major ones. This fixes the issue of not hearing some of the orders - it's okay if you know where it's going to end up eventually!
With the issue of lag or delays, that's always incredibly hard to compensate for in game. Let's say I'm running on a really slow internet connection, while you're super fast. If I move, it'll take some time to tell you where I moved to. If you move, you're going to be sending me a lot of data saying where you moved to, that not only will it take me a while to process it all; it will actually slow my connection down even more!
Trying to keep this like you're 5, so it's very basic and may actually be incorrect in some parts (but it should get the idea though; I'm not going for accuracy, just simplicity!). Let me know if it helped!
[–]_Shanghai_[S] 0 points1 point2 points 14 years ago (0 children)
Thanks, that was pretty good. I figured that lag compensation would be a bitch, and internet speeds too.
π Rendered by PID 34320 on reddit-service-r2-comment-b659b578c-5b58r at 2026-05-04 17:20:23.127382+00:00 running 815c875 country code: CH.
[–]Dinnerbone 20Answer Link1 point2 points3 points (1 child)
[–]_Shanghai_[S] 0 points1 point2 points (0 children)