За чашкой кофе с разработчиком Walle

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

Доброго времени суток, пользователи и гости игрового проекта uwow.biz. Наверняка каждый из Вас хоть раз мечтал создать в мире World of Warcraft что-то «свое». Иначе говоря, побыть в роли Разработчика. Но мало кто знает, в чем сущность данной профессии и насколько она сложная. Недолго мешкая, я решил пойти и спросить напрямую у одного из наших разработчиков о данной профессии. В итоге, интервью я взял у Walle, самого видного, по моему мнению, на просторах Mists of Pandaria разработчика. К нему мы, пожалуй, и перейдем.

{VictimsNiNo}: Привет, Антон. Насколько я знаю, ты являешься главным разработчиком на реалиях Mists of Pandaria? Я задам тебе несколько вопросов?
{Walle}: Привет. Как бы сказать... У нас нет такого, что кто-то главный, а кто-то нет. Все разработчики между собой равны. Да, давай.

{V}: Теперь будем знать.
Я думаю, практически каждый игрок хотел бы тебя спросить: с чем ты сталкиваешься ежедневно на данной должности? Опиши, как проходит твой «рабочий день»?
{W}: Первым делом проверяю, чтобы в исправлениях было все, что наработали разрабы, отписываю на форум, чего не хватает, ну, и на сервер заливаю, если есть чего нового. Если ночью разливалась обнова, то день начинается с проверкой: "а не вылезло ли чего плохого"? Обычно себе план ставлю, например: в этом месяце делаю достижения, а в следующем буду смотреть баги данжей (подземелий). Ну, и как план поставил, так день и проходит.

{V}: Кхм.. Отлично.
Насколько я знаю, сервер можно поделить на «ядро» и «базу данных». Вот скажи, а как происходит сама работа в базе?
{W}: Работа с базой-это работа с цифрами. В базе используются таблицы, в которых задаешь значения. Самое простое: есть нпц (существо), который должен быть квестодателем, но он, такой засранец, не выполняет своей роли. Первым делом нужно посмотреть, выставлен ли в БД (базе данных) у него нужный флаг, флаг квестгивера («начинателя» квеста).
Кстати, говоря о базе: думаю, что у нас она самая уникальная, в отличие от конкурентов, так как мы постоянно ее апгрейдим (улучшаем). И дошло до того, что сложные механики заклинаний уже можно реализовывать в пару кликов. А раньше нужно было писать скрипт, либо другой код в ядре.

{V}: Ну, а как тогда происходит работа в ядре? Немного иначе?
{W}: По ядру: берем Notepad++ («программистский» блокнот), открываем нужный исходник или исходники, пишем код. Правда, на словах простенько все, а так, иногда несколько дней из-за какого-то одного бага приходится попотеть.
А сейчас у нас сильно политика изменилась по реализации различных механик: раньше, еще во время ЛК, мы, да и не только мы, писали, реализовывали «абы как», одни хаки в ядре были. А сейчас, прежде чем что-то делать, идем собирать информацию на оф, смотреть, какие пакеты прилетают, что в них, и, по возможности, максимально точно реализовывать.

{V}: Да уж… Трудная у Вас работа…
Меня часто игроки спрашивают: насколько трудно сделать боссов? Почему их так долго скриптуют? Естественно, я всего лишь ГМ, а не разработчик, поэтому не могу полностью удовлетворить их интерес. Может, ты ответишь на эти вопросы?
{W}: Из инстовых рейд боссов я делал только Галакраса, т.е. опыта в скриптовке такого рода боссов у меня не было.
Первым делом пошел смотреть разные видео с его убийством, изучать механику, так сказать: читал тактики, задавал вопросы тем, кто играл на офе, и, что самое интересное, даже собрал небольшой отряд тестеров, и мы пошли на оф его «пинать». В итоге на сбор инфы ушло довольно много времени.
К Панде, в отличие от Каты, мы подготовились основательно: у нас есть практически все необходимые сниффы, и они довольно сильно помогают реализовывать тех же боссов или способности.
В итоге Галакраса я делал около месяца. В тот момент был простой по боссам, сейчас объясню почему
По идеи, ответственный за реализацию инстов у нас Sanmay. Как только мы перешли на версию 5.4, он начал пилить ОО. Но ядро на то время еще было немного сыровато для этого рейда и мы отпустили его на ЛК. Он ушел туда примерно на 4 месяца. За это время мы навели красоту, а один из наших разработчиков даже скриптанул еще трех боссов, ну, а я следом Галакраса.
А вот в данный момент, я считаю, скриптовка Осады, идет даже сверх быстро.

{V}: Отлично. Думаю, игроки теперь перестанут возникать по этому поводу.
Вот ты сказал, что "сниффы" помогают реализовывать боссов. А что это такое?
{W}: Есть программка: сниффер. Она записывает пакеты данных, которые летят от клиента к серверу и наоборот. И есть парсер, который расшифровывает их.
Допустим, прилетает тебе пакет SMSG_UPDATE_OBJECT. В нем, допустим, может быть информация о каком-то или нескольких мобах (существах), их левелах, фракциях и всём остальном.

{V}: Ну, раз уж мы начали удовлетворять интерес пользователей, то, может, удовлетворим и "шарящих людей"? Можешь привести пример парочки скриптов? Думаю, один с ядра и один с базы. Ну, и объясни кратко, что он делает?
{W}: Вот вчера, например, набросал реализацию сброса кд и дебафа героизма
С базы данных можно взять за пример таблицу, которая называется creature_template. В ней содержатся все «настройки» для существ. Например, «настройки» для зайца

{V}: Кхм… Занимательно. Как раз здесь наглядно видно то, что ты говорил о базе и ядре.
Ну, и последний вопрос. Скажи, чего ждать игрокам в ближайшем будущем? На что надеяться? Каких глобальных фиксов ждать?
{W}: Все также ведется работа над ОО. Из глобальных: Blackmanos сейчас переписывает сохранение кд в данжах/рейдах под оф. Я пока по мелочи разгребаю и кузню грома собираюсь начать делать. Далеко вперед не будем заглядывать, руководствуясь тем, что уже в процессе разработки.

{V}: Пожалуй, все. Спасибо за уделенное время и удачи в разработке и починках.
{W}: И тебе всего хорошего.

Надеюсь, что данная статья смогла удовлетворить Ваш интерес, уважаемые игроки и гости нашего проекта. И если Вы хотите играть на самом работоспособном сервере с отличными и опытными разработчиками, то приходите к нам на игровой сервер world of warcraft №1 в рейтинге mmotop - uwow.biz