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

Как устроена облачная игровая платформа для b2b и b2c-клиентов. Решения для отличной картинки и борьбы с последней милей

Время на прочтение11 мин
Количество просмотров11K
Всего голосов 8: ↑5 и ↓3+2
Комментарии16

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

Удивительно. Познакомившись с сервисом Стадиа после презентации гугла, я ликая в душе радовался, что наконец появились такие технологии. Однако только, что почитав Вашу статью, я узнаю, что на рынке уже порядка 10 лет присутствуют технологии облачного гейминга и развиваются. Спасибо Вам и остальным, что вы есть. Теперь буду держать палец на пульсе и пристально следить за всеми участниками на рынке, что бы в течении средней перспективы сделать свой выбор. Думаю пол года, так как есть личная проблема и предпочтения:
— на данный момент из доступных девайсов это планшет
— предпочитаю мультиплеер шутеры и конкретно мой эйм — это CS GO и Quake Champions, Quake Live(ещё) в первую очередь и игры посвящённые тематике автоспорта.

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

Если можно, прокомментируете свой взгляд на технологию Гугл в виде сервиса Стадиа. Изучили ли Вы её, имеете ли какие-то представления, как они решают проблемы кодирования и задержек? Если да, то какие преимущества и недостатки можно выделить у Вашего проекта и проекта Стадиа? В Презентации Гугл я не понял как они решают перечисленные Вами выше проблемы, но понял, что доступ к их сервису потребует минимальной задержки не превышающей порядка 50 мс в сети. В этой же статье я познакомился с гораздо более детальным описанием, как работает ваш протокол и все выглядит очень добротно.
К сожалению, техническую информацию Google не раскрывает. Например пока непонятно как они будут встраивать в Chrome, да есть WebRTC, но для облачных игры он в текущем виде не подходит, то что мы реализовали значительно улучшают пользовательский опыт, но этого нет WebRTC. Поддержку плагинов они закрыли и NPAPI уже не в моде. Либо они расширят возможности WebRTC, либо всё спрячут в браузере — время покажет. В любом случае очень ждём появление на рынке крупных игроков, они двигают это мир немного быстрее, чем стартапы.
Маленький пинг — это серьёзный вызов, необходимо большое присутствие в точках, где будет предоставляться сервис. У Google есть свои дата центры, думаю они их задействуют по полной, а виртуальную машину с GPU уже можно арендовать.

К сожалению, техническую информацию Google не раскрывает. Например пока непонятно как они будут встраивать в Chrome, да есть WebRTC

Подскажите, а как МТС вот сделал в браузере?

https://fogplay.mts.ru/
Вообще очень интересует данная технология в плане добавить игру (окно игры) на сайт, давать поиграть пользователям сайта поочереди, рекламировать игры или давать попробовать обновления чтобы узнать мнение.

Статейка уже старенькая, за это время проект стал частью VKPlay, и называется теперь VKPlayCloud. А играть можно уже практически во всех браузерах и ОС! https://cloud.vkplay.ru/

А нет в планах освежить статью?

А на деле такая игра приносит боль и страдания.
При подключении по кабелю на скорости 350мбит сервис выдавал инпут-лаг от 50 до 100 мс.
Вроде немного, но соревновательный мультиплеер сразу говорит «до свидания» — в Overwatch нормально поиграть так и не удалось.
Саппорт, разумеется, ничем, кроме советов в духе «перезагрузите роутер», помочь не смог.
Кабельное подключение не панацея в случае с инпут-лагом, т.к. еще есть задержка декодера, задержка обработки команд управления на сервере, ну и, разумеется, пинг. У меня маршрут с Урала до Мск прямой и задержка около 40мс. Хотя встречалась и обратная ситуация: до двух соседних московских ДЦ провайдер прокладывал разные маршруты, и в одном случае пинг 30мс, а вот во втором уже все 75. И тут только саппорт провайдера сможет помочь.
Могу ошибаться, но ваш негативный игровой опыт был около 2х лет назад, за это время многое поменялось. Если захотите попробовать сервис еще раз — напишите в личку, рассмотрю вариант с промиком.
Спасибо за подход но речь не о вашем сервисе, так как я ещё не удостоен чести им воспользоваться по личным причинам. Дело времени, я решу свои проблемы и посмотрим.
А мы обсуждали то, что в Quake Live играя с противником на каком-то сервере где у одного из нас пинг 60 и выше — бессмысленно. Вы же понимайте специфику этой скоростной стрелялки. А вот с лагом по пингу в 50 и менее миллисекунд играть приемлемо.

UPD: я понял, вы наверно ответили на комментарий предыдущего пользователя: Nidere.
Наша технология позволяет захватывать и декодировать картинку в одном потоке, что и повышает FPS.

А тут можно подробнее, мне как программисту интересно каким образом это происходит? Как так выходит что именно один поток дает выше FPS?
При многопоточности необходимо синхронизировать потоки, соответственно при рассинхронизации время между рендерингом кадра в потоке игры и его захватом для кодирования может скакать произвольно, хоть и в минимальном времени. Если же работаем в одном потоке, то захватывать картинку можно сразу же после ренедринга, тем самым уменьшая задержку. А FPS как следствие увеличится FPS в случае если потоки сильно не синхронхрониизировались.
Почему все делают в разных, потому что основной поток игры — это стороннее приложение и влезть в его поток, ничего при этом не сломав в самой игре, не тривиальная задача. Надеюсь настанет тот день, разработчики игры будут себе интегрировать некий SDK от разработчиков облачных платформ, на подобии того, как сейчас разработчики игр интегрируют к себе Steam.
Спасибо, я посчитал времена длительности кадров и дошло. Многопоточность нужна если позволительно отставание на пару кадров и при этом операции обработки длятся суммарно дольше кадра. Если есть возможность все успеть быстрее одного кадра, то от многопоточности толку ноль, один вред.
Для геймеров это значит, что уже совсем скоро они смогут окончательно перестать тратить деньги на обновление железа и запускать мощные игры на слабых компьютерах.
Затраты никуда не денутся и перейдут с покупки ПК раз в пять лет на подписку, которая в пятилетнем разрезе почти всегда выходит дороже, об этом прямо сразу говорится:
Выгодно ли это остальным участникам экосистемы? Рассказываем, почему облачный гейминг увеличит их заработки и как мы создали технологию, позволяющую легко зайти на перспективный рынок.


Сейчас, по нашим данным, 70% потенциальных покупателей не доходят до игры — они не дожидаются загрузки клиента и установочного файла весом в десятки гигабайт.
Шта? Купить, и не поиграть, потому что долго загружается? Вы там чего курите?!

А можно примеры «мощных игр (AAA-уровня)» которые не пойдут на старенькой GTX1060 на настройках выше среднего?

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

В 2018-м мы решили, что у нашего продукта возможно B2B-будущее.
Дайте угадаю, из тех 2.5кк людей кто это хоть раз запустил, второй раз уже не вернулись 99.9+% людей?

Тогда, в 2010 году, средняя скорость интернет-подключения в США составляла всего 4,7 Мбит/с. К 2017 году она выросла уже до 18,7 Мбит/с, а скоро повсеместно появится 5G и наступит новая эра.
Опять не адаптированная под российские реалии статья, которая как бы намекает.

С использованием нашей технологии при сетевой задержке 0 мс и работе с видеопотоком в 60 FPS задержка всей системы не превышает 35 мс.
Что бы получить 0 в сетевой задержке, нужно сидеть в ЦОДе, где вертится сервер. Накидывайте еще 5-15 тех кто в Мск и 50-170 для тех кто за МКАДом. 60мс минимальный порог для стрелялок, при 90 играть можно тока в серию Battlefield 3+ из-за компенсации сетевых задержек на уровне сетевой части движка игры. При 110+мс в nontarget стрелялки играют только очень упорные люди, либо мазохисты.

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

На самом деле я негодую больше не из-за самой концепции облачного гейминга, а из-за того, что по общепринятым обычаям все это будет в лучшем случает только в Мск.
Отчего такой скептицизм. В игре Quake Live игроки со всего мира подбирают подходящий сервер, так что бы пинг не превышал для каждого 60 мс. Так же и тут, ЦОДы по идее должны быть расположены в крупнейших городах России и вы сможете подобрать средний сервачек. На примере дуэльных стрелялок это будет просто, а на примере многопользовательских игр с большим числом игроков в «пати» придётся ограничиваться кругом одного региона. То есть если вас 6 человек из Новосибирска, то парню из штатов америки лучшие к вам не заходить, он по пингу как белая ворона мазохист будет. Система фильтрации и подбора участников должна быть гибкой на платформе.
Понятно и логично, когда игра сингловая — чем ближе к тебе сервера облачного гейминга, тем комфортнее по задержкам играть.

на примере многопользовательских игр с большим числом игроков в «пати» придётся ограничиваться кругом одного региона.

Я говорю про то что это сложно, если в России нет официальных серверов игры то облачный гейминг проблему только усугубляет со своими +35мс к латенси. Из представленных в каталоге, например, Battlefiled 1 таких серверов не имеет. И несмотря на то, что игра может показывать что у нее задержка с облака в Москве в 30-40 до серверов игры располагающихся в дойчеленде, то накидываем еще 60-70 до Новосибирска, плюс 35 за сам сервис и имеем уже неиграбельные 125-155. Да, тебя не кикнут за плохой пинг, но стрелять в бегущую цель, когда ее уже там нет — малоприятно.
Конечно это не приемлемо, поэтому я пишу, что такого рода игры возможны только между игроками региона. Печаль если сервис не устанавливает региональные сервера.

Чисто для меня все эти проблемы не критичны до поры до времени. Обычный мой пул игр это дуэльные стрелялки и CSGO. И живу я в западной Европе. По идее ни в первом ни во втором случае проблем не должно быть. Но недавно запал на новое развлекалово в моё жизни — это мультиплеерные гонки. Надеюсь с серверами этого пула игр тоже проблем не будет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации