WORLD OF WARCRAFT

Тема: Обзор круглого стола «Искусство программирования: работа программистов Blizzard»  (Прочитано 8446 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Antsoli

  • Новичок
  • *
  • Сообщений: 8
  • Vene. Vidi. Vici.

  • Варкрафт: +
    • Имя: Deniss
    • Класс: Mage
    • Сервер: Twisting Nether



Подготовили для вас обзор того, что происходило во время сессии вопросов и ответов с инженерами из Blizzard на круглом столе “Искусство программирования”. Каждый мог присоединиться к сессии и спросить о том, как создавались их любимые игры. Во время этой встречи обсуждались некоторые технические аспекты.:cut:

Участники:
  • Рэйчел Дэвис, ведущий инженер, неанонсированный новый проект
  • Мэтт Ян, инженер-программист, World of Warcraft
  • Джон Хойерман, ведущий разработчик, Diablo 4
  • Джесси Бломберг, ведущий серверный инженер, Overwatch
  • Натан Браун, старший инженер-программист, Battle.net и онлайн-продукты
  • Анна Росеберг, младший инженер-программист, Battle.net и онлайн продукты

Вопросы и ответы с программистами Blizzard

В: Как вы попали в Blizzard?
Анна: Выросла на играх Blizzard, затем поступила в университет на факультет “Игровой дизайн и разработка”, получила стажировку в Blizzard Ausitn, а затем полный контракт.
Натан: Начал в команде поддержки Blizzard, затем попал в отдел качества, позже в команду разработчиков. С тех пор занимаюсь разработкой различного инструментария.
Джесси: Пошел в колледж на “компьютерную инженерию”, друг получил работу в Blizzard, замолвил за меня словечко. Теперь работаю над WoW и занимаюсь инструменатрием.
Джон: Пробил по Ирвайну. Увидел офис Blizzard, на тех выходных подал свое резюме и позже начал работать.
Мэтт: Играл в WоW еще ребенком. Занимался программированием в университете, мне понравилось. Всегда хотел работать именно в Blizzard. Получил стажировку в компании, а затем мне предложили полный контракт.
Рэйчел: В колледже поняла, что влюблена в инженерию, мне было 19. О Blizzard узнала случайно, нам нужно было поиграть в WoW, в качестве домашнего задания. Потом получила стажировку в компании и затем полноценную работу.

В: Каково это работать над такой огромной игрой, как WoW?
Мэтт: Очень круто и очень страшно, потому что всё, что вы делаете имеет огромный эффект для миллионов людей. В начале переживал, как бы не отстать от команды, но у Blizzard на всё есть свой вопрос - у меня были отличные наставники и менеджер.

В: Как сложно попасть в игровую индустрию?
Джон: Я - доказательство того, что Вы можете сюда попасть откуда угодно. Раньше я работал в Disney, как раз когда подал заявку в Blizzard. Есть так много разных видов программирования, которые применяются при разработке игр, так что вам не нужно никакого опыта работы с играми. Мы, например, занимаемся разработкой инструментария для создания игр. Важно понимать, что независимо от вашей специальности, нужно иметь большой опыт инженерии.

В: Что делает серверный инженер?
Джесси: Моя команда ответственна за интеграцию серверного стека в платформу, ответственную за остальные продукты Blizzard - Battle.net. После этого мы занимаемся разработкой разных функций. Наша команда, например, занимается разработкой поиска игр (прим. ред. имеется в виду подбор игр), групп. Мы работаем над платформой и инфраструктурой серверов в Overwatch и делаем так, чтобы все функционировало. Моя команда заставляет торт стоять. Никто не захочет получить себе красивый и вкусный, но бесформенный торт, должно быть что-то, что заставляет его стоять. Вот это и есть наша ответственность.

В: Натан, что вы делаете для Battle.net и онлайн продуктов?
О: Мы - стол, на котором стоит тот самый торт. Наша команда ответственна за тестирование различных пользовательских систем, мы называем её Мурки. Также мы занимаемся менеджментом API, документации и внешних инструментов для разработки.

В: Чего ожидают от младшего инженера-программиста в Blizzard?
Анна: Основная моя задача - учиться и расти. Это резонирует в нашей инженерной культуре, такие вещи заставляют меня двигаться вперед и работать над проектами, которые в противном случае мне были бы не под силу. Коллаборация со старшими инженерами позволяет мне расти. Например, сейчас я работаю над функциями аутентификации, что является для меня абсолютно новым опытом.

В: Что вы используете для разработки?
О: Мы используем как новые, так и старые программные решения. Например, некоторые игры были сделаны до того, как люди придумали облачные сервисы. Новые проекты используют новейшие технологии, конечно.

В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

В: Влияет ли киберспорт на принятие архитектурных решений на платформе?
О: Мы должны быть надежными, независимо от того, транслируются они (игры) или нет. Мы делаем игру для игроков, поэтому надежность важна во время трансляции и дома.

В: На какие вакансии я должен подавать свое резюме, если я не подхожу ни под какие требования?
О: Подавайте на те вакансии, которые вам интересны. Но, пожалуйста, редактируйте свое резюме под конкретную вакансию.

В: Изменилось ли у вас что-нибудь после того, как в силу вступили последние законы о безопасности данных?
О: Да, много людей много часов работали над этим. Есть отдел инженеров по безопасности, который внедрил систему “Warden”. Мы всегда очень внимательно относимся к данным игроков. В Overwatch наш инженер работал над одной деталью в процессе перехода под стандарты GDPR (прим.ред - закон о защите личных данных пользователей) целых четыре месяца. Для нас это все очень серьезно.

В: Есть ли возможность стажировки для тех, кто уже работает?
О: Вы можете, если вернетесь на учебу, но никаких ограничений по возрасту нет.

В: Есть ли какой-нибудь единый стандарт для кода в Blizzard? Насколько вы свободны в этом плане?
О: Blizzard работает так, будто несколько студий собрались под зонтиком. Каждая очень автономна, но мы много взаимодействуем. У нас есть совет инженеров, в которых входят все технические директора каждой команды, там мы обсуждаем вопросы не только разработки, но и компании. Но обычно команды трудятся отдельно. Они похожи, а код доступен сразу всем. Но, в конце концов, обычно появляется много работы.

В: Какие-нибудь альтернативные варианты добраться до вершин, которые не требуют образования в университете?
О: Нет никакой необходимости иметь образования в области инженерии. Что реально круто в программировании это то, что каждый может реализовать себя в этой области. Хотите делать игры? Начинайте тогда, как только захотите. Попробуйте с малого - сделайте крестики-нолики. Вы можете учиться по ходу дела, работая в таком ключе. Университет - не необходимость, но очень важно показать, что вы уже что-то сделали. Альтернативой является ваше портфолио на GitHub или игра, которую вы сделали.

В: Какие подходы используете для динамического скалирования ваших продуктов, чтобы клиент был доволен?
О: Некоторым играм достаточно предоставить сервера с возможностью высокой производительности на пике запросов. Overwatch, например, находится на частных серверах, данные на серверах автоматически скалируются. Где возможно, мы стараемся применить аналогичную технологию.

В: Что нужно для работы над ремастерами?
О: Страсть, возбуждение, попытки и ошибки.

В: Продукты Blizzard всегда имеют много одновременных пользователей, как вы справляетесь с проблемами, когда дело доходит до больших цифр?
О: Мы используем кое-что, что называется “G Knock” для отслеживания количества текущих пользователей. Когда мы выпускаем новую функцию, то сперва тестируем её внутренними силами на 100 человек. Затем наша команда запускает роботов, который делают аналогичную симуляцию, но уже с тысячами и сотнями тысяч пользователей.

В: Можете рассказать про SRE?
О: Мы работаем с этим. Сервис выгружает актуальную версию на облако. Они (инженера) знают, как билды должны выгружаться, как всё работает с точки зрения безопасности. Мы используем их часто в различных ситуациях.

В:  Как вы получаете обратную связь о вашей работе в личное время?
О:  Работаю над программами с открытым кодом. Пробовать себя в разных областях это важно.

В: Как используются инженеры программного обеспечения в Blizzard?
О: У нас много партнеров с разными утилитами, нам приходится много тестировать, постоянные тесты обеспечения, хотя мы и не можем тестировать каждую смену обеспечения. Мы пытаемся проверить всё, что в наших силах, чтобы понять, что может помочь и так далее.

В: Blizzard последует примеру EA и откроет свои библиотеки для разработчиков? Какую версию C++ вы используете?
О: Никаких стандартов по С++ у нас нет. Очень рискованно выбирать момент, когда можно перейти на один стандарт. WoW сделан на С++ 17. Overwatch создан на 4 разных платформах, так что мы имеет разные ограничения от разных платформ. Нельзя агрессивно идти в сторону стандартизации и их обновлений, так как это может понести неоправданные риски.

В: Насколько заранее вы узнаете о потенциальном функционале? Как долго вы работаете над нововведениями? Вы вообще знаете, что разрабатываете?
О: Нас всегда включают в эту работу, не бывает такого, что нам просто говорят: “сделайте это”. Это очень плотная коллаборация. Инженера находятся в разработке с самого начала, с момента появления идеи. Время на разработку всегда разное.
« Последнее редактирование: 03 Ноября, 2019, 19:04:46 by Wishko »
Рассказываю про игры от Blizzard в своём маленьком (очень) бложике.

Ссылка

Шкиппа

  • Завсегдатай
  • **
  • Сообщений: 875
  • За Орду

  • Варкрафт: +
    • Имя: Александр
    • Класс: Охотник
    • Сервер: Борейская тундра
В ВУЗах преподают игровой дизайн, задают в виде урока поиграть в ВоВ офигеть))

Lorden96

  • Старожил
  • ***
  • Сообщений: 1979
Респект им конечно.

Molfy

  • Старожил
  • ***
  • Сообщений: 2330
В ВУЗах преподают игровой дизайн, задают в виде урока поиграть в ВоВ офигеть))
А что не так?
Дизайнер должен играть в игры. И много. Нельзя же делать то, в чём не разбираешься?
А WoW - давно законодатель жанра и игровой дизайн там более чем заслуживающий внимания.
Agus fágaimíd siúd mar atá sé

pr0stak

  • Старожил
  • ***
  • Сообщений: 1841
тем временем уже 15 минут показывает 1 минуту >:(
Специально для Mylisp, в жопу себе засунь кнопку и проверни.

Поддержим вымирающий вид хохлов!

sunset901

  • Завсегдатай
  • **
  • Сообщений: 161

Джесси: Пошел в колледж на “компьютерную инженерию”, друг получил работу в Blizzard, замолвил за меня словечко. Теперь работаю над WoW и занимаюсь инструменатрием.

Ну теперь понятно,почему у ВОВ такие проблемы,Хазикостас блатных понабрал, 2 стажера пашут 24 на 7,другие в твиттере зависают и тайм гейты за стаканчиком колы с коньячком выдумывают новые для полета и сюжетки.

ghummbor

  • Завсегдатай
  • **
  • Сообщений: 124

  • Варкрафт: +
    • Имя: Кошириман, Ламивари, Бернули
    • Класс: Шаман, Монах, Паладин
    • Сервер: Черный шрам, Гордунни

Джесси: Пошел в колледж на “компьютерную инженерию”, друг получил работу в Blizzard, замолвил за меня словечко. Теперь работаю над WoW и занимаюсь инструменатрием.

Ну теперь понятно,почему у ВОВ такие проблемы,Хазикостас блатных понабрал, 2 стажера пашут 24 на 7,другие в твиттере зависают и тайм гейты за стаканчиком колы с коньячком выдумывают новые для полета и сюжетки.

Вот бы вас туда, вы бы в одиночку все проблемы решили у близзов.

Lorch

  • Завсегдатай
  • **
  • Сообщений: 166
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

Они идиоты или просто прикалываются?
« Последнее редактирование: 03 Ноября, 2019, 19:45:58 by Lorch »

Yorsaj

  • Новичок
  • *
  • Сообщений: 38
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

Они идиоты или просто прикалываются?
Да вот если честно хз. Скорее первое. И кстати, куда они LUA дели. Или весь интерфейс у них на яве или на питоне теперь  :facepalm:

PS: для тех, кто не понял возмущения, выделенные названия являются фреймворками или частями фреймворков, но никак не языками программирования.

angmarec

  • Старожил
  • ***
  • Сообщений: 1140
  • Почетный хейтер
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

Они идиоты или просто прикалываются?
На самом деле идиоты) в близзард очень мало платят, так как там работают вот такие идейные вчерашние студенты, многие девелоперы снимают квартиру на троих и подрабатывают на убере

DeMo.nick

  • Ветеран
  • ****
  • Сообщений: 6154

  • Варкрафт: +
    • Имя: Мясовоз
    • Класс: Рыцарь Смерти
    • Сервер: Пиратская бухта
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.


Они идиоты или просто прикалываются?

На самом деле идиоты) в близзард очень мало платят, так как там работают вот такие идейные вчерашние студенты, многие девелоперы снимают квартиру на троих и подрабатывают на убере

Главное что
(показать/скрыть)
In Dedicato Imperatum Ultra Articulo Mortis

alex_ftl

  • Завсегдатай
  • **
  • Сообщений: 152
гуглем переводили?  :(

xvolt

  • Новичок
  • *
  • Сообщений: 5
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

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

Mercurionio

  • Ветеран
  • ****
  • Сообщений: 5328

  • Варкрафт: +
    • Имя: Астронимо
    • Класс: Рейдэн
    • Сервер: Пиратская бухта
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

Они идиоты или просто прикалываются?
В программировании не столько важно знание языка сколько умение работать с фреймфорками и их паттернами. Языки универсальны и используются для любых задач, а фреймворки специализируются на более узкой области и требуют опыта работы с ними, так как их функции обширны. Поэтому это все равно, что язык учить.
Это всё круто. Только если подобный вопрос задают программеру ОДНОМУ, то выходит, что он пашет над всем скелетом игры. Начиная от работы самого движка и запросов в базу данных, заканчивая веб интерфейсом. Не проще ли тогда уже сугубо спецов нанять, чтобы они там всё чётенько слепили?

Что до фреймворк/язык, то тут скорее трудности перевода. В вопросе наверняка имелось ввиду что-то вроде "какие познания и инструменты нужны в работе". Ну вот, разбирайся в плюсах, пайтоне, пару фреймворком ещё до кучи.

PS: кстати. Что за VIEW такой? Я нуб, наверное, но я знаю только Vue JS  ???
« Последнее редактирование: 03 Ноября, 2019, 23:08:43 by Mercurionio »

arkan

  • Завсегдатай
  • **
  • Сообщений: 164
Цитировать
В: Какой язык программирования может пригодится инженерам, мечтающим попасть в компанию?
О: С#, C++, HLSL, WPF, Python, Java, Spring, Angular, View. Понимание общих концептов важнее, чем знание определенного языка.

Они идиоты или просто прикалываются?
Да вот если честно хз. Скорее первое. И кстати, куда они LUA дели. Или весь интерфейс у них на яве или на питоне теперь  :facepalm:

PS: для тех, кто не понял возмущения, выделенные названия являются фреймворками или частями фреймворков, но никак не языками программирования.

Вот только их выучить наверное еще сложнее, чем сами языки.

 

закрыть