Why lag sucks in online games




Reading up on the netcode issues for BattleField 4 I've been astonished by the complexity of it all and am often amazed that any online gaming works at all.

Thing happens on my screen, flies across internet to main server, thing happens on other screen at same time, end resolution between two events is decided and sent to 64 people at the same time. While this is happening for 62 other people and vehicle physics while a hurricane blows in.

Sometimes I'll just hang out in a game and watch the trees, the mechanics are pretty amazing.


Try BDW.

We have days of lag.


It's a feature, not a bug!


This seems a bit like an article in 1930 explaining why automobiles are horrible. Sure, you can support that argument but

1) There have been people making online "fast-twitch" multiplayer games that are good enough for almost 20 years now (since Quake, at least). And

2) Releasing a screed about how online fast-twitch games are not good is a bit off-putting for those of us who prefer to play with our online friends, and have been doing so for many years with many different titles.

That said, it's their decision. I'm not interested in buying a game like this without online multiplayer, and apparently they're so uninterested in selling it to me that they're willing to call me wrong-headed in an interview.


Yes, and the article mentions first-person shooters and why lag compensation works reasonably well for them.

This isn't actually about how online fast-twitch games aren't good, but that in order to be good they should be built with online in mind, and not all mechanics are as suitable for adding it. I thought it made a much better point than you give credit.


You're missing the point. In games like Quake, with individual 3D viewpoints, things are a lot more subjective. If my computer says my bullet hit you, and your computer says it didn't, we go with what my computer says. because I can clearly see that my crosshairs are centered on your chest, but you probably can't see that my gun is pointed half a degree to your left. Nobody sees anything unexpected, so everyone is happy.

With a 2D game like Towerfall, it's different. Everyone should be seeing exactly the same information, from a Godlike outsider's viewpoint, at all times, so it's painfully obvious when things don't match. If you can clearly see that my arrow missed you by two pixels, you're going to be pretty unhappy when it registers as a hit. If we go the opposite way, then I'm unhappy when I saw my arrow hit you but the game says it didn't.

Good netcode and purposeful game design can hide lag, but they can't fix it. The laws of physics and of networking hardware mean that there is always going to be a detectable ping delay between two sites a few hundred miles apart, no matter how good the connection.


An oldie but goodie, the efforts that Starsiege Tribes went to for optimizing their network:

And this one, on how MotoGP ended up using UDP and creating their own reliable stack that worked better for them than TCP: http://www.gamasutra.com/view/feature/131240/motogp_online_an_xbox_live_launch_.php?page=2

The interesting thing is that latencies can't get too much better, especially when doing peer-to-peer, due to physics and speed-of-light as an upper boundary. These older papers are nearly as relevant today as when they first came out (which was an eternity ago in Internet years).

I have high hopes that co-located cloud servers (Microsoft's big push) will get us to the next stage in low-latency gaming with minimal investment, and the TitanFall beta seemed to be successful there.


apparently they're so uninterested in selling it to me that they're willing to call me wrong-headed in an interview.

I think you are reading hostility into the article that isn't there.
I didn't see anything implying that you're wrong for enjoying the games that you do, or that playing online is bad. You are OK and your preferences are valid.


Foddy has done a great job of describing the issues involved. Even with a small game, adding robust online multiplayer can easily add a year to development. For this game that would result in, at best, a highly degraded experience. As a small developer, it's hard to justify the time and expense if you could spend that time making another game instead.


This topic was automatically closed after 5 days. New replies are no longer allowed.