We were lucky enough to be blessed with a shower of keys for Defcon this week: www.everybody-dies.com/
For those that haven't seen it, it's a kind of rts lite based around a strategic world map kind of like what you'd see in War Games and stuff like that.
When I say RTS lite, I mean that theres very few units, and theres no resource collection at all. You're assigned units at the start, and thats all you get. A bunch of silos that can either launch nukes or provide air defense, but not at the same time. Subs that can either launch nukes or take out ships, but not at the same time. Carriers that can either launch planes or take out subs, but again, not at the same time. Oh and fighter and bomber aircraft.
The games timed, so really dont go on for too long. The Defcon level starts at 5 and counts down to each level on a timer. At defcon 5 you can place units and do nowt else. Then defcon 4, radars active. Defcon 3, Can move units and engage boats and aircraft. Defcon2: Not really sure what changes here :) Defcon 1: you can nuke folks.
While you can play vs ai, its primarily a multiplayer game. The networking seems very solid, really easy to join and host games and theres a nice spectator mode too.
Visuals are very distinctive vector style, really striking. It all moves very fast and can look very impressive when things really kick off. Sound is superb, klaxons sound for defcon level changes, stuff like that.
It is flawed a bit. Unit selection is, as ever, a right pain in the tits. Unit movement speed can be a real pain, especially if you fucked up placement. If your fleets are in the wrong ocean, you're never going to be able to move them somewhere useful when the nukes start flying. Gameplay also often comes down to timing, which is fine as it goes, but can make it a bit chicken and egg.
Still, its a tenner, and ace fun. Well worth it.
Monday, 25 September 2006
Thursday, 21 September 2006
who's tightest, me or 02 [shedir]
Posted by
Dave
Wifey has a phone with 02, £19 a month contract usually averages about 2-3 quid a month higher than that.
Her contract expires next month, fancies the Samsung d900 as my sister got one and it's "lovely". Call 02 on her behalf to be told she can't have it as she doesn't spend enough on her contract.
I was pretty annoyed at that, but new punters can get one "yeah". Right gimme her pac code and I'll start a new contract, with you, and she'll get what she wants. For once in her life (boom tish).
Is it just me being tight, or is this really a dumb way for a company to behave. It's not like there's no competitors out there ffs!
Her contract expires next month, fancies the Samsung d900 as my sister got one and it's "lovely". Call 02 on her behalf to be told she can't have it as she doesn't spend enough on her contract.
I was pretty annoyed at that, but new punters can get one "yeah". Right gimme her pac code and I'll start a new contract, with you, and she'll get what she wants. For once in her life (boom tish).
Is it just me being tight, or is this really a dumb way for a company to behave. It's not like there's no competitors out there ffs!
Labels:
Other
Sunday, 17 September 2006
Hardcore Humor [shedir]
Posted by
Dave
I like my jokes to be close to the bone, close to offensive to some if not actually offensive. Belters with BITE.
I've watched "the aristocrats" with glee, unashamedly disgusting humor. As low as you can go, then get a shovel out and dig up that rellie and fuck em up the ass, low.
So with a happy gait I went off to the Citizens Theatre to see Jerry Sadowitz. By god he takes no prisoners, beginning the act telling everyone to fuck off and go home as we're all cunts.
Rattling through every ethnic minority or majority he can think of and telling them all where to go, hilarious shit. Great to see folk leaving in first 10 minutes too, an adult family in front of us shot off after 20 minutes.
His jokes about women and sex were crackin too, maybe I'll type some of the best stuff up and slap it in here but even the wifey was decking herself at most of it. The paedo stuff tho was the close to the bone shit, laughter died off for huge chunks of that. I suspected thats the section Jerry enjoys most, knowing folk can't believe what they're hearing.
"Gary Glitter is the greatest rock legend we have ever created, he should be allowed to fuck who he wants...when he wants...where ever he wants....with whatever he wants."
Any gays reading this your secret is out, according to Jerry the latest gay sex trend is taking a huge shit and slapping it in the freezer. Put condoms around either end of the big frozen turd and using it as a sex toy that both guys can enjoy. what the fuck!
Anyway, check out his tour and go along. You'll get a surprise at the ending which I'm not giving out, but got the biggest laugh of the night.
I've watched "the aristocrats" with glee, unashamedly disgusting humor. As low as you can go, then get a shovel out and dig up that rellie and fuck em up the ass, low.
So with a happy gait I went off to the Citizens Theatre to see Jerry Sadowitz. By god he takes no prisoners, beginning the act telling everyone to fuck off and go home as we're all cunts.
Rattling through every ethnic minority or majority he can think of and telling them all where to go, hilarious shit. Great to see folk leaving in first 10 minutes too, an adult family in front of us shot off after 20 minutes.
His jokes about women and sex were crackin too, maybe I'll type some of the best stuff up and slap it in here but even the wifey was decking herself at most of it. The paedo stuff tho was the close to the bone shit, laughter died off for huge chunks of that. I suspected thats the section Jerry enjoys most, knowing folk can't believe what they're hearing.
"Gary Glitter is the greatest rock legend we have ever created, he should be allowed to fuck who he wants...when he wants...where ever he wants....with whatever he wants."
Any gays reading this your secret is out, according to Jerry the latest gay sex trend is taking a huge shit and slapping it in the freezer. Put condoms around either end of the big frozen turd and using it as a sex toy that both guys can enjoy. what the fuck!
Anyway, check out his tour and go along. You'll get a surprise at the ending which I'm not giving out, but got the biggest laugh of the night.
Labels:
Humour
Friday, 15 September 2006
Top 5 Guilty Pleasure Albums [Spiny]
Posted by
Dave
I was flicking through my collection last night & had an 80s throwback moment. Got me thinking - what are my top 5 guilty pleasure albums. You know, ones that you don't crow about, but *really* take you back :)
#5 Offspring - Smash. Amusing US juvenile pretend punk.
#4 The Systers Of Mercy - Floodland. My neuromantic backlash.
#3 Ultravox - Vienna. Box jackets, baggy trousers, 1000 yard stares and eyeliner. How can it be wrong?
#2 Duran Duran - Rio. Perhaps the greatest pop album ever. And hot chicks on yachts.
#1 Gloria Estefan - Salsa!
So, what's in your cupboard?...
#5 Offspring - Smash. Amusing US juvenile pretend punk.
#4 The Systers Of Mercy - Floodland. My neuromantic backlash.
#3 Ultravox - Vienna. Box jackets, baggy trousers, 1000 yard stares and eyeliner. How can it be wrong?
#2 Duran Duran - Rio. Perhaps the greatest pop album ever. And hot chicks on yachts.
#1 Gloria Estefan - Salsa!
So, what's in your cupboard?...
[Edited for "getting my dances begining with 'S' confused"]
Labels:
Other
Monday, 11 September 2006
The Path To 9/11 [DrDave]
Posted by
Dave
Last night, BBC2 showed the first part of the ABC docu-drama The Path to 9/11. Ostensibly to commemorate the fifth anniversary of the September 11th attacks on New York and Washington, this miniseries appears to be part of a wider agenda.
On the face of it, it was very well done and remarkably compelling. Big names like Art Malik and Harvey Kietel, slick production values and a fascinating story make this as watchable as any Tom Clancy film. A rare case of real life being just as good as fiction. However, when you look at it in context, there is a very obvious and very blatant subtext being presented here.
Firstly, it has been widely reported that veterans of the Clinton administration are up in arms about the portrayal of their role in the build up to the attacks. Clinton is shown to be distracted by the Lewinski affair, Madeline Albright at one point warns the Pakistani government of a cruise missile strike (and in turn warns Al-Queda of the attack - a charge she vigorously denies) and George Tennet (former head of the CIA) is portrayed as ineffectual in his role, unwilling to take responsibility for actions that could come back to haunt him.
Secondly, and more worryingly, is the not-so-subtle way that the drama apparently aims to justify recent changes in US policy. Numerous scenes feature exasperated CIA operatives exchanging glances that say "if only we could torture this guy, we'd get results" or "without the contraints of evidentiary procedure, we'd do better". The message put into viewers' minds seems clear: "if you don't want another 9/11, you need to accept the Patriot Act, or Guantanamo Bay, or a number of other draconian measures".
I can't help but think that there is Republican agenda being put forward here. With the forthcoming congressional elections in November, Bush et al. seem to be positioning themselves to capitalise, once again, on the events of five years ago. George Tennet seems to be being set up as the patsy who will take the fall - Condoleeza Rice is already shifting eyes that way, and this program only reinforces that.
Of course, it could all be bollocks conspiracy nonsense, which I tend to shy away from. Maybe ABC were simply aiming to tell a story and this was one particular valid interpretation of it? It will certainly be interesting to see the second part, and compare how they treat the Republican adminsitration's build up to the attacks.
On the face of it, it was very well done and remarkably compelling. Big names like Art Malik and Harvey Kietel, slick production values and a fascinating story make this as watchable as any Tom Clancy film. A rare case of real life being just as good as fiction. However, when you look at it in context, there is a very obvious and very blatant subtext being presented here.
Firstly, it has been widely reported that veterans of the Clinton administration are up in arms about the portrayal of their role in the build up to the attacks. Clinton is shown to be distracted by the Lewinski affair, Madeline Albright at one point warns the Pakistani government of a cruise missile strike (and in turn warns Al-Queda of the attack - a charge she vigorously denies) and George Tennet (former head of the CIA) is portrayed as ineffectual in his role, unwilling to take responsibility for actions that could come back to haunt him.
Secondly, and more worryingly, is the not-so-subtle way that the drama apparently aims to justify recent changes in US policy. Numerous scenes feature exasperated CIA operatives exchanging glances that say "if only we could torture this guy, we'd get results" or "without the contraints of evidentiary procedure, we'd do better". The message put into viewers' minds seems clear: "if you don't want another 9/11, you need to accept the Patriot Act, or Guantanamo Bay, or a number of other draconian measures".
I can't help but think that there is Republican agenda being put forward here. With the forthcoming congressional elections in November, Bush et al. seem to be positioning themselves to capitalise, once again, on the events of five years ago. George Tennet seems to be being set up as the patsy who will take the fall - Condoleeza Rice is already shifting eyes that way, and this program only reinforces that.
Of course, it could all be bollocks conspiracy nonsense, which I tend to shy away from. Maybe ABC were simply aiming to tell a story and this was one particular valid interpretation of it? It will certainly be interesting to see the second part, and compare how they treat the Republican adminsitration's build up to the attacks.
Labels:
Talk+Thought
Friday, 8 September 2006
Pipex buys Bulldog [Lurks]
Posted by
Dave
It seem as if Pipex has bought Bulldog the broadband ISP that's renowned for it's London-based ADSL2+ service. You might view this in the same way as EA buying a developer you're quite fond of, nothing is likely to be the same again. What leads me to such a spurious claim? Well because a couple of years back Pipex bought Nildram. That established a pattern of behavior I don't think it's unreasonable to expect to see again.
Nildram was the clan's favorite ISP, a relatively small ISP with a large number of gamers. In fact the Jolt gaming service was a spin off from Nildram originally. Support was personal and generally excellent and highly technically competent and performance was in the top tier of anything you could buy for the home. They were also innovative, pioneering ADSL bonding. Unfortunately after Pipex took over, it promptly turned the whole thing into your standard British company. Rubbish support, emails that take weeks to answer, telephone voicemail hell and performance, for WoW at least, was basically hosed. Oh and forget anything innovative like bonded ADSL, far too much hassle when you're just part of the numbers-game collective. Pipex, in short, fucked our favorite ISP so I have difficulty becoming enthused at the subject of this blog.
Still, Bulldog is a very different ISP than Nildram was. It was never a particularly small, friendly and service driven ISP aimed at a niche from the outset. It was just telling the country that you could get faster Internet with them, even though the fine print ended up being "* a tiny bit of London" at the time. If what it ultimately means is that Bulldog has the financial wings to get their ADSL2+ unbundling out to more exchanges then, unlike the Nildram buy-out, it might actually be a good thing. At least Pipex isn't buying something with amazing support in the first place. And let's face it, we'll be waiting a long time for BT to pull the finger out and roll out ADSL2+ nationally.
Nildram was the clan's favorite ISP, a relatively small ISP with a large number of gamers. In fact the Jolt gaming service was a spin off from Nildram originally. Support was personal and generally excellent and highly technically competent and performance was in the top tier of anything you could buy for the home. They were also innovative, pioneering ADSL bonding. Unfortunately after Pipex took over, it promptly turned the whole thing into your standard British company. Rubbish support, emails that take weeks to answer, telephone voicemail hell and performance, for WoW at least, was basically hosed. Oh and forget anything innovative like bonded ADSL, far too much hassle when you're just part of the numbers-game collective. Pipex, in short, fucked our favorite ISP so I have difficulty becoming enthused at the subject of this blog.
Still, Bulldog is a very different ISP than Nildram was. It was never a particularly small, friendly and service driven ISP aimed at a niche from the outset. It was just telling the country that you could get faster Internet with them, even though the fine print ended up being "* a tiny bit of London" at the time. If what it ultimately means is that Bulldog has the financial wings to get their ADSL2+ unbundling out to more exchanges then, unlike the Nildram buy-out, it might actually be a good thing. At least Pipex isn't buying something with amazing support in the first place. And let's face it, we'll be waiting a long time for BT to pull the finger out and roll out ADSL2+ nationally.
Labels:
Talk+Thought
Monday, 4 September 2006
What's wrong with WoW? [Lurks]
Posted by
Dave
It's always been cause for concern that Blizzard, due to their publisher connection, chose to run World of Warcraft's servers out of France. A country not exactly renown for their hard core Internet expertise. Still, deal with it they did but more or less as you'd expect. Every patch-time downtime was longer than the US. Servers in general are less reliable than the US. Latency to the servers is generally higher than that to the US (from folks in the US) and so on.
However at time of writing, things have taken a dramatic turn for the worse. The game is essentially unplayable in the context of 40-man raiding which is basically most of what we're doing in WoW these days, since we've been playing it since it came out. It takes an enormous amount of effort to put together a raid. People have to sign on our web raid calendar, an officer makes selections. Then people show up, someone passes out potions from the raid bank, substitutions are made, player stuff and potions are crafted/brewed on the spot, groups are set up, tactics explained, everyone sorted on teamspeak and you're ready to go.
Only to have half the raid disconnect as soon as you pull. Meaning a wipe, which means everyone has to run back and buff up and you do it all over again. Blizzard are nothing if not a modern e-commerce firm in that they make it pretty much impossible to engage them in a one on one way unless, of course, it's a billing issue. So people have had to turn to the technical support forum. That filling up with crap they finally made available WoW*ConcernsEU*blizzard.com (delete first, replace second with an @) to email. So I sent them an email, largely in futility, but the nuts and bolts are:
At the moment you're chucking a party every night and everyone shows up to discover there's no beer. Tell us there's no beer and we'll go to another party instead.
Scarily we have about 130 accounts in our guild which is well over a grand (in proper money) a month they're getting from us. Nice work if you can get it and it would be, you'd think, worth a simple communication to tell us what the hell is up and when they might fix it. The only thing they do say is that it's a network issue but generally our latency is fine. We just get disconnected.
This leads me to speculate on what's going on in a purely non productive and fun sort of way. Some of which I can deduce with evidence and some of which is just a guess based on a pretty rudimentary knowledge of how to do server stuff but mostly guesswork. I don't often speculate so please take this with a large pinch of salt.
We know that they run the continents seperately. Perhaps two game server processes on the same box. We also know that they have a seperate instance server. It's not clear how much hardware but it wouldn't need to be on the same box. Certainly the fact that they've implemented cross-realm PvP would seem to indicate that they use different boxes for instance servers or at least PvP.
There's three general 'lag' issues you see in WoW near as I can tell. First of all your standard network latency. This is a bit retarded since the in-game display is averaged over a very long time so if your latency comes good, it still stays read for ages. Which means people disconnect and reconnect just to make it green, thinking they've fixed their latency when in fact all they did was clear the latency measuring buffer. They really ought to fix that.
The second lag issue is what I'll call server lag. This is basically the game coming back and acknowledging an action you've performed. If you've got sever lag, you'll see the start of a casting animation for example, but not any more. The action wont complete. Also this manifests as chat lag too. This lag comes and goes all the time even when the servers are working okay-ish.
Thbe third lag is what I'll call database lag. Basically if you do anything that results in a write to yours or anyone elses character data, it's pretty obvious this requires a write to a database. The most obvious way this manifests is in 'trade lag'. You trade someone a simple item and it takes ages to complete after you've both hit accept. Warlocks also know this lag because unfortunately a db write is triggered when you soul drain just before killing a mob to get a soul shard. In fact eventually the game often gives up and you don't get your shard.
So, imagening a server topography, per 'server' like Runetotem, we have two realm server processes which act like game servers we're familiar with like Quake. This just handles people walking around and talking. The processes cover the two big island continents in WoW. Presumably they will add a third for the expansion. We also have a big ass database which, I think we can reasonably assume, is common to everything on the server.
Note: Further rampant speculation. For cross-server PvP, I think each PvP server game instance box has read/write access to the databases for each game server. When you zone in, it takes a copy of your current character and when you zone out, it writes it back to your server DB. This wasn't working very well post the patch and I suspect hardware upgrades were associated with this somehow.
We also have instance server processes. We don't know if they're on the same box or not. Potentially this is a really obvious way of spreading the server load since instances are by their very nature quite bandwidth intensive compared to the regular old world server. So I suspect they are on a different box but we can't know that. On the realms instance box, instances are, I guess, simply spawned as a processes when people enter.
Which brings us to the issue we're having right now. We all zone into the instance and people disconnect. Why? I don't know. I think it can be shown that WoW disconnects people when the server is trying to send them a lot of data and they can't keep up either there's a network problem along the way or it becomes a client issue. There has to be a client component to that because some people are more susceptable than others and some have influenced how likely you are to disconnect by removing mods. Which is quite strange.
But see here's the thing that's not immediately obvious to people running WoW. When you run a mod, they insert triggers based on events and when the event happens, functions are run and lua code starts doing stuff. Any time it does stuff, what it tends to do is use some predefined functions to check the status on this or that, normally just to initialise variables to use for later. I might not be explaining this very well. It's a bit like having a person that may be called upon telling you how many red objects are in the room. The only thing is, this person is in a black box. He has to gather information about the scene one time only before we close the lid on the box. WoW mods are like that. They don't run all the time, many of them are actually being triggered on instance zoning in. You can see them all trigger in your combat/general logs scrolling in the little windows.
No problem there you think? Well actually there sort of might be. I don't think WoW actually pulls down every bit of data about everything, in fact I know it doesn't. If you trigger a function which checks on, say, the reputation of a given faction of the targetted player, deep within WoW's binary it has to inject a request for that data into the upstream communication with the server. Then it has to get a result back (stalling your lua script and often your level load/zone incidentally) before the lua function can return the data your script is asking for. Why is this a problem?
Well, we run a LOT of mods. All of them are basically trying to memorise quite a lot of stuff from the instance and all of them end up injecting those requests into your WoW network communication to the server, and then sit back waiting for results back from the server before the lua scripts can exit. This takes awhile and it's quite a lot of data per client. At some point the WoW instance server process appears to become unhappy with this and disconnects you. Under exactly what conditions it's impossible to tell.
So why is it worse now than it was before? I have no idea. However, if I had to guess I'd say that the instance server is running on the cross-realm PvP server hardware. it might be being loaded by players from several servers now and is hence busier than it was. That's the only real change as of the last patch and that's what would reasonably require a hardware upgrade, which was the change that immediately preceeded the disaster we're currently seeing.
An instance server ends up facing the same sort of challenges that a busy web server does. Lots of people connecting wanting stuff. The more people that do it, the longer it takes to serve a connection and at some point you end up failing miserably to cope and the number of current connections all slowed to crawl becomes so long, you have no choice but to time them out or run out of memory. Also you want to time some out, to free up the process to try serve someone else. On a web server you get a "too many users" message, on WoW you disconnect.
You can, I think, improve things a bit by removing mods because you're asking for less data from your level load for the reasons I mentioned above, but really it's a straight capacity issue and a software design flaw.
Where it gets really strange, and which subverts the above theory to some extent, is that the disconnections issue does tend to resolve itself when you've reduced the amount of alive mob in the instance such as the famous Blackwing Lair 'suppression rooms' which are instantly crammed with many hundreds of monsters. I say subverts because your mods don't have any data to query regarding mob in your view other than one you have targetted. For the quantity of mob to be an issue, we start getting onto an issue which I do know a little bit about.
Network code in action multiplayer games. Normally games tend to try cull things you can't see if they are beyond a certain distance as the crow flies. They do tend to send you data of entities which you can't see who are within a certain distance because you might hear them and it cuts down on the computational cost of working out if you can see something or not.
I think it can be empirically proven that WoW sends the basic location and movement vectors of every mob in an instance regardless of whether you can see them or not or how far away you are. (Well okay, I think there's probabily a maximum visibility distance but it's a long way). You can often break WoW a little and target something through a wall from a mile away. AQ40 is a good example, you can target something much later in the incident by looking left around the left point of that rock outcrop. BWL is a particularly bad instance in this regard because it's built a bit like a cube. As the crow flies, you're very close to a huge quantity of mob right as you zone in from the front door.
Does it subvert my point or does it back it up? So now not only do we have your scripts and your general WoW client querying a load of variables and issuing server requests through your netcode connection, but also the damn instance server is trying to send you updates of every single mob in the instance at the same time. It's worse than that. Even the most basic netcode, and we'll assume WoW is exactly that, doesn't send 3D coordinates for ever mob and facing direction for every update. Rather it's somewhat compressed and while there are various schemes, basically it says 'mob x moved left 3 meters' or, if it's smarter, 'mob x is moving left at 3 meters per second'. The client then takes the previous know position and makes those changes.
There is one vital exception to this. When you zone. Your client has no idea where the mob are so it has to get full 3D positions, model ids and modification attributes, alignments, animation stage positions and so on all when you zone in. Only when it's done that can it send you those deltas in the compact form later.
So what we have is you're zoning in and the instance server is telling you about every mob in the suppression rooms and probably fecking Nefarian as well, and your scripts are screaming out for updates at the same time. The absolute data that was sent to you was right only for a bit and if mob is moving around (and it is in the suppression rooms) then you've got a bunch of stacking up delta data as well which you need to get before you're properly 'zoned in'.
This comes back to my original conclusion of bad or at least incomplete software design. Much of this issue has been solved by people making multiplayer computer games in the past and Blizzard kind of made things worse for themselves by having this event triggering system for interface add-ons. I shudder to think, with the amount of people playing, the impact it would have in having a modern network code strategy on the combined bandwidth. Significant, I think, highly fucking significant.
The strange thing is, Blizzard are no stranger to optimisation. You may not recall how bad IF was at one point. How long it took to load in to IF in particular. They changes the code to basically zone you in and kind of stream the entity updates to you after you'd loaded so players popped into the world. They do not, however, appear to have applied that strategy to instances and mob and now we're paying for it. There might be a reason, I guess, such as you could zone in and get past some mob near the door because it hasn't popped into your world yet. I would say the easiest fix would be to apply the incremental entity loading and just fix player position until it's complete and the world has caught up.
At any rate, I hope the above serves to illustrate that I actually believe the problems we're facing are less about levels of hardware and network performance issues than software design. That being the case you start to understand why they're not saying anything about the time frame. Or indeed anything at all.
However at time of writing, things have taken a dramatic turn for the worse. The game is essentially unplayable in the context of 40-man raiding which is basically most of what we're doing in WoW these days, since we've been playing it since it came out. It takes an enormous amount of effort to put together a raid. People have to sign on our web raid calendar, an officer makes selections. Then people show up, someone passes out potions from the raid bank, substitutions are made, player stuff and potions are crafted/brewed on the spot, groups are set up, tactics explained, everyone sorted on teamspeak and you're ready to go.
Only to have half the raid disconnect as soon as you pull. Meaning a wipe, which means everyone has to run back and buff up and you do it all over again. Blizzard are nothing if not a modern e-commerce firm in that they make it pretty much impossible to engage them in a one on one way unless, of course, it's a billing issue. So people have had to turn to the technical support forum. That filling up with crap they finally made available WoW*ConcernsEU*blizzard.com (delete first, replace second with an @) to email. So I sent them an email, largely in futility, but the nuts and bolts are:
At the moment you're chucking a party every night and everyone shows up to discover there's no beer. Tell us there's no beer and we'll go to another party instead.
Scarily we have about 130 accounts in our guild which is well over a grand (in proper money) a month they're getting from us. Nice work if you can get it and it would be, you'd think, worth a simple communication to tell us what the hell is up and when they might fix it. The only thing they do say is that it's a network issue but generally our latency is fine. We just get disconnected.
This leads me to speculate on what's going on in a purely non productive and fun sort of way. Some of which I can deduce with evidence and some of which is just a guess based on a pretty rudimentary knowledge of how to do server stuff but mostly guesswork. I don't often speculate so please take this with a large pinch of salt.
We know that they run the continents seperately. Perhaps two game server processes on the same box. We also know that they have a seperate instance server. It's not clear how much hardware but it wouldn't need to be on the same box. Certainly the fact that they've implemented cross-realm PvP would seem to indicate that they use different boxes for instance servers or at least PvP.
There's three general 'lag' issues you see in WoW near as I can tell. First of all your standard network latency. This is a bit retarded since the in-game display is averaged over a very long time so if your latency comes good, it still stays read for ages. Which means people disconnect and reconnect just to make it green, thinking they've fixed their latency when in fact all they did was clear the latency measuring buffer. They really ought to fix that.
The second lag issue is what I'll call server lag. This is basically the game coming back and acknowledging an action you've performed. If you've got sever lag, you'll see the start of a casting animation for example, but not any more. The action wont complete. Also this manifests as chat lag too. This lag comes and goes all the time even when the servers are working okay-ish.
Thbe third lag is what I'll call database lag. Basically if you do anything that results in a write to yours or anyone elses character data, it's pretty obvious this requires a write to a database. The most obvious way this manifests is in 'trade lag'. You trade someone a simple item and it takes ages to complete after you've both hit accept. Warlocks also know this lag because unfortunately a db write is triggered when you soul drain just before killing a mob to get a soul shard. In fact eventually the game often gives up and you don't get your shard.
So, imagening a server topography, per 'server' like Runetotem, we have two realm server processes which act like game servers we're familiar with like Quake. This just handles people walking around and talking. The processes cover the two big island continents in WoW. Presumably they will add a third for the expansion. We also have a big ass database which, I think we can reasonably assume, is common to everything on the server.
Note: Further rampant speculation. For cross-server PvP, I think each PvP server game instance box has read/write access to the databases for each game server. When you zone in, it takes a copy of your current character and when you zone out, it writes it back to your server DB. This wasn't working very well post the patch and I suspect hardware upgrades were associated with this somehow.
We also have instance server processes. We don't know if they're on the same box or not. Potentially this is a really obvious way of spreading the server load since instances are by their very nature quite bandwidth intensive compared to the regular old world server. So I suspect they are on a different box but we can't know that. On the realms instance box, instances are, I guess, simply spawned as a processes when people enter.
Which brings us to the issue we're having right now. We all zone into the instance and people disconnect. Why? I don't know. I think it can be shown that WoW disconnects people when the server is trying to send them a lot of data and they can't keep up either there's a network problem along the way or it becomes a client issue. There has to be a client component to that because some people are more susceptable than others and some have influenced how likely you are to disconnect by removing mods. Which is quite strange.
But see here's the thing that's not immediately obvious to people running WoW. When you run a mod, they insert triggers based on events and when the event happens, functions are run and lua code starts doing stuff. Any time it does stuff, what it tends to do is use some predefined functions to check the status on this or that, normally just to initialise variables to use for later. I might not be explaining this very well. It's a bit like having a person that may be called upon telling you how many red objects are in the room. The only thing is, this person is in a black box. He has to gather information about the scene one time only before we close the lid on the box. WoW mods are like that. They don't run all the time, many of them are actually being triggered on instance zoning in. You can see them all trigger in your combat/general logs scrolling in the little windows.
No problem there you think? Well actually there sort of might be. I don't think WoW actually pulls down every bit of data about everything, in fact I know it doesn't. If you trigger a function which checks on, say, the reputation of a given faction of the targetted player, deep within WoW's binary it has to inject a request for that data into the upstream communication with the server. Then it has to get a result back (stalling your lua script and often your level load/zone incidentally) before the lua function can return the data your script is asking for. Why is this a problem?
Well, we run a LOT of mods. All of them are basically trying to memorise quite a lot of stuff from the instance and all of them end up injecting those requests into your WoW network communication to the server, and then sit back waiting for results back from the server before the lua scripts can exit. This takes awhile and it's quite a lot of data per client. At some point the WoW instance server process appears to become unhappy with this and disconnects you. Under exactly what conditions it's impossible to tell.
So why is it worse now than it was before? I have no idea. However, if I had to guess I'd say that the instance server is running on the cross-realm PvP server hardware. it might be being loaded by players from several servers now and is hence busier than it was. That's the only real change as of the last patch and that's what would reasonably require a hardware upgrade, which was the change that immediately preceeded the disaster we're currently seeing.
An instance server ends up facing the same sort of challenges that a busy web server does. Lots of people connecting wanting stuff. The more people that do it, the longer it takes to serve a connection and at some point you end up failing miserably to cope and the number of current connections all slowed to crawl becomes so long, you have no choice but to time them out or run out of memory. Also you want to time some out, to free up the process to try serve someone else. On a web server you get a "too many users" message, on WoW you disconnect.
You can, I think, improve things a bit by removing mods because you're asking for less data from your level load for the reasons I mentioned above, but really it's a straight capacity issue and a software design flaw.
Where it gets really strange, and which subverts the above theory to some extent, is that the disconnections issue does tend to resolve itself when you've reduced the amount of alive mob in the instance such as the famous Blackwing Lair 'suppression rooms' which are instantly crammed with many hundreds of monsters. I say subverts because your mods don't have any data to query regarding mob in your view other than one you have targetted. For the quantity of mob to be an issue, we start getting onto an issue which I do know a little bit about.
Network code in action multiplayer games. Normally games tend to try cull things you can't see if they are beyond a certain distance as the crow flies. They do tend to send you data of entities which you can't see who are within a certain distance because you might hear them and it cuts down on the computational cost of working out if you can see something or not.
I think it can be empirically proven that WoW sends the basic location and movement vectors of every mob in an instance regardless of whether you can see them or not or how far away you are. (Well okay, I think there's probabily a maximum visibility distance but it's a long way). You can often break WoW a little and target something through a wall from a mile away. AQ40 is a good example, you can target something much later in the incident by looking left around the left point of that rock outcrop. BWL is a particularly bad instance in this regard because it's built a bit like a cube. As the crow flies, you're very close to a huge quantity of mob right as you zone in from the front door.
Does it subvert my point or does it back it up? So now not only do we have your scripts and your general WoW client querying a load of variables and issuing server requests through your netcode connection, but also the damn instance server is trying to send you updates of every single mob in the instance at the same time. It's worse than that. Even the most basic netcode, and we'll assume WoW is exactly that, doesn't send 3D coordinates for ever mob and facing direction for every update. Rather it's somewhat compressed and while there are various schemes, basically it says 'mob x moved left 3 meters' or, if it's smarter, 'mob x is moving left at 3 meters per second'. The client then takes the previous know position and makes those changes.
There is one vital exception to this. When you zone. Your client has no idea where the mob are so it has to get full 3D positions, model ids and modification attributes, alignments, animation stage positions and so on all when you zone in. Only when it's done that can it send you those deltas in the compact form later.
So what we have is you're zoning in and the instance server is telling you about every mob in the suppression rooms and probably fecking Nefarian as well, and your scripts are screaming out for updates at the same time. The absolute data that was sent to you was right only for a bit and if mob is moving around (and it is in the suppression rooms) then you've got a bunch of stacking up delta data as well which you need to get before you're properly 'zoned in'.
This comes back to my original conclusion of bad or at least incomplete software design. Much of this issue has been solved by people making multiplayer computer games in the past and Blizzard kind of made things worse for themselves by having this event triggering system for interface add-ons. I shudder to think, with the amount of people playing, the impact it would have in having a modern network code strategy on the combined bandwidth. Significant, I think, highly fucking significant.
The strange thing is, Blizzard are no stranger to optimisation. You may not recall how bad IF was at one point. How long it took to load in to IF in particular. They changes the code to basically zone you in and kind of stream the entity updates to you after you'd loaded so players popped into the world. They do not, however, appear to have applied that strategy to instances and mob and now we're paying for it. There might be a reason, I guess, such as you could zone in and get past some mob near the door because it hasn't popped into your world yet. I would say the easiest fix would be to apply the incremental entity loading and just fix player position until it's complete and the world has caught up.
At any rate, I hope the above serves to illustrate that I actually believe the problems we're facing are less about levels of hardware and network performance issues than software design. That being the case you start to understand why they're not saying anything about the time frame. Or indeed anything at all.
Labels:
Games
Nvidia sucks [Lurks]
Posted by
Dave
I reinstalled my server and having downloaded the latest nvidia drivers I got this pop up:
Now, I thought it was just confused because I had a previous Nvidia graphics card in - a crappy old GeForce 2 MX400. You can see why I'd think that looking at the message. However later I completely reinstalled the system so it could have no possible record that it had another Nvidia graphics card in it. It still popped up on a brand new install. If you click on it, you get taken to some web site that goes rah rah SLI is great etc etc. Slowly it dawned on me.
What these wankers have done is basically made this bubble pop up on any single-GPU Nvidia system each and every time you boot up. This EA-like thinking (the guys who bring you unskipable trailers every time you load a game up) has obviously been executed as a marketing drive to increase awareness of SLI and obviously try sell more graphics cards. It is, I think you'll agree, deeply fucking pathetic and my overall view of Nivida has gone down a notch. I think they probably factored that in and said, "So what, we have their money. We want to sell NEW cards."
So the bottom line is, if you have an Nvidia graphics card and you're installing the latest drivers, you're going to want this which is a reg entry to get rid of it. How generous of them. Twats.
Now, I thought it was just confused because I had a previous Nvidia graphics card in - a crappy old GeForce 2 MX400. You can see why I'd think that looking at the message. However later I completely reinstalled the system so it could have no possible record that it had another Nvidia graphics card in it. It still popped up on a brand new install. If you click on it, you get taken to some web site that goes rah rah SLI is great etc etc. Slowly it dawned on me.
What these wankers have done is basically made this bubble pop up on any single-GPU Nvidia system each and every time you boot up. This EA-like thinking (the guys who bring you unskipable trailers every time you load a game up) has obviously been executed as a marketing drive to increase awareness of SLI and obviously try sell more graphics cards. It is, I think you'll agree, deeply fucking pathetic and my overall view of Nivida has gone down a notch. I think they probably factored that in and said, "So what, we have their money. We want to sell NEW cards."
So the bottom line is, if you have an Nvidia graphics card and you're installing the latest drivers, you're going to want this which is a reg entry to get rid of it. How generous of them. Twats.
Labels:
Computing
Where the fuck am I? [DrDave]
Posted by
Dave
GPS systems seem to be on their way to becoming ubiquitous for motorists in the same way that mobile phones with loudspeakers and MP3 playing capabilities are ubiquitous for cunts on buses. It really is a marvellous technology, and one that you can very easily come to depend on.
However, living in London and having no car, it often occured to me how useful a personal pocket version of these devices would be. Something with the same software as Tom Tom devices, but which could be stuffed in your pocket and whipped out only when you need specific directions to the Raymond Revue Bar (or whatever seedy haunt you're after).
Oh, you can already get such a device, many in fact, but they're all quite pricey for something you won't use very often. Besides, I've already got a PDA form factor device in my M500 mobile phone. Surely I could get something going with that?
Then I found this. Unbranded, cheap as chips, but with good reviews and compatible with most GPS software for the PocketPC. Enthused, I shelled out the 40 quid. Firstly, mobilefun were brilliant. I ordered at 4pm on friday after, paid £2.50 for delivery and it was with me at 10am on saturday. Second, the device is tiny. About the size of a matchbox so it can easily be dumped on your pocket and forgotten about.
Setup is quick: turn it on, pair it with your mobile over Bluetooth and you're away. The TomTom 5 software sees it as "other Bluetooth GPS device" with no problems. Like all GPS, it has problems getting a signal indoors, unless you stand by a window. Once outside though, you're fine and it acquires solid locks very quickly. Buses tend to hit and miss, and I couldn't get near enough to a window on the cattle truck train I used this morning.
To test it, I had a wander around central london yesterday with the device in my jacket. Navigation at walking speeds is a little weird and really shows up some of the extrapolation that the software does by necessity - one minute you'll appear to be walking up one road then suddenly you'll flip to another one as the +/-10m accuracy problems in GPS resolve. On the whole though, it is very useable. And with a headset on your mobile, you can get the directions without even turning the screen on, very useful for preserving battery life.
Very handy little gadget!
However, living in London and having no car, it often occured to me how useful a personal pocket version of these devices would be. Something with the same software as Tom Tom devices, but which could be stuffed in your pocket and whipped out only when you need specific directions to the Raymond Revue Bar (or whatever seedy haunt you're after).
Oh, you can already get such a device, many in fact, but they're all quite pricey for something you won't use very often. Besides, I've already got a PDA form factor device in my M500 mobile phone. Surely I could get something going with that?
Then I found this. Unbranded, cheap as chips, but with good reviews and compatible with most GPS software for the PocketPC. Enthused, I shelled out the 40 quid. Firstly, mobilefun were brilliant. I ordered at 4pm on friday after, paid £2.50 for delivery and it was with me at 10am on saturday. Second, the device is tiny. About the size of a matchbox so it can easily be dumped on your pocket and forgotten about.
Setup is quick: turn it on, pair it with your mobile over Bluetooth and you're away. The TomTom 5 software sees it as "other Bluetooth GPS device" with no problems. Like all GPS, it has problems getting a signal indoors, unless you stand by a window. Once outside though, you're fine and it acquires solid locks very quickly. Buses tend to hit and miss, and I couldn't get near enough to a window on the cattle truck train I used this morning.
To test it, I had a wander around central london yesterday with the device in my jacket. Navigation at walking speeds is a little weird and really shows up some of the extrapolation that the software does by necessity - one minute you'll appear to be walking up one road then suddenly you'll flip to another one as the +/-10m accuracy problems in GPS resolve. On the whole though, it is very useable. And with a headset on your mobile, you can get the directions without even turning the screen on, very useful for preserving battery life.
Very handy little gadget!
Labels:
Gadgets
Subscribe to:
Posts (Atom)