Как стать автором
Обновить

Комментарии 23

Объяснить, что такое Платформа, чем она является и не является, весьма сложно

А мне кажется просто — это свой Steam со своими блэкджеками фишками.

Не совсем так. Когда разработчик издает игру через Steam, ему нужно готовить инструментарий для управления игроком — для рассылок, служба поддержки, начисления имущества, отчеты, email рассылки и многое другое. У нас это входиь в платформу, а у Steam-а этого нет (наверное и не может быть). Т.е. Steam это просто инструментарий для продаж и дистрибуции — а вопросов гораздо больше.

Иными словами, это продвинутый «бекэнд» для онлайн игр.
В целом закономерный шаг, что ваш внутренний функционал стал достаточно гибким и универсальным, чтобы поделиться ими с другими.
Вот только не уверен, что подготовка такого бекэнда самостоятельно было большим барьером — тогда как в мире онлайн разрывают Fortnite, PUBG, Dota 2, League of Legends, ну и танки конечно, зайти с интересным проектом, хоть и сэкономив время на бэкенде, может быть очень трудно.
Вот только не уверен, что подготовка такого бекэнда самостоятельно было большим барьером

Разработка нормального «обвеса» игры по моему опыту может занимать и половину и больше половины от общей работы. Конечно, от игры ещё зависит и от желаемого качества.
поделиться ими с другими

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

И вообще, это больше вопрос к бизнесу. А мы тут инженеры. Мы хотим рассказать, как она (Платформа), работает. И почему она такая.

зайти с интересным проектом, хоть и сэкономив время на бэкенде, может быть очень трудно

У нас бизнес задача — сэкономить / сделать общим этот [то что можно обобщить] бэкенд для игр Wargaming-а
Стим был просто в качестве самого популярного примера платформы. Вместо него можно было написать Origin, BattleNet, UPlay и т.д. — все это разные платформы, так что современному игроку весьма просто объяснить что такое платформа (я только это и имел ввиду своим комментарием). Другое дело что возможно вам сложно объяснить чем ваша платформа отличается — на то и статья написана.
Ну и в любом случае, у вас написано — «Платформа это — совокупность сервисов и инструментов для издания игр — всё то, что позволяет игроку:
зарегистрироваться;
залогинится;
заплатить;
скачать игру;
получить помощь.»
Как-то маловато отличий от любой другой платформы, включая тот-же стим :)

Когда разработчик издает игру через Steam, ему нужно готовить инструментарий для управления игроком — для рассылок, служба поддержки, начисления имущества, отчеты, email рассылки и многое другое. У нас это входиь в платформу, а у Steam-а этого нет (наверное и не может быть)

1 — поэтому я и сказал — со своими фишками.
2 — рассылки, служба поддержки, управление игровым имуществом и многое другое (сообщество, френдлист и т.д.) — в стиме есть.
3 — странно слышать, что разработчику надо делать инструментарий для стима как альтернатива тому, что вы делали инструментарий для другой (своей) платформы. В любом случае разработчику надо делать инструментарий.
Вы сделали свою платформу — молодцы и круто конечно, но вы это сделали только для своих игр, поэтому и фишек смогли больше накидать. Как только (если) попробуете дать возможность пользоваться этим инструментарием другим разработчикам — тогда и посмотрим насколько ваша платформа лучше и удобнее других.
управление игровым имуществом

Попробую на примере этого объяснить, но признаю, что разница может быть не понятна (надо возможно в отдельной статье об этом пояснить) — через Steam можно начислять только имущество, про которое он знает (используя различные bundle-ы и тд) — для MMO игр этого недостаточно, ведь огромное количество логики / функциональности зашито в игровой сервер, и отделу поддержки нужен UI для прямого управления этой функциональностью. Например (то что, я не знаю как сделать через steam):
1. посмотреть последние 10 боёв игрока
2. посмотреть список его внутри-игровых трат золота/серебра
3. поменять балансировку карт
4. поменять цены / характеристики

надо делать инструментарий

У нас не надо. Ну то есть вроде и надо, но мы делаем это за его. Пытаясь сделать это один раз на все игры, которая впускает компания.
Я вас прекрасно понял, но я своим первым комментарием имел ввиду совсем другое.
Основные задачи платформы вы описали в самом конце под заголовком «Итого» — они ровно теже, что и у других платформ, и я только касательно этого сказал что объяснить что такое платформа — просто.
Ну и возможности платформы я рассматривал с точки зрения игрока — менять балансировку карт или цены/характеристики явно не для игроков примочки :)

Честно говоря, мне не нравится что у каждого разработччика или издателя появляется своя платформа — конечному пользователю приходится устанавливать их даже ради одной игры. И если ты не школьник (про игрок/стриммер и т.д.) с кучей разных игр и времени на них — то для тебя что иметь для каждой игры свой логин, что для каждой платформы — разница не велика, а вот всякого ненужного софта будет меньше.
Я как-раз из тех, у кого мало игр, причем в UPlay и Origin по одной игре только, вот и толку мне от этих платформ?

Но то, что это не нравится лично мне конечно не означает что это плохо или что я это осуждаю — каждый делает как ему удобнее и выгоднее, просто хотелось-бы иметь возможность обходиться и без лаунчеров разных :) Дайте выбор пользователю какую версию он желает. Купить игру, посмотреть статистику и т.д. все-равно можно на сайте без какого-либо лаунчера.

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

Увы, Nothing personal — it's just business. Все платформы берут % от дохода, типичная цифра — 30%, это не мало. Если игра очень успешная, то сумма получается такая огромная, что дешевле сделать свою платформу. Так же, для MMO free2play игр оказывается, что эти платформы не самые подходящие/удобные.

У Steam-а например плохие бинарные обновления — они основаны на алгоритмах, bittorrent. А у нас на rsync — танковые (ежемесячные) обновления в steam-е бы вызывали скачивание 10 гигабайт, а не 1.
Все платформы берут % от дохода

Знаю, поэтому и понимаю почему так происходит :)
Но не понимаю, почему нельзя разрешить пользователю отказаться от платформы…
Чтобы продолжать зарабатывать с пользователя. Т.е. можно, но глупо с точки зрения бизнеса. «Собственному» игроку, гораздо дешевле (почти бесплатно) «впаривать» другие свои продукты (а за стороннего нужно заплатить за рекламу). Вообще вся эта аудитория и является большим business asset-ом хоть Wargaming-а с танками, хоть Epic Games с Fortnite.

А Free2play игры (или платные игры с элементами продажи голды или аналога) — они вообще подразумевают постоянное получение денег с игрока.
Дайте знать, о чем вам будет интересно узнать, и я и мои коллеги попробуем вам об этом рассказать.

Архитектура этого всего, конечно. И организация процесса разработки, его эволюция, как команды взаимодействуют. Что стандартизируется, что отдаётся на откуп командам. Какой зоопарк технологий в итоге получился.

Когда в open source?

Когда оно всё начиналось, была ещё wiki по игре. Она загнулась или просто не считается частью платформы?

На сколько сильными остались связи с BigWorld?
Архитектура этого всего, конечно. И организация процесса разработки, его эволюция, как команды взаимодействуют. Что стандартизируется, что отдаётся на откуп командам. Какой зоопарк технологий в итоге получился.

Принято.

Когда в open source?

Не знаю / никогда. В лучшем случае какие-то маленькие кусочки.

Когда оно всё начиналось, была ещё wiki по игре. Она загнулась или просто не считается частью платформы?

wiki.wargaming.net/ru/World_of_Tanks как был так и есть. Вообще то, что является частью платформы организационно и функционально — разные вещи. Развития возможностей площадки — нет, не происходит.

На сколько сильными остались связи с BigWorld?

Игра больше не обязана быть на BigWorld-е, чтобы легко было проинтегрироваться.
А зачем игроку Wargaming Game Center (WGC) держать запущенным когда он запускает игру? Зачем этот лишний процесс на его компе, когда можно запустить WGC по необходимости.
Зачем нужно было калечить старый торрент-клиент и убирать стандартные торрент-файлы? Сейчас даже нельзя посмотреть какие параметры торрента в p2p. Если раньше до WGC игра качалась порой и на сотке мегабит подхватывая локальных или пиринговых пиров, то теперь даже ниже скорости в рамках тарифа. В Беларуси у многих провайдеров не режется скорость как внутри своей сети, так и по стране. Вангую, в вашем торренте уже нет ни локального ретрекера, ни республиканского. Могли бы и веб-сида хотя бы одного на страну прикрутить. Кстати, Атлант телеком в своё время его прикручивал к вашему торренту, правда в виде обычного сида для локального ретрекера, но в вашем клиенте из-за безумного DHT и невозможности ограничить количество подключенных пиров он просто терялся. Так же из-за невозможности ограничить количество пиров, сёрфинг по инету во время загрузки игры фактически невозможен. Те кто сидит на ADSL может и расхотеть поиграть в игру, недождавшись когда она полностью загрузится.
Попробую ответить:

А зачем игроку Wargaming Game Center (WGC) держать запущенным когда он запускает игру?

Нет смысла его выгружать на время игры. Плюс есть сценарии когда он нужен во время работы игры — некоторые игры в принципе не имеют формы ввода логина/пароля, и вход происходит испоьзуя wgc_api.dll

Зачем этот лишний процесс на его компе, когда можно запустить WGC по необходимости.

Если держать WGC постоянно запущенным, то человек когда захочет поиграть, будет иметь уже обновлённую игру (не надо будет ждать / не пойдёт играть в другую). Это выбор компании, как должно быть по умолчанию. В настройках можно отключить.

Зачем нужно было калечить старый торрент-клиент и убирать стандартные торрент-файлы?

Торрент-файлы никуда не делись, просто лежат теперь только в кэше. В логах WGC мы не скрываем ссылки на их, можно легко найти, посмотреть на них и проверить.

Сейчас даже нельзя посмотреть какие параметры торрента в p2p.

Можно, просто чуть сложнее. Продвинутые пользователи найдут, а убрать с глаз от всех кажется разумным. Но вообще вот например (в логах WGC легко найти) dl-wot-cdx.wargaming.net/ru/patches/wot_1.3.0.1064_ru/wot_1.3.0.1064_ru.torrent

Если раньше до WGC игра качалась порой и на сотке мегабит подхватывая локальных или пиринговых пиров, то теперь даже ниже скорости в рамках тарифа.

У нас разные отзывы о скорости скачивания, но технологически: launcher и wgc абсолютно одинаково работают.

Вангую, в вашем торренте уже нет ни локального ретрекера, ни республиканского.

Республиканского никогда не было, локальный есть и мировой есть.

Могли бы и веб-сида хотя бы одного на страну прикрутить.

По логам легко увидеть, что главным CDN-ом является dl-wot-cdx.wargaming.net, IP зависит от местоположения. У меня сейчас это 86.57.224.6 и это в Минск-е, с ping-ом 6ms у меня из дома.

Кстати, Атлант телеком в своё время его прикручивал к вашему торренту, правда в виде обычного сида для локального ретрекера

Это возможно как и раньше.

но в вашем клиенте из-за безумного DHT и невозможности ограничить количество подключенных пиров он просто терялся

WGC и Launcher используют www.libtorrent.org с настройками на оптимизацию скачивания (при активном скачивании). Сейчас WGC фактически скачивает в основном в фоне — там уже фокус на немешать.

Так же из-за невозможности ограничить количество пиров, сёрфинг по инету во время загрузки игры фактически невозможен

Да, тут есть ещё проблемы. Работаем над этим.

Те кто сидит на ADSL может и расхотеть поиграть в игру, недождавшись когда она полностью загрузится.

Рекомендуемый способ — держать WGC постоянно запущенным, чтобы он скачивал игру в фоновом режиме / по ночам обновлял игры.

Вот… как-то так. Вся эта информация доступна для любопытных (прямым исследованием exe-шников, библиотек и логов), по этому вроде не секретная.
Если держать WGC постоянно запущенным, то человек когда захочет поиграть, будет иметь уже обновлённую игру (не надо будет ждать / не пойдёт играть в другую). Это выбор компании, как должно быть по умолчанию. В настройках можно отключить.
ага, и пинги соответствующие в игре будут. Если вы проведёте опрос на тему «Хотели бы вы, что бы игра в фоне качала/раздавала когда вы играете?» ответ будет однозначным. Тут даже просто левые коннекты на другие IP не связанные с игровым процессом будут многими игроками болезненно восприняты.
Торрент-файлы никуда не делись, просто лежат теперь только в кэше. В логах WGC мы не скрываем ссылки на их, можно легко найти, посмотреть на них и проверить.
по локальному ретрекеру я был не прав, он имеется в торренте.
По логам легко увидеть, что главным CDN-ом является dl-wot-cdx.wargaming.net, IP зависит от местоположения. У меня сейчас это 86.57.224.6 и это в Минск-е, с ping-ом 6ms у меня из дома.
закинул торрент в utorrent, получил кучку IP, среди которых 86.57.224.6 нет, хотя я так же из Минска. Да даже если бы и был, он всё равно бы откинулся среди всей этой кучи пиров. Как я понимаю вот эти 178.18.228.118:6900 и т.д и есть ваши CDN, и небольшая кучка IP обычных пользователей c портом 6881.
Как по мне, так оптимизация тут может быть в следующем:
1. Отключение DHT и обмен пирами. Иначе смысла в CDN нет абсолютно. Вроде как механизма isp.peer_policy_url в libtorrent нет. Пару лет назад кто-то предлагал qBittorent, что бы это там сделать, но вроде не захотели. В принципе я особо и сам не слежу давно за этой темой, наверно уже с тех пор как меня выгнали с рутрекера за плохое поведение. Как там сейчас с подобными механизмами — не интересовался.
2. Прикручивание механизма аналога isp.bep22, ну или добавление регионального ретрекера другими путями в тех местах где это ещё актуально.
3. Региональный CDN пир или веб-сид должен в любом случае попадать в список пиров у юзера, при этом не теряться среди других пиров. Лучше один пир но качественный.
4. Не знаю как там дела обстоят с пользовательским NAT и пробросом портов. Но если автоматом не пробрасывается на роутерах по команде WGC клиента — то и p2p по факту практически не будет как такового.
промахнулся, ответ в соседней ветке
Если вы проведёте опрос на тему «Хотели бы вы, что бы игра в фоне качала/раздавала когда вы играете?» ответ будет однозначным

WGC (и Launcher — там тоже уже пару лет есть фоновое скачивание) ничего не обновляет, когда вы играете в игры Wargaming-а. WGC (и Launcher) раздают данные ТОЛЬКО когда он сам скачивает — т.е. как только WGC закончил скачивать, он перестаёт раздавать. Сделано это именно для того, чтобы не мешать людям.

закинул торрент в utorrent

WGC (и Launcher) скачивают не только так. В наших torrent-ах нету web seed-ов, они добавляются динамически (это позволяет нам перенастраивать CDN без перевыпуска torrent-ов). В логах WGC можно найти вот такие запросы получения информации о патчах: wgus-wotru.wargaming.net/api/v1/patches_chain/?protocol_version=1.7&client_type=sd&lang=RU&metadata_version=20180629125846&metadata_protocol_version=5.14&chain_id=sd3_hd3&installation_id=B10E12A828CF15E7D30EB993B9FAFC3D037B464C&client_current_version=0&locale_current_version=0&sdcontent_current_version=0&game_id=WOT.RU.PRODUCTION именно оттуда берётся информация о web-seed-ах.

178.18.228.118:6900 и т.д и есть ваши CDN

Это наши p2p seed-ы. Есть ещё и web seed-ы (см выше).

Отключение DHT и обмен пирами. Иначе смысла в CDN нет абсолютно.

Не могу с этим согласиться. Для ситуации как у вас — скорее всего да, улучшило бы. А для многих других — наоборот. У пользователей совершенно различные условия выхода в интернет, и конфигурация которая подходит для жителей Москвы / Минска, не совпадает с тем, что является оптимальным для жителей Казахстана. Мы в первую очередь боремся за доступность для всех, за скорость скачивания не среднею, а у 95% квантиля.

Прикручивание механизма аналога isp.bep22

Вот тут не могу утверждать на 100%, но в «мировой» tracker с нашими патчами это обеспечивает, задачи на это были.

Региональный CDN пир или веб-сид должен в любом случае попадать в список пиров у юзера, при этом не теряться среди других пиров

Чуть выше описал, как именно попадает dl-wot-cdx.wargaming.net и он как типичный CDN раскрывается уже в локальные точки присутствия.

то и p2p по факту практически не будет как такового.

Ничего страшного, есть и web seed-ы.

Ну и надо понимать, что для нас важной задачей является и оптимизация расходов на дистрибуцию.
Сделайте тогда в настройках WGC опцию по ограничению числа соединений с обычными пирами во время загрузки контента, но не раздачи. Как минимум, это решит проблему сёрфинга с медленным интернетом. У самого в utorrent стоит ограничение в 10 пиров, что бы при закачке без проблем пользоваться браузером.
С одной стороны звучит разумно — передам. С другой — этот вопрос поднимался уже несколько раз и… В общем не хочется превращать WGC в ЦУП с огромным количеством настроек, в которые большинство игроков всё равно не полезет. Более правильно сделать так, чтобы WGC «хорошо себя вёл» и в таких случаях автоматически, а это уже гораздо сложнее.
А разве выбор номера порта соединения в WGC о чём-нибудь говорит обычному пользователю? Главное правильно обозвать настройку в клиенте, например «ограничить количество соединений с источниками обновления» ну или что-нибудь в таком духе.
Кстати, в самом деле, можете же обратиться в Bittorent, пока эта контора окончательно не развалилась, хоть их кто-то вроде и купил за копейки. Если они с вами поделятся исходниками механизма isp.peer_policy_url, то большая часть описанных проблем решится сама собой.
Проблемы с сёрфингом замечал неоднократно, при чем очень заметную, несмотря на 1Гбит/с интернет. Итогово пришлось отключать фоновый режим в WGC.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий