BlizzCon 2015: Ничего не скрывая

Помимо предыдущих двух конференций в Амфитеатре на BlizzCon 2015: BlizzCon 2015: Беседа в Амфитеатре и BlizzCon 2015: Беседа в Амфитеатре (продолжение) + подарок, как оказалось, была еще одна. Данная конференция была проведена с теми разработчиками, которые, грубо говоря, видели игры Blizzard "голыми", а если быть точнее, то именно они занимались написанием кода для World of Warcraft, Overwatch, Hearthstone, Starcraft, Diablo, Heroes of the Storm и т.д. (да, есть и те, которые писали код для более старых игр компании). Несмотря на все разнообразие перечисленных игр, написанием основной кодовой части занимается одна и та же команда, В ходе интервью ребята поведали о своих приключениях во время работы в Blizzard, а также других интересных фактах о играх, которые, если бы не это интервью, мы бы никогда не услышали и не узнали.

  • Все мы знаем о том, как китайцы относятся к своим традициям и культура. Многие слышали и о том, какие трудности испытывала компания Blizzard, чтобы, наконец, их игра World of Warcraft стала доступна жителям Китая. Их клиент игры сильно отличается от нашего, поскольку согласно традициям этой страны, изображение скелетов, открытых костей и т.д. запрещено, также "пострадал" дизайн некоторых локаций. Как бы то ни было, компании пришлось идти на такие жертвы, поскольку основная часть игроков - это жители азиатских стран. Подобные трудности испытывались и при демо-презентации Overwatch в Китае. Как оказалось, разработчики попросту забыли удалить кровь и, соответственно, это могло грозить полным провалом. Осуществить рекомпиляцию игры на месте возможности не было, а для того чтобы скинуть целый клиент игры с Калифорнии в Шанхай (именно здесь должен был проходить показ игры) нужен был хорошей интернет, но, к сожалению, скорость wi-fi в Китае очень хромает (похоже, оно равносильно качеству их внешних товаров). После некоторых раздумий, инженеры решили пропатчить исполняемый файл игры, поскольку в нем шла обработка спецэффектов, отвечающих за попадание в игроков или в стену. Изменив пару строк, некое подобие на лаунчер, было оперативно отправлено в Шанхай где, в итоге, успешно прошел показ Overwatch - первого шутера от компании Blizzard.
  • Возвращаясь в прошлое, приятно вспомнить о новом, действительно революционном дополнении World of Warcraft Warlords of Draenor. Те, кто следил за нашими новостям, неплохо пощекотал себе нервишки, читая заявления разработчиков. И, конечно же, главной новинкой дополнения, а в итоге, абсолютным разочарованием как игроков, так и разработчиков, стали Гарнизоны. Многие помнят о том, как же было в первые дни релиза, когда приходилось по несколько часов ждать своей очереди, чтобы войти и испытать на себе все новинки дополнения. Как теперь объясняют разработчики, все связано с тем, что сама игра немного устарела и, несмотря на то, что серверного оборудования для обслуживания потока игроков было более чем достаточно, для каждой функции нужно было четко распределить, какой сервер что будет обслуживать: аккаунты пользователей, создание подземелий, базы данных и многое другое. Конечно же, предварительно, инженеры подготовили некую конфигурации распределения, но она не была протестирована надлежащим образом, что в итоге привело к переполнению памяти серверов, которые должны были отвечать за подземелья. Все это было связано с Гарнизонами, ведь каждый созданный Гарнизон - это, по большому счету, новое подземелье и, конечно же, каждый хотел сразу же зайти в свой. В течении адских восьми часов, работники датацентра компании пытались как можно быстрее решить возникшую проблему, добавляя память серверам, изменяя способы нагрузки и т.д.

  • Многие знают о том, что Heroes of the Storm была создана на основе движка Starcraft. Несмотря на это, обе игры очень разные, как в плане общего геймплея, так и в плане кода, поэтому у каждой свои потребности. Учитывая то, что код для Starcraft писался очень давно, некоторые из его частей уже давненько устарели и их приходится переписывать, обновлять под HotS. Несмотря на это, разработчики стараются заботятся и о пользовательских модах, которые создали обычные смертные на основе данного движка. Именно для этого разработчики часто используют различные пути обхода для того чтобы не задеть важные элементы движка. Конечно же, все бы давалось с трудом, если бы в компании не работали люди, которые писали данный код еще 15 лет назад.
  • Многие не могли не заметить тот факт, что стандартный рюкзак персонажа имеет и ранее имел 16 слотов. Данное количество свободных ячеек преследует нас еще со времен создания игры World of Warcraft. Как объясняют разработчики, все это связано с некой ошибкой, допущенной ранее, при написании обработки инвентаря персонажа. Данные инвентаря были занесены в определенный массив данных, где описывались сначала вещи, которые были на персонаже, а затем и сам рюкзак. В дальнейшем массив пополнился и данными банка персонажа, поскольку те могли получать доступ к нему лишь в определенных местах. Исходя из того, что было "напрограммировано", шаг влево, шаг вправо - расстрел. Для того чтобы хоть что-то изменить в коде, нужно перечитать тысячи строк кода для поиска ошибок и недочетов, а затем, отдел тестирования должен будет провести невероятную работу для испытания тех или иных проблем написанной системе. Несмотря на это, все равно что-то пойдет не так. Именно поэтому разработчики решили оставить количество слотов основного рюкзака фиксированным, нежели создать множество проблем как себе, так и игрокам.
  • Также как в случае с движком Starcraft и фиксированным рюкзаком для персонажей в World of Warcraft, другие игры и наработки Blizzard построены на старом коде от которого, к сожалению, уже никуда не денешься. Каждый раз, когда команда разработчиков задумает сделать что-то новое, им придется переписывать или же описывать новыми строчками кода старое. Также случилось и при увеличении количества друзей, которое может иметь игрок в своем Battle.net, Они провели множество бессонных ночей за тестированием всех игр, чтобы удостовериться в том, что же может случиться не так. К сожалению, множество проблем, помимо баз данных и самого кода, связана с интерфейсом некоторых игр Blizzard, ведь он создавался много-много лет назад. В итоге, разработчикам приходится писать свой интерфейс с ноля, но делать это так, чтобы добавленные новые и существующие старые функции работали как в новом, так и в старом интерфейсе.
  • Все сотрудники Blizzard - действительно талантливые люди, но больше всех отличаются именно дизайнеры. Их потоку идей нет конца и ни один программист не может им отказать. Именно поэтому, когда один из дизайнеров приходит и просит добавить нового героя в Heroes of the Storm, которым смогут управлять два игрока, у программистов, вначале, настает абсолютный шок, но после некоторых раздумий, "звонков маме и двух истерик", они садятся и делают то, что предложили дизайнеры.

  • Общая команда разработчиков Overwatch разделена на несколько бригад, каждая из которых занимается определенным участком работы, к примеру, созданием того или иного героя. Обычно, в составе такой бригады, работают такие люди как: дизайнер геймплея, художник, конечно же программист, специалист по спецэффектам и звуковик. После завершения своего участка работы разработчики сами испытывают то, что натворили, тем самым получая опыт, а также подмечая для себя те недостатки, которые они допустили. В любом случае, это лишь один из этапов проверки, ведь у Blizzard есть свой отдел тестирования и, конечно же, дорогие фанаты, которые отписывают о недостатках встреченных в игре.
  • Многие слышали рассказы о том, что программист и дизайнер - как собака с котом. С одной стороны, это действительно кажется именно так, поскольку один придумал, а другому нужно это, грубо говоря, воплотить в жизнь. Как бы там ни было, что дизайнер, что программист имеют одну общую цель, поскольку первый отвечает за эмоции и первые, а также дальнейшие впечатления игроков от геймплея и игры в целом, второй же должен сделать так, чтобы геймплей игры не показался игрокам скучным, недоделанным или неполным со стороны кодовой поддержки.
  • Ранее велось множество обсуждений о том, почему бы в лаунчере Battle.net не добавить режим "Невидимости". Согласно словам разработчиков, реализация подобной фишки не составляет никаких проблем в плане кода, но вот логика игры этого вовсе не позволяет. Конечно, если вы, вместо того чтобы профилонить какой-либо рейдовый в World of Warcraft поход пошли играть в Diablo, это одно дело. А представьте себе, что у вас стоит пометка "оффлайн", но на самом деле ваши же согильдейцы видят вас возле почтового ящика в Оргриммаре. 

  • Отдел тестирования и оптимизации Blizzard обладает большим набором различных программ, которые они используют в своей работе. Одной из таких программ является широко известная программа Vtune. Из приватных наработок разработчики привели пример тестирование карты в Heroes of the Storm, где они расставляют около десятка персонажей и заставляют их драться друг с другом на протяжении некоторого времени. В процессе сражения герои могут изменяться и выстраивать свои ветки талантов. Статистика такого боя помогает разработчикам найти возникшие проблемы в балансе игры.
  • Следующую историю разработчики, скорее всего, рассказали из-за того, что просто "накипело". Ранее в их команде работал парень, который перевелся в Blizzard с сферы высокочастотного трейдинга. Именно его разработка помогла компании Blizzard получить колоссальную прибыль за счет того, что данный разработчик смог оптимизировать код хеш функции, после чего для её вызова потребовалось на 120 наносекунд времени меньше, нежели было до оптимизации. К сожалению, достойного вознаграждения разработчику так и не удалось получить.
  • Несмотря на то, что технологии уже давно пошли вперед и, соответственно, компания Blizzard - один из гигантов игровой индустрии, непрерывно следует им, мы до сих пор сталкиваемся с еженедельными отключениями серверного оборудования для профилактики и патчинга. Конечно же, как и в случае с выпуском дополнений, так и с непрерывной работой серверов разработчики ведут постоянную борьбу за те несколько минут, которые помогут решить данную проблему. Но на данный момент, увидеть новое дополнение раньше - намного реальнее, нежели отказаться, от еженедельной профилактики, поскольку, как мы уже писали выше, сама игра World of Warcraft по своей внутренней начинке немного отстает во времени и технологиях, также некоторые проблемы связаны и с лаунчером Battle.net. Но, несмотря на это, во время проведения BlizzCon 2015, сервера были недоступны всего 53 минуты, а не целых 60, как это было ранее.
  • Ранее, у разработчиков была навязчивая идея - скрыть все файлы клиента World of Warcraft от назойливых датамайнеров, которые вечно путали планы разработчиков и раскрывали все их тайны еще до того как выйдет новое дополнение, либо сами представители компании не решат провести конференцию и рассказать только о НЕКОТОРЫХ новинках дополнения. К сожалению или к счастью, это решение будет вовсе нерациональным, поскольку зашифрованные файлы нельзя обновить и, каждый раз при выходе нового патча, вам пришлось бы перекачивать полностью весь клиент игры.

  • Учитывая то, что все игры Blizzard несут в себе некую частицу старого кода, они, словно пороховые бочки, могут в любой момент "взорваться". Разработчики рассказали о том, что при официальном первом релизе World of Warcraft, чуть ли не каждый второй игрок хотел воспользоваться новоиспеченной командой /who, которая показывала находящихся в игре друзей. На обработку сотен тысяч подобных запросов уходило около 85% серверного времени.
  • Команды разработчиков игр Blizzard имеют номерное распределение: 1 номер был присвоен разработчикам Starcraft 2 и Heroes of the Storm, 2-й - разработчикам World of Warcraft, 3-й - разработчикам Diablo, 4-й - разработчикам Overwatch и, наконец, 5-й - разработчикам Hearthstone.
  • Старый код - это словно старые поношенные джинсы, на которых уже очень много латок, несвязных тканей и других непонятных приспособлений. Также случилось и с кодом в играх Blizzard. Переписывать весь старый код с самого начала у компании нет ни денег, ни времени, да и подобное весьма опасно, поскольку все старое уже проверено бесчисленным количеством различных ситуаций, поломок и т.д. Изменения старого кода проводится исключительно некоторыми фиксами в отдельных строчках, конечно же, если сам код позволяет это сделать. В других случаях, некоторые элементы старого кода приходится, все же, переписывать заново.
  • Разработчики вновь хотели напомнить игрокам, которые записались на тестирование Overwatch (а желающих оказалось невероятно много) о том, что они ждут 100%-ной отдачи от них, поскольку их отзывы невероятно важны для всей команды разработчиков. Более того, они даже упомянули о некоторых отзывах, к примеру: их порадовал отзыв игрока из Чили, а также игроков, которые попытались поиграть в игру через свой смартфон, связываясь с интернетом через 4G. Сама игра планируется к выпуску на всех платформах одновременно и многие из инженеров весьма озадачены грядущими проблемами.
1678
0
0
Добавил: No_MaTTeR