Some notes regarding SC2 networking - Page 3
Forum Index > SC2 General |
UmmTheHobo
United States650 Posts
| ||
theqat
United States2856 Posts
On March 25 2010 06:33 mgj wrote: Cool, had no idea. Disregard my link everyone. R1CH is obviously a clever guy, but i really dont agree with this mentality. If you disagree with him, why hold back because of his status on the site? He seems like a reasonable guy, the worst thing that could happen is a good discussion where both parties end up understanding the issue better. edit: Need to figure out how to include usernames in quotes =P both you and r1ch responded saying you didn't like my attitude but neither of you found skaff's post worth responding to I wouldn't have made that comment if his post had seemed worthwhile | ||
Zelniq
United States7166 Posts
the lag is the one thing that's kept me from getting full enjoyment out of the beta.. but your Latency improvement fix has made a huge difference..feels much faster now..almost like lan latency!! you sir are a hero!!!!!!! | ||
FrostedMiniWeet
United States636 Posts
| ||
lynx.oblige
Sierra Leone2268 Posts
| ||
Razamataz
Canada135 Posts
| ||
Skaff
United States240 Posts
On March 25 2010 09:09 FrostedMiniWeet wrote: I think that the UDP latency benefits are mostly negligible with todays broadband connections, but the biggest benefit that TCP has over UDP is congestion control and flow control. You mention how TCP has to resend data if it gets dropped, but a UDP solution would have to do the same, since this isn't a video stream where if we lose packets it doesn't really matter. UDP solutions will lose more packets than TCP solutions under network congestion because it doesn't throttle sending to account for it like TCP. I wrote a networked multiplayer asteroids-like game a few years ago, and we chose TCP for these reasons. Thats kind of the assumption I was on as well. But then again (being since I have done no heavy network code myself) you can push some extra juice out of getting the both out of both worlds. As far far as the "not knowing R1CH" comment.. I have no issues if I can bring up a point and have it get shot down (as long as I have some kind of angle with my point). I am far from all knowing (sadly). Heck I might learn a thing or two from him as well! | ||
cowsrule
United States80 Posts
Edit: Woo run-on sentence, if that's not clear let me know and I'll rephrase . | ||
Beardfish
United States525 Posts
| ||
McCain
United States187 Posts
On March 25 2010 05:00 R1CH wrote: Architecture Stacraft 2 games run using a server, similar to HoN - not peer to peer as the original BW does. This means that Blizzard is the one hosting the games, not you (note: custom games were not tested). Highly doubt this. Blizzard has never hosted games for a free service (WoW's pay to play obviously) because it'd cost them a ton of money to maintain, for no real reason. Can't see why they'd be hosting the games this time around. | ||
Ruthless
United States492 Posts
| ||
Spawkuring
United States755 Posts
On March 25 2010 09:45 McCain wrote: Highly doubt this. Blizzard has never hosted games for a free service (WoW's pay to play obviously) because it'd cost them a ton of money to maintain, for no real reason. Can't see why they'd be hosting the games this time around. Just because it's hosted server-wide doesn't mean that it must have a monthly fee. WoW costs a lot because it's a persistent world and MMOs tend to be extremely demanding. Just look at this link for a glance at what WoW requires. http://www.worldofraids.com/topic/14011-austin-game-developers-conference-the-universe-behind-world-of-warcraft/ SC2 is unlikely to have a monthly fee because it would look very bad for Blizzard compared to the competition. All MMOs have monthly fees, but not all RTSs do. It's going to be a lot harder to sell a game that asks for $15 a month when there's many other games in the same genre that don't have such fees. Heroes of Newerth in particular isn't even going to cost a full $50. | ||
FrostedMiniWeet
United States636 Posts
The point of UDP vs TCP is that with UDP, you can write your own code on top of UDP to make it reliable, and since you know exactly the kinds of data that you are sending over the wire and since each packet does not have to be processed in order, you don't have to wait for out of order chunks to arrive before continuing to process incoming packets. Yes, the overall overhead of the TCP headers is almost negligible on todays broadband, but using your own reliable UDP helps prevent spikes in the case of dropped/missing TCP chunks. Edit: Woo run-on sentence, if that's not clear let me know and I'll rephrase . I totally understand that logic, but under good network conditions, even a custom reliable UDP implementation has negligible performance benefits when there is a constant steady flow of traffic between endpoints. re-transmission rates are very low under decent conditions, and with a constant flow of data between endpoints (which starcraft has) acks are essentially free because they ride on the backs of data that's being sent anyway. Starcraft has no need of the bursty benefits of UDP, and under poor network conditions, unless a custom reliable UDP solution also implemented flow and congestion control (which would effectively make it a TCP implementation), then network performance goes to hell very quickly. The flow and congestion control of TCP give it a graceful and steady degradation of gameplay in accordance with network degradation, without sacrificing much to UDP under good conditions. The best custom UDP implementation will be only slightly better in good network conditions, but TCP will be far superior under bad conditions. TCP is becoming more and more common in games nowadays, and its just so much easier to deal with also. | ||
R1CH
Netherlands10340 Posts
On March 25 2010 09:45 McCain wrote: Highly doubt this. Blizzard has never hosted games for a free service (WoW's pay to play obviously) because it'd cost them a ton of money to maintain, for no real reason. Can't see why they'd be hosting the games this time around. Diablo 2? | ||
TerranUp16
United States88 Posts
I'm a college student living on campus at the moment, and that sounds bad at first but we actually have pretty insane internet that is pretty consistently around 17mb/s down (sometimes ridiculously more) and 5mb/s up. Downloads are almost instant, pings are always low, and everything really just works great. Until the StarCraft 2 Beta. Between ~2pm and ~2am EST I just get insane amounts of lag on Bnet 2.0, as does my roommate and my friend (whom many of you may know) Whiplash who lives in the same tower as myself and my roommate, just a few floors up. SC2 Beta seems to be the only game that causes problems as (don't cringe at the list of games I'm about to reel off xD) Dawn of War 2 and by extension Games for Windows Live work perfectly fine during that period, server-based FPS games (I wouldn't happen to know if P2P crap like Modern Failfare 2 and such work as I try to avoid those), Demigod (uses some proxy servers hence why I bother mentioning it), Brood War's Bnet, ICCUP, WC3 Bnet, etc... all work fine during that time and all others. Long story short, myself, my roommate, and Whiplash tried the recommended tweaking of Acks and found no improvement in the crippling lag and disconnects. I'm not really sure if it got worse as although we were getting worse, choppier lag, it was also later in the day (seems to get worse up until like 11pm and then it gets better). Not really asking for help as technically our internet is filtered through the campus network and so ostensibly there could be something funky going on there (would be weird considering that literally nothing else has such an issue with that) and/or it's some odd issue on Blizzard's end, just figured I'd report on the results of attempting to use the suggested solution in the hopes it might be useful somehow (shrug). | ||
Mystlord
United States10264 Posts
| ||
sword_siege
United States624 Posts
On March 25 2010 09:47 _rdm_ wrote: how do you check your ping in game? Hello RDM, I'm not sure how the pros would do it but any packet sniffer would do. Personally, I would use WireShark but this isn't my area of expertise. Edit - forgot to pay my respects to R1CH. Fantastic write up. You have a knack for taking complex problems and presenting them in plain English. | ||
Zanno
United States1484 Posts
| ||
R1CH
Netherlands10340 Posts
On March 25 2010 10:26 Zanno wrote: Diablo 2 doesn't have a persistent world like WoW does, so most of the network code is offloaded on the players. It's much easier to keep track of inventories than it does to run a few thousand mobs. By your own argument, SC2 has even less to keep track of - no persistent state to consider. None of the D2 netcode is "offloaded", all players connect to the Diablo 2 game server - it isn't a routed P2P system. Teleporting through several levels in Hell in D2 will generate more units than a typical SC2 game. | ||
MasterReY
Germany2708 Posts
Is there any way to check my latency ingame, so i can check if its better after r1ch's help? :D Awesome thread r1ch btw ! Your great !!!! | ||
| ||