I'd like to spend a bit of time explaining my week, which will actually start with a Wednesday just for fun! This is usually the start of the following update, be it quest, minigame or something else.
After a project has been developed, it gets tested in our Work in Progress (WIP) environment by the QA team. Any bugs found here are fixed and, when that's all okay, it stays here until we're ready to release it.
I'll look at the release schedule to determine what we're launching in the following week, then copy changes to the code relating to each of the projects being launched to our Release Candidate (RC) environment.
This 'copy' process includes images, textures, models, animations, audio, interfaces and maps. These are all tied together with RuneScript to form the content update we're releasing.
This is once again tested by QA to ensure that any differences between WIP and RC (of which there can be quite a few at any one time!) don't affect the project and that it all still works as expected. These differences can include such things as a newer version of the game engine with extra features, or different versions of our tools used to produce the above files.
While this is going on, there's a lot of other teams preparing for the update as well...
- The Game Engine team may be building a new version of the server and/or client to support any new features the content might use (which was quite a lot for Mobilising Armies!).
- The graphics artists and developers of the project are busy fixing any issues that are found in RC.
- Our Web Content department are busy updating the Knowledge Base with the changes as a result of the update, e.g. new items or additions to skills, as well as any accompanying images.
- The Web Systems team might be preparing to launch a new module or changes to existing ones such as Game Notes or Hiscores, which is in turn tested by their own QA team.
- Translation are busy localising any phrases from the game into their respective languages and then checking the game to make sure text doesn't spill out or get cut off.
All of the above usually takes us to the end of the working week, and may creep into the early part of the following week if it's a particularly large update or there have been delays to any part of the process.
Having updates most weeks means that if time-lines slip it can have fairly large consequences. If a Monday update slips to Tuesday, the next one probably moves a day too, and so on until we would be updating on a Thursday or Friday (which we try to avoid for obvious reasons, but are sometimes unavoidable).
Update day! Usually a Tuesday, but as early in the week as possible is preferred. In the morning, I'll run through a huge checklist of things that need to be done by the various teams in the office. The content that's been tested in RC is then moved to the Live environment and copied out to all the game worlds around the globe.
This requires a huge amount of coordination, but, when everything's ready, we press the 'red button' of updating. When I say 'red button', I'm exaggerating slightly - it's actually me running around the office, timing everything to perfection, so you see the "System update in x minutes" message, the news and forum posts, and Knowledge Base updates all at the same time. Ten minutes later, the game worlds kick everyone off, load the new version of the game and everyone downloads any updates necessary to play again.
Several staff have commented that my running speed correlates to how hectic things are. I vary from a brisk stroll to full out sprinting if there's something urgent. I've not had to hurdle over desks...yet!
QA, the content developers and myself then keep several eyes on the live version of the game to ensure there aren't any further problems or hiccups. Once we're satisfied there aren't any major problems and any feedback has been taken on board, the whole process starts again for the next update.
I hope you've enjoyed reading this and have a bit more of an insight into my role as the Upload Manager, and how the game updates actually happen.
|Citing this source:|