Презентация о восстановлении WoW: Classic

Из всего многообразия информации на BlizzCon 2018 мне было интересно узнать новости и детали про WoW: Classic. Возможность посмотреть на демо самой игры шло приятным бонусом. Хотя я и отдавала себе отчет, что это не настоящая игра и удовольствия от одной локации и ограничения уровней персонажа не получить.

Самую главную новость о Classic сообщили на открытии выставки, и она моментально разлетелась по всему игровому сообществу — релиз игры намечен на лето 2019. В сети уже появилась теория о зашифрованной дате релиза, которую якобы разработчики нам сообщили во время презентации. Согласно этой теории этот счастливый момент наступит 16 июля. Очень любопытная дата, ведь мы все знаем, что Близзард обычно не выпускает игры летом. Но спорить на эту тему не буду, ждать осталось не очень долго — скоро сами все узнаем.

Но самое интересное, на мой взгляд, разработчики рассказали в презентации о реставрации WoW: Classic. В самом начале они честно предупредили, что разговор пойдет о технических моментах. И они действительно наглядно в картинках показали и рассказали чем занимались этот год, с какими трудностями столкнулись и что еще предстоит сделать. Объем работ и сроки, которые заняла работа на Классикой, стали понятны.

Вот этот забавный дядечка — старший инженер по ПО — он работал над Классикой еще в те времена, когда она не была классикой, а была просто игрой World of Warcraft. И это здорово, что в команде, которая работает над этим проектом, есть люди, которые стояли у истоков. Хочется верить, что они не меньше нашего хотят вернуть к жизни тот самый Варкрафт.

Итак, из этой презентации мы теперь точно знаем, что всеми нами любимый WoW состоит из трех основных компонент:

  • База данных, в которой хранится информацию о персонажах, игровых предметах, характеристиках заклинаний и т.д. и т.п.
  • Художественная составляющая — звуки, эффекты, музыка, текстуры, модели, вероятно, тексты и т.д. и т.п.
  • Программный код, который соединяет две первые компоненты и на выходе мы имеем игру в привычном ее виде.

Судя по всему при первоначальной оценке трудоемкости они были настроены довольно оптимистично. И может быть в прошлом году, когда аннонсировали WoW: Classic, они рассчитывали выпустить его гораздо раньше. У них была старая версия кода. Они смогли восстановить данные базы данных на состояние предшествующее версии 1.12.

Из части презентации про восстановление программного кода стало понятно, что учет версий они вели в SVN — просто забавный факт. Теперь понятно почему в те времена они не работали параллельно над несколькими версиями, а готовили патчи строго последовательно.

Проблема у них возникла только с поиском оригинальных моделей. Их пришлось восстанавливать из архивов. Самый древний архив относился к 2008 году. Но внутри него была еще одна резервная копия под названием «Final 1.12» — просто повезло. Кто ж знал, что спустя столько лет кому-то может понадобиться собирать такую старую версию игры.

В итоге они смогли повторить тот путь, который проходят все владельцы пиратских серверов WoW версии 1.12. Они локально собрали работающую версию игры — не ахти какое достижение. И поэтому мне непонятны те радостные хлопки из зала в этой части презентации.

Старый клиент игры на то и старый — он не поддерживает все те изменения, которые происходили вокруг него:

  • Он не совместим с Blizzard Cloud
  • Не интегрирован с приложением Battle.Net
  • Нет поддержки отдельностоящих серверов авторизации и обновлений
  • Нет доступа к клиентской поддержке
  • И что самое главное — этот клиент содержит все старые баги и уязвимости (от которых всем, безусловно, хотелось бы избавиться)

И вот тут началось самое веселье. Видимо они поняли, что впихнуть в старый код все эти возможности и натянуть его на новую архитектуру — то же самое, что переписать игру заново. Поэтому решили взять более свежую его версию и попытаться соединить с БД и моделями классики. В презентации они не зря нарисовали эти связи жирными красными нитями — все это выглядит довольно рискованно.

На этом слайде я вспомнила старую песню Алены Апиной «Я его слепила из того, что было…»

Как бы странно не выглядела эта идея, она оказалась рабочей и именно ее взяли в реализацию. Чтобы рассказать про это в этой части презентации на сцену поднялся еще один веселый дядечка — ведущий инженер — который услышав про проект возрождения WoW: Classic сам попросился на него его перевести, потому что очень любит старый WoW.

Он, как непосредственный воплотитель безумной идеи собрать WoW: Classic из разных версий компонент, поделился с нами своей болью.

  • Связи между компонентами намного сложнее, чем может показаться стороннему наблюдетелю:
  • Оказалось, что не так просто «натянуть» старые объекты, отвечающие за рельеф,  на современный движок. Катаклизм, как выяснилось, сломал не только дамбу с Лок Модане и расколол Степи, но также изменил принцип работы движка с этими данными. 
  • Важно было прикрутить к игре «инструменты», которые есть в современном Варкрафте. Предположу, что это средства разработки, которые используются в современном WoW, исходя из его следующих слов: «Наши инструменты очень важны. Поэтому мы приложили достаточно усилий, чтобы убедиться, что наши инструменты работают не только в BfA, но также в WoW: Classic. Это потребовало усилий, но они того стоили. Ведь WoW: Classic не какой-то маленький побочный проект. Это усилия по полной интеграции (WoW: Classic), чтобы он мог иметь полную поддержку командой разработки WoW».
  • Отсутствующие куски кода. В современном коде нет многих данных, например, выпиленные из более поздних версий способности классов. Их пришлось копировать из старого кода и вставлять в новый.

И после рассказа о том, что проектная команда успешно справилась со всеми этими трудностями и даже добавила ранее отсутствующие текстуры лампочек в фонарях Западного края, выступающий дал ответ на самый главный вопрос: нафига все эти сложности, если можно было просто взять и развернуть старый клиент, как делают все умельцы на пиратках?

Как выяснилось, при использовании старого клиента они могли бы гарантировать исправление и работоспособность только «видимых» элементов игры. А вот баги «невидимые» на этапе разработки они исправить не могут. Другими словами, они не знают какие проблемы, баги и узкие места зашиты в изначальном клиенте. Их старый клиент не соответствует тому уровню качества, которым сейчас так гордится Близзард.

Но не все так радужно. У них еще огромное непаханное поле работы — причем довольно важных ее элементов:

Дальше я добавлю пару скриншотов из презентации, которые иллюстрируют, что Близзард следуют концепции воссоздания «той самой» Классики.

Как видим, никакого LFG/LFR, никаких полетов и достижений, никакого кросс-реалма. Привет уютненькие сервера, где ты и имя твоей гильдии снова будут иметь значение.

Некоторые моменты не очень очевидны и по каждому пункту выступающий давал развернутые объяснения:

  • Ограничение на количество дебаффов на цели. Ограничение в 16 дебаффов присутствовало в игре по техническим причинам — на обсчет большего количества дебаффов они не могли выделить достаточно памяти. Сейчас такой проблемы нет и ограничение можно было снять. Но! Снимать они его не будут, т.к. это сломает баланс и не известно на что еще повлияет. <бурные аплодисменты из зала>
  • Письма, отправленные по внутриигровой почте, снова будут идти 1 час<снова бурные аплодисменты из зала>
  • Возможность передать BoP лут сопартийцу в течение 2-х часов. Причину добавления в Классику ранее отсутствующей возможности объяснили тем, что раньше это тоже можно было сделать, но только через запрос ГМ-у и занимало это больше времени. И добавляют это исключительно для нашего же удобства. Сразу скажу, что на эту тему в русскоязычном разделе оф.форума поднялось активное обсуждение — здесь и правда есть о чем поговорить, так что чуть позже я тоже напишу заметку на эту тему.
  • Алгоритм регенерации энергии. Несмотря на то, что старый алгоритм работал не по причине задуманного таким образом дизайна, а из-за технических ограничений, его все равно возвращают.
  • Аддоны. В новой Классики не будут доступны те API, которые раньше использовались «высокоинтеллектуальными» аддонами, которые принимали решения за игроков  (вспомним тот же Декурсив и Хилбот).

И не менее животрепещущий вопрос о контенте: будет ли он доступен весь сразу или будет добавляться в игру постепенно в соответствии с этапами развития оригинального WoW. Ответ на следующем скриншоте. Но стоит отметить, что этапы добавления контента подписаны как «Current thinking» и было сказано, что этот момент еще будет обсуждаться в том числе с привлечением игрового сообщества.

От себя скажу, что презентация оказалась интересной и познавательной. Теперь ждем весны. Прогнозирую, что в это время должно начаться тестирование (а тестировать там есть что). И как следствие, появится больше новостей и подробностей.

Поделись заметкой:

Похожие записи:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *