So we got… an alpha?

From previous expansions we guessed we’d have a beta soon – we guessed 9th April – and on 3rd April we had news!

We got … an alpha?

See the announcement and the alpha patch notes on Blizzard’s website – I’ll not cover details of that here or what the data miners have uncovered from the alpha client. Not only have WoW Insider and WoW Head have been doing a great job of that already, but things will probably change anyway! WoW Head have also started building their Warlords of Draenor database.

So the obvious question is – why an alpha and not a beta. Hell, what is an “alpha” anyway?

Alpha testing [Wikipedia] is the first stage in testing the software and is one step up from the “dev builds” Blizzard have spoken about before. Alpha software will normally have all sorts of debugging code turned on. They’ll also tend to be somewhat fast moving as developers find issues and push fixes out – which end up breaking other developers’ code as they tread on each others’ feet.

As a result of this, alpha builds are normally kept internal or “friends & family” – mostly since things will be sufficently unstable that support will spend more time supported “Gee, it crashed again” issues instead of real bugs and the like. And this is what Blizzard has done – the current alpha is for internal users plus Friends & Family. They placed the Alpha client on Battle.Net so it was possible to play the alpha outside of the Blizzard offices. Plus, using it via Battle.Net is an important step in the testing process.

I believe this is the first time Blizzard have made alpha patch notes available in this way – unfortunately this wasn’t to sate the need for Warlords information. According to the ConvertToRaid interview with Celestalon and Zarhym the alpha announcement was made since a “Take home” alpha required that the files for the alpha client had to be publically downloadable on Battle.Net. This would allow for data mining and Blizzard wanted to avoid confusion from badly data mined information.

As an aside, with my SysAdmin/DevOps hat on, I have to wonder why they don’t limit accounts to only see the files required for the game licenses on the account. After all, the Battle.Net launcher logs you into Battle.Net and it can see the game licenses you’ve got available.

What we’re now waiting on is the actual beta test [Wikipedia]

Blizzard have strongly hinted that the Warlords beta will be more limited in scope than the one for Mists was. I think they got burned by saying that everyone who purchased the annual pass in Cataclysm would have beta access – when the beta opened up people assumed that annual pass members would get immediate access to the beta. Instead Blizzard rolled beta access out in waves and this led to a certain volume of complaints on the forums. Plus having a million people in the beta probably wasn’t as useful as you’d think – especially if most just logged into the beta the once & didn’t again after they saw that the beta is, well, a test. So is buggy, unreliable, etc

That said, they’ve already generated a lot of noise on the forums by offering closed beta access to people who were at PAX East.

Predictably, it didn’t take long for those beta codes to end up on Ebay

Warlords closed beta code on Ebay


So, what does all this mean?

If we look to what has gone before, we see:

announce-alpha-beta

The above stacked graphs allows us to compare the different amounts of time expanions have taken from announcement until they are released. Where we have dates for an alpha release we’ll display bars for those.
As before, the Warlords of Draenor bar is based on the data we have to date and ends on today’s date so we can compare against prior expansions

When compared to Mists, we’re already behind since by this point the public beta had started. But compared to other expansions we’re doing quite well! Given the 6 weeks of Friends & Family alpha in Cataclysm we’re likely to be some distance away from the actual beta. Even so, if the alpha lasts 6 weeks and the beta then lasts as long as Mists’ one did, we wouldn’t beat the development time of Mists, but we would beat the other expansions. However this is pure conjecture at this point given the lack of data.

So the real question is… why the delay? For that I’m going to jump back a bit.

To me, a key point mentioned in the alpha announcement is the new CASC file format Blizzard will be using for WoW; from the announcement:

For nearly 20 years, Blizzard games have used a file format called Mo’PaQ (MPQ for short) as a way to compress and store game files. We’ve been able to introduce some great new technology using MPQ, such as our streaming client, but we’ve really pushed the file format far beyond what it was ever intended to be used for. Today, it’s become the source of a number of technical limitations for World of Warcraft.

A file format which has been around for nearly 20 years and has been really pushed beyond its design? To me that screams of a large Technical Debt [Wikipedia] which has built up and now needs to be paid off.

A good analogy of what technical debt would be a desk where slowly the amount of paperwork needed to be done builds up. And up. And up. Until you end up with strange Rube Goldberg / Heath Robinson contraptions to accept new paperwork, hold new paperwork in place, etc.

Any attempt to add a new type of paperwork to the desk involves large amounts of shuffling of existing paperstacks – which will probably fall over and cause even more work – building of more contraptions and in general be a lot more work than if you had a nice tidy desk in the first place.

And the moment a cat jumps up onto the desk it’ll knock over all of the stacks of paper and it’ll run off with some critical paperwork stuck to its fur by the gluepot which fell from the automated envelope glue applicator device you thought was a great idea several years ago.

What you really want to do is build a new shiny desk, properly laid out from the start so you can do all of the paperwork and eventually you work out how you can fit the new desk into the room whilst the old desk is still in use – as you can’t afford to be without a working desk for even a single hour!

The get the new desk set up and you transfer the paperwork over and it seems to work well for a while, until you discover that the automated evelope glue applicator you didn’t build into the new desk – since self-adhesive envelopes are available – was also accidently putting a small nick into the purple paperwork which was allowing it to fit into the tray designed for the blue paperwork. And whilst there is a purple paperwork tray, the mauve paperwork was being dropped into there accidently as no purple paperwork was filling it up. And it turns out the blue tray was also handling the purple paper thanks to a poor design decision made at 2am when you were desperately looking for the cheatsheet to form 27b/6

The extra work caused from the build up of accidental fixes and Heath Robinson contraptions is the heart of technical debt and at a some point, it has to be paid off.

The change from the MPQ format to the new CASC format will mean Blizzard will need to do a lot of work testing the conversion to make sure it all works as intended – it is likely they had a few purple trays unexpectedly handling the mauve paper whilst the blue tray was handling both the purple and blue paper. This will have increased the time to develop Warlords of Draenor.

Something else which may have increased the time to develop is the project codenamed Titan – at the end of May 2013 it was announced that the project was being rebooted and the majority of the developers moved to other projects, including WoW. Apparently the Titan team was quite large, with “over 100 people” in it. That’s quite a few people to move onto other projects.

From Blizzard’s prior comments, they would’ve been developing the Warlords of Draenor concepts towards the end of Cataclysm and would be doing real development during Mists of Pandaria. It is interesting to note that Warlords of Draenor was announced in November 2013 – it is likely that a number of the Titan developers ended up working on Warlords of Draenor. Possibly on new concepts like CASC as they get up to speed on the WoW codebase again.

I’m pondering about the CASC format – I have to wonder if it was originally developed as a part of Titan, with a view to use on other Blizzard products as well since the old MPQ format was likely to have been showing its age for a while.

So, you have a group of developers who’ve been working on a different code base for a while – Titan was purported to be a clean sheet – who are then asked to work on WoW again, which has a mature codebase.

There is a law of software engineering here which may apply here – Brooks’ law – which is “Adding manpower to a late project makes it later“. This is a central theme of the book The Mythical Man-Month which covers the human elements of software engineering. It also covers the “second system effect” where developers take all the things they had to leave out of their first system, but had to drop due to time contraints and “no silver bullet solution” – anyone who says there is a silver bullet here is selling something.

It seems counter-intuitive that adding more people to a project would make it later – after all it should speed things up, right?

Unfortunately when you add more people to a software engineering project you find that before someone becomes useful, they have to learn how things are being built on that project. What tools are used, how those tools are used, any sleazy workarounds needed to get things to work, etc. Whilst some of this may well be documented, its likely that the documentation is out of date – which is almost worse as people waste time in trying things which will never work.

Thus you need to train the new people. Which generally means taking existing project members from their current work and having them train the new people. Which means that the project slows down.

If you think about this, the natural extension of Brooks’ law is adding manpower to a project which is on schedule can cause the project to fall behind – thus missing deadlines.

So we’ve got a gaggle of people from the dying Project Titan who’ve been moved across to work on WoW instead. They’ll have probably brought their own ideas of how things should be done and you may find that some aren’t happy to be working on the old codebase which makes up World of Warcraft after working on the cleansheet of Titan.

Combine this with Brooks’ law, along with Blizzard’s attitude to game development – “When its ready” – you’ve got a potent combination for delays!

Now, I’m personally hoping these effects will not cause an excessively long development process for Warlords and I’m really looking forward to how it turns out.

But I’m also thinking that Warlords may be released more towards the end of Fall 2014 – which would really suck.

This entry was posted in Alpha, Beta, Warlords of Draenor and tagged , , , . Bookmark the permalink.

One Response to So we got… an alpha?

  1. I think you might be onto something with the file format being a cause for delays (or rather the fix for the technical debt which is the cause of delays). I would love to know what’s going on in their scrums, planning meetings, etc, but I know we never will. We can only speculate (intelligently). Nicely done. :-)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s