- PVSM.RU - https://www.pvsm.ru -
В Wargaming есть отдельное подразделение, которое занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно — но я попробую.
Привет! Меня зовут Максим. И я тут работаю [в компании Wargaming].
У нас есть отдельное подразделение, которые занимается… занимается разработкой некой «платформы» для издания игр. Объяснить, что такое Платформа, чем она является и не является, весьма сложно. Но у меня и моих коллег есть желание рассказать вам о Платформе и ее внутренней «кухне»: кто мы, что мы делаем, какие технические решения принимаем, что у нас получилось, а что не очень. Я один из «старых» сотрудников этой команды, и в этой статье я хочу рассказать о том, как мы пришли к необходимости создания Платформы и основных этапах ее развития.
World of Tanks — далеко не первая игра компании Wargaming, но создание Платформы началось именно с нее. Хотя само понятие [Платформа] и ее выделение в отдельную сущность появились гораздо позже.
К игре (которая состоит из клиента и сервера) сначала добавились:
Примерно таким составом удалось выйти в закрытое тестирование, начать получать платежи (предпродажи), затем — в открытое и, наконец, в релиз (в августе 2010-го).
Перед релизом «Танков» и долгое время после него основное развитие платформы происходило в режиме «быстрее и побольше». Зачастую в релиз уходили сырые сервисы, которые затем стабилизировались, и наступало время делать уже другие решения для других задач:
«Танки» за это время вышли в релиз в Европе и Северной Америке.
Потом компания стала разрабатывать не только «Танки». И тут стал очевиден недостаток того, что мы сделали ранее для Платформы. Все, что мы разработали, было сделано для одной игры. Мало того, это были фактически рабочие прототипы; на продолжительное тестирование у нас в то время не хватало ни времени, ни рук. О масштабировании на несколько игр мы тогда задумывались в основном теоретически.
В основе серверов игр World of Tanks, World of Warplanes, World of Warships лежит игровой движок BigWorld и базовые задачи интеграции с сервисами платформы могли быть реализованы в общем виде. Но у команд, ответственных за разработку каждой из игр, есть собственное видение того, как именно каждая из игр должна подаваться. То есть, несмотря на то, что общий вектор совпадал, выяснилось, что существует огромное количество отличий, которые приходили к нам в платформу в виде отдельных требований.
Одна часть сервисов (например, игровые веб-порталы «Самолетов» и «Кораблей») фактически оказались разошедшимися fork-ами танкового портала. Вторая часть хоть и оставалась без изменений, но архитектура этих сервисов была такой, что для каждой из игр требовалась работающая в продакшене отдельная копия. И только небольшую часть сервисов было несложно доработать, чтобы оставить единственную копию на все игры в том или ином регионе.
Работы стало гораздо больше, и началась постоянная борьба. Что лучше: единое техническое решение для всех игр или отдельное для каждой? Дублирование — это лишняя работа, но такой подход дает играм возможность свободно делать кастомизации, выпускать релизы чаще и вообще идти своей дорогой.
Когда игры стали выходить не только на PC (речь в первую очередь о World of Tanks на консолях и мобильных устройствах), это коснулось Платформы самым непосредственным образом. «Танки» на этих устройствах — это не порты с PC, это отдельные, полностью переработанные игры. Но! Сервера этих игр, хоть и были переработаны, в самом начале не сильно отличались от PC-шной версии.
На нас легла задача интеграции со сторонними платформами; мы должны были стать некоторым proxy между ними и игрой, взять на себя как можно больше задач взаимодействия и свести к минимуму изменения в серверных частях игр. В первую очередь это такие задачи:
Конкретную работу по интеграции с API Microsoft и Sony вели сами разработчики игр. От нас, как от разработчиков платформы, нужна была доработка определенных компонент и помощь в интеграции. Хотя нам тоже хватало задач, связанных со спецификой работы этих платформ.
Азия — это отдельный мир. И даже не один. Там очень много нюансов. В том числе и в том, как именно люди играют в игры:
В определенный момент времени стали разрабатываться сервисы, которые понадобились для более качественного оперирования игр.
Из того, с чем сталкиваются сами игроки, это:
И много внутренних инструментов для работы отделов поддержки, контента, и других.
Затем наши задачи дополнительно расширились. От поддержки нескольких игр, сделанных компанией Wargaming на движке BigWorld (WoT, WoWP, WoWS), нужно было перейти к поддержке множества других игр, сделанных на совершенно иных технологиях. И не только компанией Wargaming.
Стало очевидно, что многие компоненты могут поддерживать несколько игр, но не десятки/сотни. Да и наши API, использующиеся для интеграции, были очень заточены для игр на BigWorld, но не для игр на других технологиях.
Никакой «новой» Платформы не случилось. Случилось просто добавление нескольких новых сервисов и новых API, которые отлично сосуществуют с «классическими». Играми, которые поехали по новым рельсам (из уже анонсированных) стали:
Ну и началась миграция старых.
Платформа это — совокупность сервисов и инструментов для издания игр — всё то, что позволяет игроку:
А для издателя — помочь игроку это сделать, с учётом всех региональных особенностей и пожеланий разработчиков игр.
Это история, пусть и по верхам, моими глазами. Не надо считать ее официальной — где-то я мог ошибиться, где-то упростить, где-то преувеличить. Но! Очень хочется продолжать делиться информацией. Дайте знать, о чем вам будет интересно узнать, и я и мои коллеги попробуем вам об этом рассказать.
P.S.
За картинки спасибо Pandarama https://www.instagram.com/pandaramka/ [1]
Автор: max_posedon
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/upravlenie-proektami/303662
Ссылки в тексте:
[1] https://www.instagram.com/pandaramka/: https://www.instagram.com/pandaramka/
[2] Источник: https://habr.com/post/434004/?utm_campaign=434004
Нажмите здесь для печати.