Recently I posted a blog asking what people’s speed test rating:
Lots of interesting data there.
Most people tend to only think about their download speeds and little about their upload speeds. But if you look, at that thread, a lot of people have marginal upload speeds as in well less than a single megabit.
Since I know I’m not a typical user, I talked to a friend of mine whose connection is about 2 megabits down but only .16 megabits up. Looking at that thread, there are quite a few people who are getting less than a half megabit up.
Then I asked him to open up task manager in Vista and open up networking:
I had him add more columns so I could see the bytes sent per interval. Turn out, he was already sending around 10k a second (bit torrent client in the background) plus a bunch of little tray items that occasionally tossed another 5k to 20k now and then. That’s kilobytes btw.
Now, when you see that you have say a 0.2 megabit upload speed, that means your system tops out at 25k per second.
Demigod, being a game that is synchronous (what you see on the screen is the same as what other people see) uses 1k per second up to over 20k per second as you add players. And it’s not linear. I.e. it takes a lot more to handle 8 people than 6 people and a lot lot more to do 10 people than 8.
So let me ask you a question: What do you think the in-game behavior would look like if you’re playing someone who has an internet connection that can’t do more than 0.4 megabit upload in an 8 person game? Their sim speed would be fine. Depending on the way their system handles ping requests their ping might be fine or it might quickly jump to several seconds to respond. Toss in some “security” programs that sniff every packet coming in to that too.
Now luckily, there are some things that can be done about this.
First, there’s just plain awareness. Since I’m always in debug mode, whenever I get into a game that’s “stuttering” I ask if anyone is running any network programs. I usually end up finding out that someone has bit torrent running in the background but they have a “5 megabit” connection.
You know, 5 megabit like this:
Second, it’s pretty clear (to me anyway) that we’re going to have to make some tools that are accessible in game that will help identify people who are (need a new term) band-lagging out. They might have a great ping (26ms for instance) but they can’t play with 8 people unless they turn off the other junk they have going on.
Third, we can look for ways to reduce the amount of data being sent across. I’m not privy to the network traffic but I do know that things like the friends list and chat windows in game and such do add to the mix.
Fourth, those who have seen people disconnect during the middle of the game can open up task manager (on Vista) and do what I asked my friend to do. It’s the type of thing that might help people with other games too. I suspect my friend’s Word of Warcraft experience will improve after I told him to turn off some of the junk he had loaded.
One of the things I’ve learned during Demigod’s release is just how unaware some people are on how this stuff works. You’ll get someone with a connection like what I showed above saying “Well, Left 4 Dead works fine!”. Well, of course, you’re connecting to a dedicated server in a non-synced game. A first person shooter is a totally different system than a strategy game.
I had one user I was talking to who was telling me how “broken” networking is in Demigod because every time he plays he lags out. I asked him a few questions and eventually discovered that he has an Xbox 360 and is almost constantly downloading movies from Xbox Live. When I brought that up, he said “But that’s on a different network cable.”
I highly recommend looking at that thread though:
It’s very educational.