A cup of coffee with developer Walle

15-05-2015, 15:24
За чашкой кофе с разработчиком Walle

Hello, dear users and guests of the uwow.biz project. Everyone of you has ever dreamed of creating something of your "own" in World of Warcraft for sure. In other words, you wish you could try yourself as a Developer. But not everyone knows what is it like in reality, how difficult it is. Without further ado, I decided to ask directly from one of our developers about the profession. As a result, I took an interview from Walle. In my opinion, he is the most prominent one when it comes down to Mists of Pandaria developers. Let's proceed to his interview, shall we?

{VictimsNiNo}: Hello, Anton. As far as I know, you are the lead developer for Mists of Pandaria realms? Do you mind if I ask you a couple of questions?
{Walle}: Hi. Well, how can I put this... We don't have such thing as a lead developer. Everyone is equal. No, I don't mind if you ask me some questions. Go ahead.

{V}: The more you know.
I think that almost every player would like to ask you: what do you have to face everyday? Can you describe your "working day"?
{W}: The first thing I do is check the bug fixes. I make sure that everything is done by devs. And if something is missing, I write about it on the forum. Then I add new fixes to the game. If the server was updated at night, my day starts from examination: "did it cause anything to go wrong"? Usually I plan everything, for example: this month I will work with the achievements and the next one I will take a look at dungeon bugs. A day passes like that when the plan is set.

{V}: Uhm.. Excellent.
As far as I know, the server can be divided into the "core" and "database". Tell us, what is it like to work with database?
{W}: You have to deal with numbers and tables. You need to set a certain value. The most simple one: there is an NPC (creature) which is considered to be a quest giver, but somehow he doesn't fulfill his role. The first thing you need to do is check in DB (database) if he has the right flag, the quest giver one (quest "starter").
By the way, speaking of database: I think we have the most unique one, unlike our competitors, because we constantly upgrade (improve) it. And it got to the point where the complex spell mechanics can be implemented in a couple of clicks. Previously, we used to write a script or use another code for the core.

{V}: Well, and what about the core? Is it any different?
{W}: Speaking about the core: we use Notepad++ («programmer's» notepad), open the right source or sources and write the code. Despite the fact that it seems easy on paper, sometimes it takes a couple of days to fix one bug.
But now we have greatly changed the policy for the implementation of various mechanics: previously, during WotLK, it wasn't only us who used to implement stuff by "hit-or-miss" method. There were a lot of hacks in the core. And now, before doing something, we collect information from official server. Using special program, we can track all the packets that we get. We study them and then we try to implement something so it can be almost as accurate.

{V}: Yeah… Seems like you have a hard job…
Players often ask me: how difficult is it to script bosses? Why it takes so much time? I'm only a GM, not a developer. Obviously, that's the reason why I can't tell all the details. Could you answer these questions?
{W}: If we are talking about instance bosses, I did script Galakras only. In other words, I didn't have any experience in scripting this kind of a boss.
Firstly, I watched a lot of videos with him being killed, studied his mechanics, so to speak: I read tactics, asked people who played on official servers, and, what is the most interesting, I even managed to create a small test squad. And we went on official server to gather the information about him. It took quite a lot of time to do so.
We were more prepared for Mists of Pandaria, unlike Cata. We prepared for it thoroughly: we had almost all the necessary sniffs, and they helped us greatly to implement bosses and abilities.
In the end, I had been working on Galakras for about a month. At that moment he was easy to script when it came to bosses. I'll explain why.
In theory, Sanmay is responsible for instance implementations. Once we moved on 5.4 patch, he began to script Siege of Orgrimmar. But the core was still quite fresh for that raid instance and we let him go to work on WotLK realms. He was gone for about 4 months. During this period of time, we managed to set up everything beautifully. And one of our developers even managed to script three more bosses, and then I did Galakras.
I think that at the moment the Siege is being scripted ultra fast.

{V}: Excellent. I think the players will no longer ask anything about that.
You said that "sniffs" are helping to implement bosses. But what are those?
{W}: There is a program called "Sniffer". It records the data packets received from the server and vice versa. And there is a parser which decodes them.
For example, a SMSG_UPDATE_OBJECT packet arrives to you. It may contain information about one or several mobs (creatures), their levels, factions and all that kind of stuff.

{V}: Well, since we began to satisfy the interest of our users, may be we can satisfy people who consider themselves "experts"? Can you give a couple of scripts as an example? I think one from the core and one from the database will be enough. Just briefly explain what each of them does.
{W}: Yesterday, for example, I made a script for heroism's cooldown reset and debuff
You can take a table which is called creature_template from database as an example. It contains all the "settings" for creatures. For example, hare «settings»

{V}: Hmm... Interesting. Everything that you've said about the database and the core is clearly seen here.
Well, and the last question. Can you tell what players can expect in the near future? What to hope for? What global fixes can we expect?
{W}: We are still working on Siege of Orgrimmar. About the global ones: Blackmanos is currently reworking dungeons/raids cooldowns to make them blizzlike. As for me, I do little things and I'm planning to start working on The Thunder Forge. Let's not think that far ahead, guided by what we are developing now.
{V}: Perhaps, that's it. Thank you for your time and I wish you good luck developing and repairing stuff.
{W}: I wish you all the best as well.

We hope that this article has satisfied your interests, dear players and guest of our project. If you want to play on the best server with excellent and experienced developers, then come and check out our server which is currently rank 1 on mmotop.