Modern Warfare 3 Confuses Me

I would like to preface this by saying that I haven’t played MW3, I probably won’t, but I have played Battlefield 3; take from that what you will.

I really don’t understand how Modern Warfare 3 is getting the review scores it’s getting; 4/5, 8/10, etc. Every review I’ve read, seen or heard has said pretty much the same thing, that the game is formulaic, only a small iterative improvement over the previous one, that it’s a lot more scripted than the previous one, that half of it is on-rails shooting, that the multiplayer is pretty much the same as the previous one – if not worse in some aspects due to design choices. On the upside, it’s a polished version of MW2 and it does resolve the story that has been built up through MW1 and 2.

So how does this equate to an excellent game? Because it’s sold more than 9 million copies? Because it’s a big AAA title? Because it’s part of a popular franchise? Surely none of these things should have any impact on the review score. It seems to be getting worse and worse over time; reviewers basically saying “This game is essentially the same as the last one and doesn’t really do anything new. 5 Stars!” or “Well the single player is shit but, you know, there’s multiplayer that’s really good. 5 Stars!”

For the record, I have nothing but bad things to say about the Battlefield 3 Single Player campaign because it’s a poor attempt to copy Modern Warfare and should never have been shoehorned in to the game. It would have been much better not to include a single player component at all. That said, people don’t buy Battlefield games expecting a solid single player game, they buy it for the multiplayer and I’m willing to cut it a little slack from that point of view but I still believe that it should negatively affect the review score because it’s a part of the game experience that is substandard.

I’ll admit that I don’t put much stock in review scores, because they’ve never seemed to me to be a particularly good metric with which to measure something as complex as most games, but if you’re going to have them then please try and make them consistent with the text of the review, otherwise you’re just making yourself look bad.

Ed Vaizey Is A Fucking Idiot

He says: “We have got to continue to encourage the market to innovate and experiment with different business models and ways of providing consumers with what they want.

“This could include the evolution of a two-sided market where consumers and content providers could choose to pay for differing levels of quality of service.”

He also suggests that content makers could be charged for the first time for the use of the ISP’s networks – provided they too were clear about what they were getting.

How many times do we have to say this? Slashdot (for example) already pays their ISP for bandwidth to host their content. It is not, therefore, OK for my ISP to then charge Slashdot again for me to access that content. Just like it’s not OK for Slashdot’s ISP to charge me to access that content, because I already pay my ISP for that. This is what Peering agreements are there for and if ISPs don’t feel they’re getting a fair deal then they need to take that up with the other service providers, not the people at the end of the pipe.

This is on top of the fact that this “market” idea for QoS will inevitably end up with ISPs acting like TV companies. “Get our basic package to access the internet very slowly at low priority, only £9.99/month. Want to be able to use the iPlayer during waking hours? Get our BBC pack for only £4.99/month extra. Sorry, but due to a dispute with Google over pricing, we’re unable to offer our Search Engine pack this month, so you won’t be able to find anything on the internet”. And so on.

Exchange 2007/2010 Interop

As someone in the middle of a transition between Exchange 2007 SP3 and Exchange 2010 SP1, I have to ask; MS Exchange Team, what were you smoking when you came up with the interoperability options here?

2003 to 2007 was pretty decent, you could deploy your 2007 CAS servers more-or-less directly in place of your 2003 OWA front-end servers and they would happily serve 2003 mailboxes up to people. Management tool interop was lacking a bit, but that was excusable as 2007 was, at least, a totally new set of tools based on .NET/Powershell and they generally wouldn’t let you do anything to a 2003 mailbox that would break it horribly.

With 2007 to 2010 though, you can’t do any of that. You have to keep your 2007 CAS and HT servers around because the 2010 ones won’t play nice with 2007 mailbox servers, but then the 2010 CAS servers can’t connect to 2007 mailboxes. Except they can, if you copy the 2007 binaries onto them. Except that only works if there isn’t a 2007 CAS server in the same AD site as the 2010 CAS server. So, short of creating new AD sites for all your 2010 mailbox servers you have to have at least one AD site with both 2010 & 2007 CAS servers, which works OK internally, but if you’re publishing to the internets (and who isn’t these days?) then you start to run into issues. There are various articles about this (like this one) but basically you have to create a new internet-facing DNS entry for the 2007 CAS, move the 2010 to the old internet-facing DNS name, change the ExternalURL value on the 2007 CAS to match the new DNS name, change the internal DNS so that there’s an entry for the new DNS name (because Exchange treats other AD sites as “External” as well), buy a new trusted SSL Certificate for the new DNS name (or wildcard it) and pray to God that you’re only publishing 2007 CAS servers from a single AD site; otherwise it gets so complicated that your brain will try and kill itself to escape.

If you think that sounds bad, then wait; it gets better! You can’t use the 2010 management tools (which are now 64-bit only – unless you enjoy Powershell Remoting) to manage 2007 mailboxes. Well that’s not entirely true, you can so some things, just not everything and it’s the same with using the 2007 tools on 2010 mailboxes. It’s all documented on The MSExchangeTeam Blog and it’s a huge mess – if your helpdesk staff (or whoever else manages your mailboxes day-to-day) aren’t really on the ball there’s a good chance you’ll run into problems while the 2007->2010 transition is in progress.

All this is in addition to all the subtle syntax changes they’ve made to a lot of the management Cmdlets so that things which were valid commands in 2007 don’t quite work properly in 2010; I’m looking at you, Import-ExchangeCertificate – let’s go from importing a CA-supplied .cer file to importing the binary contents of said file as a Byte Array supplied as a command line argument, because that’s much easier.

I really like Exchange – 2007 SP1 onwards was top-notch – and 2010 has some great new functionality, but they’ve really dropped the ball when it comes to installation, upgrading, migrating and transitioning.

Microsoft Visual Studio 2005 Premier Partner Edition

This is an old one, but I’ve only just managed to find a solution after searching on and off for several months; we’ve had a couple of machines that developed the problem but it was never really considered serious enough to put a lot of effort into solving.

Scenario: You have a machine with some element of SQL 2005 installed; be it simply the management tools or the full-on server with all the trimmings. This machine claims, via WSUS or Windows Update, that it needs Visual Studio 2005 SP1, but the install keeps failing. If you run the update manually, it keeps asking you for “Microsoft Visual Studio 2005 Premier Partner Edition ENU – Disk 1”. Browsing provides you with a filename “vs_setup.msi” but the only one you can find on your machine is part of the .NET Framework 3.5 and isn’t the one it’s looking for.

Solution: Point the installer to the “vs_setup.msi” file located in the “Tools” folder of your SQL 2005 install media.

Exchange 2010 SP1 – A Warning

Please note that this issue also appears to also occur with Exchange 2010 SP2

Be warned; if you attempt to upgrade an Exchange 2010 RTM install to Exchange 2010 SP1 and you do not have the correct Powershell Execution Policy in place (and I’m not entirely sure what that is, it’s not documented anywhere obvious but it appears that Unrestricted works – although some have said that it doesn’t – and I can assure you that RemoteSigned doesn’t) it will not warn you, it will not avoid it, it will simply break halfway through the install and leave your server in a state whereby the Exchange binaries are all deleted, half your Windows services are disabled and all the Exchange cruft is still in the registry. The error is akin to the following:

The following error was generated when "$error.Clear();
& $RoleBinPath\ServiceControl.ps1 EnableServices Critical
" was run: "AuthorizationManager check failed.".

The only fix I’ve found for this, after sorting the Powershell Execution policy is to delete all the Exchange keys from HKLM\Software\Microsoft\Exchange and HKLM\Software\Microsoft\ExchangeServer, restart all the disabled services (IIS, WMI, Remote Registry, etc) then run the Exchange 2010 RTM “ /M:RecoverServer”, wait for it to complete and then attempting the SP1 install again.

All I can say is thank god I didn’t test this on a server that happened to have the correct Execution Policy and then subsequently deploy it into production onto one that didn’t.

Update: Thanks to Martin for pointing me to – it looks like it’s not so much what the Execution Policy is set to, but how it’s set. Seems like a really stupid oversight to me; surely Microsoft must have expected people to use GPOs to set Powershell Execution Policies – at the very least some detection logic in the installer to warn the user would be nice.

Dear Developers…

Dear Developers,

If you’re going to port your shiny new game to the PC it might be worth bearing in mind the following points:

  • Most PC gamers don’t have Xbox controllers, so it’s nice to make your game playable if they have to use a keyboard and mouse
  • On the subject of mice, they’re a bit more precise than Xbox controllers, so let me change my bloody sensitivity
  • Computers have been doing “HD” since about 1998, give me resolutions above 1080p
  • Computers have lots of buttons on their keyboards, please don’t make me use Space for every single sodding action
  • Performance. Computers can have it if you put some effort in. When I can’t run your game at 1280×1024 on average detail settings, you’ve done something very wrong.
  • Please let me save my game more often. I understand that you don’t want to remove the tension by going back to the days of 24/7 quicksaving, but when your badly ported game inevitably crashes, I’d rather not have to replay the last hour of the game just to get back to where I was (knowing there’s a fair chance it’ll just crash again at the same point).

I’m thinking in particular about Alpha Protocol at the moment, which despite its faults is a really fun game, but I’ve had to spend hours searching various forums & blogs and modifying .ini files just to make the mouse usable. Even after all that, the performance is still pretty shitty and most of the options in the game don’t actually do what they say they do – oh and if you somehow manage to force FSAA on, all your dialogue choices vanish so you can’t really play any more.