Русский
Русский
English
Статистика
Реклама

Облачный гейминг

Облака сгущаются чем cloud-сервисы опасны для игровой индустрии?

04.09.2020 22:23:02 | Автор: admin

Cloud-сервисы стали неотъемлемой частью жизни современного человека. Но понятие облака отнюдь не ограничивается возможностью по мановению ока создавать резервные копии фотографий, сделанных в отпуске, или координировать действия с коллегами с помощью интеллектуальной CRM. Сейчас облачные технологии стали проникать в самые неожиданные отрасли например, в такую сферу, как видеоигры. Если раньше каждый, кто хотел приобщиться к удивительному миру виртуальных развлечений, должен был обзавестись производительным ПК или игровой консолью, то сегодня при наличии стабильного интернет-соединения любой желающий может поиграть в свежий AAA-релиз чуть ли не на калькуляторе.

Впрочем, если копнуть глубже, то окажется, что cloud-гейминг является вовсе не такой уж и выгодной штукой, как рассказывают ангажированные эксперты и блогеры всех мастей. Более того, в отдаленной перспективе именно cloud-гейминг способен привести к окончательной смерти игровой индустрии в том виде, в котором мы с вами ее некогда полюбили. Давайте разбираться.

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

LoudPlay




  • Максимальное качество видеопотока: Full HD, 60 FPS, настройки графики выставляются вручную самим пользователем.
  • Оплата: почасовая (65 рублей в час), возможность покупки фиксированных пакетов со скидкой (5 часов 300 рублей, 15 часов 800 рублей, 30 часов 1500 рублей).
  • Поддерживаемые платформы: Windows 10.

Подход LoudPlay является наиболее интересным: подписчикам сервиса предоставляется виртуальная машина с операционной системой Windows 10 и предустановленными лаунчерами популярных цифровых магазинов игр. Но при желании вы можете установить любое другое приложение (например, для работы с 3D-графикой) либо, так сказать, воспользоваться народной демоверсией, благо владельцы сервиса не забыли и о торрент-клиенте.

PlayKey




  • Максимальное качество видеопотока: Full HD, 60 FPS, настройки графики выставляются автоматически (заявлены средневысокие для AAA-тайтлов).
  • Оплата: почасовая, базовая ставка 160 рублей за два часа, скидки за объем (100 часов обойдутся в 6 тысяч рублей).
  • Поддерживаемые платформы: Steam, Origin, Battle.net, Epic Games Store, Uplay, Riot Games, Bethesda, Gaijin, Wargaming, Mail.ru.

Здесь используется несколько иной подход: вы подключаете к сервису свой аккаунт в Steam, Origin или другом цифровом магазине из списка поддерживаемых и после этого сможете играть в любую приобретенную игру (дистрибутивы популярных тайтлов уже установлены на серверах, однако если вашей игры среди них нет, придется подождать ее загрузки). Использовать какие-либо сторонние приложения вы не сможете: PlayKey позиционируется как сугубо игровая платформа и прямого доступа к виртуальным машинам не предоставляет.

GFN (GeForce Now)




  • Максимальное качество видеопотока: 4K, 60 FPS, максимальные настройки графики, включая RTX.
  • Оплата: 999 рублей в месяц, 4999 рублей за полгода либо 9999 рублей за год.
  • Поддерживаемые платформы: Steam, Epic Games Store, Uplay, Riot Games, Wargaming, Mail.ru.

На сегодняшний день это самое выгодное предложение из всех доступных. За 999 рублей в месяц вы получаете возможность играть с разрешением до 4K на ультранастройках графики, при этом единственным ограничением является длительность одной сессии не более 6 часов подряд (по истечении этого срока необходимо подключиться к сервису заново). Среди недостатков можно выделить сравнительно скудную библиотеку: в GFN вы сможете играть только в игры из каталога платформы.

Теперь давайте прикинем годовые затраты на облачный гейминг в каждом из перечисленных сервисов. Для этого выделим три условные категории игроков:

  • казуал в среднем играет не более 1 часа в день, то есть 365 часов в год;
  • хардкорщик играет не менее 3 часов в день, или 1095 часов в год;
  • игроман готов уделять играм по 5 часов в день, или 1825 часов в год.

Приступим к подсчетам. В случае с почасовой оплатой наиболее выгодным вариантом для всех перечисленных категорий геймеров станет приобретение игрового времени максимальными пакетами. Таким образом, затраты на LoudPlay мы считаем исходя из цены 1500 рублей за 30 часов, а на PlayKey отталкиваясь от ставки 6000 рублей за 100 часов за основное время. При покупке дополнительного времени учитываются пакеты меньшего размера, что делает подсчет более реалистичным. Например, казуал купит 3 максимальных пакета в течение года + 1 пакет на 50 часов + 1 пакет на 15 часов. Округлять результаты мы будем в меньшую сторону (опять же, ради реализма), ведь даже заядлый геймер не сможет играть каждый день по 5 часов: учебу, работу и домашние дела никто не отменял. На выходе получаем следующие цифры.

Игрок


Время, ч


LoudPlay


PlayKey


GFN


Казуал


365


18 тыс. руб.


22 тыс. руб.




9999 руб.


Хардкорщик


1095


54 тыс. руб.


66 тыс. руб.


Игроман


1825


90 тыс. руб.


110 тыс. руб.



Что же мы видим? Если говорить о сервисах с почасовой оплатой, то для хардкорщика и игромана их использование оказывается крайне невыгодным. Не будем забывать, что помимо подписки придется потратиться и на ПК начального уровня, который, при условии сборки с нуля из новых, качественных комплектующих, обойдется еще тысяч в 20. Но за 74 тысячи (столько суммарно потратит хардкорщик на LoudPlay + ПК) можно купить вполне приличный игровой компьютер, который точно не придется апгрейдить еще пару-тройку лет как минимум, а за 130 тысяч и вовсе порадовать себя 4K-геймингом, чего ни LoudPlay, ни PlayKey предложить не могут. В случае с казуалом все выглядит не так однозначно. С другой стороны, на третий год затраты такого игрока превысят 90 тысяч рублей, а за эти деньги можно собрать машину, которой точно хватит на 3 года комфортной игры в Full HD, да еще и с запасом.

Сервис nVidia выбивается из общей канвы: 10 тысяч в год, шестичасовые игровые сессии, да еще 4K звучит и правда заманчиво! Но, как говорится, всегда есть варианты. Давайте прикинем, в какую сумму можно уложиться при сборке бюджетного игрового ПК, и уже тогда будем оценивать, насколько выгодным является это предложение.

Бюджетный игровой ПК 2020: дешево и сердито


Байки про игровой ПК за 300 тысяч рублей, который придется обновлять каждые полгода, не имеют ничего общего с реальностью: сегодня вполне приличную машину можно собрать тысяч этак за 5060, и этого вполне хватит, чтобы наслаждаться отменной картинкой (конечно, если не гнаться за 120 FPS в 4K, которые так активно навязывают нам маркетологи). Научно-технический прогресс неумолим: покупая компьютер сегодня, вы получаете куда большую вычислительную мощность в пересчете на каждый вложенный рубль, нежели 10 лет назад. И многие комплектующие, которые некогда были уделом энтузиастов, сегодня доступны подавляющему большинству людей.

Поскольку Western Digital специализируется на разработке носителей данных, мы рассмотрим динамику изменения цен на примере SSD. Хотя сегодня твердотельный накопитель является неотъемлемой частью любого игрового ПК (обычный HDD попросту не справится со стримингом десятков гигабайт текстур), долгое время покупка такого устройства считалась роскошью. Пускай SSD и могли похвастаться производительностью, в несколько раз превышающей возможности традиционных винчестеров, для рядового потребителя их приобретение оставалось малорентабельным из-за высокой удельной стоимости в пересчете на единицу хранения данных.

Так, на момент релиза терабайтные модели с интерфейсом SATA предлагались по базовой цене $325 за штуку, что по сегодняшнему курсу составило бы 24 700 рублей. Учитывая, что за эту цену можно было приобрести предтоповую (а то и топовую) видеокарту, выбор был явно не в пользу SSD. Но время шло, технологии производства флеш-памяти совершенствовались, объемы выпуска чипов росли, и приблизительно в конце 2018 года цены на такие накопители уже находились в пределах от 130 до 162 долларов. Более того, они продолжают падать, несмотря на коронакризис и даже прошлогодний сбой энергоснабжения в Йоккаити, где расположена одна из крупнейших фабрик по производству полупроводниковых компонентов Kioxia, что повлекло за собой повреждение дорогостоящего оборудования и снижение темпов производства.


Ночная панорама города-фабрики Йоккаити завораживает...

Сегодня приобрести тот же WD Blue 3D NAND на 1 ТБ можно за 85008700 рублей, то есть примерно за $115 (здесь не стоит забывать о колебаниях курса, вызванных непростой экономической ситуацией в мире, в противном случае цена накопителя оказалась бы еще ниже). Среди SATA SSD эта модель является топовой, демонстрируя скорость передачи данных в операциях последовательного чтения вплоть до 560 МБ/с (более чем в 2 раза выше по сравнению с винчестерами, потолком для которых является значение 250 МБ/с), что является максимальным показателем для устройств данного класса.


WD Blue 3D NAND SSD емкостью 1 терабайт

Аналогичным образом дела обстоят и в сегменте высокопроизводительных твердотельных накопителей, ориентированных на профессионалов и геймеров. Для примера возьмем тот же WD Blue SN550. Перед нами полноценный NVMe SSD, задействующий все четыре линии PCI Express 3.0, предоставляемые данным интерфейсом, способный похвастаться скоростью записи до 1950 МБ/с и скоростью чтения вплоть до 2400 МБ/с, который без труда справится с любыми приложениями для работы с контентом, включая профессиональные фоторедакторы, программы для монтажа видео, работы с 3D-графикой или проектирования. При этом цена на такое устройство на момент написания статьи колеблется от 10 до 11,5 тысячи рублей за терабайтную версию и от 6 500 до 6 900 рублей за версию на 500 гигабайт. То есть, если сравнивать с SATA-накопителем, будет достаточно доплатить от 1500 до 2500 рублей, чтобы получить в 4 раза большую производительность.


WD Blue SN550 идеальный баланс цены и производительности

Если же добавить еще тысячу-полторы сверху, то мы выходим на топовый WD_BLACK SN750, который демонстрирует скорость передачи данных до 3430 МБ/с в операциях чтения и до 2600 МБ/с в операциях записи. Столь высокая производительность гарантирует не только быструю загрузку локаций и отсутствие фризов даже в самых тяжелых (или плохо оптимизированных) играх, но и позволяет скачивать дистрибутивы размером в сотни гигабайт буквально за считанные минуты (разумеется, при достаточной пропускной способности вашего интернет-соединения).


WD_BLACK SN750 быстрый и надежный

На момент написания данной статьи средняя цена WD_BLACK SN750 на 500 гигабайт составляет около 88,5 тысячи рублей. Установка такого накопителя в бюджетный игровой компьютер может показаться расточительной, однако на деле подобное вложение средств является весьма выгодным вы получите в свое распоряжение действительно ультимативный SSD, который запросто переживет не один апгрейд. Все дело в том, что в WD_BLACK SN750 используется флеш-память TLC 3D NAND последнего поколения, поэтому TBW моделей на 500 гигабайт достигает 300 терабайт перезаписи. Таким образом, даже если предположить, что вы каким-то чудом будете расходовать 5 терабайт в месяц, что нереально даже для самого отпетого игромана, то ресурса накопителя хватит на 5 лет бесперебойной работы. А при средней нагрузке в 2,5 терабайта в месяц (что тоже маловероятно, но все же ближе к реальности) такой SSD прослужит вам не менее 10 лет.

При этом если раньше под такой накопитель требовалась материнская плата за 10+ тысяч рублей, то сегодня за 5,56,5 тысячи рублей можно приобрести ту же ASRock B450M Pro4-F с разъемом Ultra M.2, который берет линии PCIe не от чипсета, а непосредственно от процессора, что, ко всему прочему, позволяет минимизировать уровень задержки сигнала и наслаждаться производительностью SN750 без каких-либо ограничений. Кстати, и сам по себе накопитель имеет туз в рукаве: с помощью бесплатного сервисного ПО модель SSD WD_BLACK можно перевести в игровой режим, отключив энергосберегающие функции группы Autonomous Power State Transitions и, таким образом, добиться стабильной работы даже под высокой нагрузкой за счет минимизации задержек при первичном обращении к сохраненным данным.


Материнская плата ASRock B450M Pro4-F

Добавим сюда боксовую версию Ryzen 5 3300X (1011 тысяч рублей), 16 ГБ оперативной памяти частотой 3200 МГц (два модуля по 8 ГБ обойдутся вам в плюс-минус 5 тысяч рублей), жесткий диск WD Blue на 1 ТБ под файлы (около 3,5 тысячи), блок питания на 500 ватт (качественный БП с активным PFC и сертификатом 80+ Bronze будет стоить порядка 34 тысяч), а также видеокарту nVidia GTX 1660 Super (1921 тысяча в зависимости от модификации) и бюджетный корпус по вкусу (2,53,5 тысячи) и на выходе получим вполне достойную конфигурацию в пределах 5560 тысяч рублей, которая позволит запускать на высоких/максимальных настройках любые современные игры в Full HD и потенциала которой хватит на ближайшие 23 года. А если качество графики для вас не столь важно и на первом месте находится именно стабильный фреймрейт, сборку можно удешевить еще тысяч на 10 (здесь все зависит от того, в какие игры вы планируете играть).


На базе AMD Ryzen можно собрать недорогой, но производительный ПК

Теперь вернемся к нашим выкладкам. Чтобы использовать тот же GFN (а на сегодняшний день это наиболее рентабельный сервис из доступных на рынке), вам понадобится ПК за 20 тысяч, как мы и писали ранее (здесь будет справедливо ориентироваться на новые комплектующие, потому что, если закупаться для нашей игровой сборки на Avito, она получится еще дешевле). Однако три года подписки потребуют еще 30 тысяч рублей, так что на выходе мы получим приблизительно ту же сумму за вычетом таких неприятностей, как инпутлаг, ожидание подключения в прайм-тайм на выходных и праздниках, рассыпающееся изображение или внезапное исчезновение интересной вам игры из списка поддерживаемых. Также вы не будете ограничены рамками игротеки, предлагаемой сервисом.

Конечно, бюджетный игровой компьютер не вытянет 60 FPS в разрешении 4K, тогда как GFN формально предлагает такую возможность (сможете ли вы ею воспользоваться, зависит от места вашего проживания и качества интернет-соединения). С другой стороны, покупать 4K-монитор только для того, чтобы подключить к нему стриминговый проигрыватель, по меньшей мере странно. Если вы можете позволить себе такой аппарат, то, очевидно, сможете собрать и достойную игровую платформу, а значит, использование GFN вновь оказывается бессмысленным.

А знаете, что могло бы повысить привлекательность облачного гейминга? Конечно же, предоставление по подписке не только вычислительных мощностей, но и самих игр, как это реализовано в рамках той же EA Play Pro или Xbox Ultimate Pass. По деньгам это было бы действительно выгодно, даже если бы размер абонентской платы возрос на 50%. Вот только вряд ли нам с вами понравятся подобные игры.

Смерть в облаках: как cloud-гейминг изменит игровую индустрию?



Словно подбитый истребитель из Ace Combat, игровая индустрия неумолимо сваливается в штопор

Представим себе на минуточку светлое будущее, в котором на рынке безраздельно доминирует облачный гейминг, а на консолях и ПК играют разве что ценители ретро, ведь новые игры в привычном нам понимании не выходят даже в цифре, не говоря уже о физических носителях. Технические ограничения тем или иным образом удалось преодолеть, так что теперь любой желающий может за скромную абонентскую плату наслаждаться топовыми AAA-проектами даже на калькуляторе в 16K (у нас светлое будущее все-таки), причем в стоимость подписки входит и доступ к любой игре из каталога сервиса. Что это? Утопия? Сбывшаяся в отдельно взятой нише мечта о счастье для всех, даром, и пусть никто не уйдет обиженным? Отнюдь нет. Давайте порассуждаем, к чему может привести подобное положение вещей.

Проблема 1: Я слишком беден, чтобы экономить на играх


Наиболее близким аналогом облачных игровых сервисов можно назвать онлайн-кинотеатры. С их появлением фильмы и сериалы на Blu-Ray практически канули в Лету, да и приобрести цифровые версии ряда тайтлов сегодня уже нельзя, так как единственный выбор, который предоставляют пользователю большинство онлайн-сервисов, смотреть по подписке или не смотреть вовсе. Согласно статистическим данным, собранным компанией Sandvine, в период с 2011 по 2015 год отмечалось резкое падение популярности пиринговых файлообменных сетей: с 52 до 26% в США и с 59 до 21% в Евросоюзе. Снижение доли пиратского трафика произошло именно за счет низкого интереса пользователей сети Интернет к раздачам фильмов и сериалов, что коррелирует с интенсивным развитием стриминговых сервисов, благодаря которым лицензионный видеоконтент поначалу стал действительно доступным. Однако в период с 2015 по 2018 год маятник качнулся в обратную сторону, и доля пиратского трафика вернулась к прежним показателям. Причиной же этого стала жесточайшая конкуренция между онлайн-кинотеатрами.

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


Иногда конкуренция не приносит пользы конечному потребителю

Как выяснили в Sandvine, среднестатистический житель Америки или Европы подписан на 1, максимум 2 стриминговых сервиса и благополучно скачивает все остальное. А дело в том, что из-за выпуска эксклюзивных проектов в разных жанрах всего $9,99 в месяц превращаются в 50, а то и все 100 для каждого активного потребителя видеоконтента, ведь иного легального способа посмотреть все интересующие человека фильмы или сериалы (например, купив) попросту не существует. И платформы облачного гейминга, получи они карт-бланш на дистрибуцию, наверняка пойдут по аналогичному пути.

Кто-то может возразить: Чтобы поиграть в эксклюзивы, я просто буду оформлять подписку на разные сервисы поочередно. На этот счет можете не беспокоиться: провайдеры cloud-сервисов найдут способы сделать так, чтобы вам это было невыгодно. Где-то будет использоваться пряник (вроде особых плюшек или 50-процентной скидки на годовую подписку), а где-то кнут (к примеру, все ваши сохранения будут удаляться спустя неделю после приостановки абонемента). В общем, как и в других сферах, платформодержатели станут вовсю эксплуатировать FOMO-синдром (синдром упущенной выгоды, который выражается в боязни упустить что-то интересное), и никуда вы от этого не денетесь. Да и отдушины в виде торрентов уже не будет: если видеопоток можно тем или иным образом перехватить, то поиграть, не имея доступа к дистрибутиву, если таковые останутся сугубо в облаках, вы никак не сможете.

Проблема 2: Где моды, Лебовски?



Ничего необычного, просто Линк путешествует по Скайриму

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

  • Исчезновение неофициальных модов

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

  • Тотальная цензура

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

  • Отсутствие кроссоверов

По этой же причине стоит ожидать исчезновения и модов-кроссоверов, добавляющих в игру персонажей из других произведений. Если для условного фантастического боевика кто-то создаст модификацию, добавляющую в игру азари или кроганов, платформодержатель почти наверняка не допустит публикации такого мода просто из опасений судебного разбирательства с Electronic Arts, которой принадлежат права на Mass Effect. Ведь одно дело, когда вы устанавливаете мод на свой компьютер, и совсем другое, когда речь идет об облачном гейминге, где провайдер является фактически распространителем контента.

Если же быть реалистом, то единственное, что разрешат делать разработчикам модов крупные издатели, это добавлять различные скины, маунтов, танцы и эмоции. Не больше. О том, чтобы позволить кому-то со стороны вмешиваться в геймплей или баланс, и речи быть не может, даже если говорить о The Elder Scrolls, где фанатское творчество исконно играло ключевую роль в обеспечении популярности серии. Почему? Переходим к проблемам 3 и 4.

Проблема 3: Игра по чужим правилам


Тем, кто играл в азиатские MMORPG, такая ситуация отлично знакома. Будучи совсем зеленым новичком, вы играете в безопасном загончике, проходите квесты один за другим, прокачиваете своего персонажа и чувствуете себя хозяином ситуации, тем самым избранным, о котором говорилось в пророчестве и которому все по плечу. Так продолжается до тех пор, пока вы не достигнете определенного уровня, после чего вас отправляют в огромный открытый мир. И вот вы, ничего не подозревая, подбегаете к точке, отмеченной на карте, где, по словам NPC, должен находиться лагерь гоблинов, и беспомощно наблюдаете, как персонаж 100+ уровня, буквально уничтоживший вас одним ударом, снимает с вашего трупа легендарную броню, с огромным трудом добытую в самом первом подземелье. А как вы хотели? Здесь у нас Free PVP как никак! Впрочем, на этом ваши беды не кончаются: воскреснув в ближайшем городе, вы обнаруживаете дебафф в 50% на получение опыта.


Хотел пофармить? Сначала придется пройти через этих ребят

Если отбросить маркетинговую чепуху про хардкор, превозмогание, суровый мир для настоящих ценителей жанра, то, с точки зрения издателя, подобный гейм-дизайн преследует единственную цель вынудить вас потратить как можно больше денег. Ведь во внутриигровом магазине всего за $4,99 вы можете приобрести защитный амулет, который не даст противнику обобрать ваше тело (разумеется, одноразовый), а также зелье очищения, снимающее с вашего персонажа штраф к получаемому опыту. Вас заведомо ставят в такие условия, чтобы вы были вынуждены платить для более-менее комфортной игры, и Free PVP является самым лучшим стимулом, благо абсолютно в любом проекте отыщется достаточно желающих поиздеваться над новичками. Наверное, единственной MMORPG, где нуб может противостоять ветерану, используя знания механик, является EVE Online: особенности геймплея позволяют игроку избегать засад и на равных сражаться с более сильным (с точки зрения прокачки и вооружения) противником. Но это исключение лишь подтверждает правило.


EVE Online единственная MMORPG, где тащат острый ум и прямые руки

Но при чем здесь облачные сервисы и одиночные игры? спросите вы. Порочные практики из азиатских MMORPG уже давно перекочевали в ряд сингловых проектов. Взять хотя бы Assassins Creed: Odyssey: здесь вам и paywall (выполняй все побочные квесты, иначе отстанешь по уровню и не сможешь убить даже рядового наемника), и таймсейверы для тех, кто не хочет гриндить, и эксклюзивные предметы во внутриигровом магазине, которые невозможно достать игровым путем.


Assassins Creed: Odyssey: любой каприз за ваши деньги

Внедрение PVP, которое будет вызывать дискомфорт у игрока, является вполне логичным шагом, благо примеры реализации механик player-vs-player в синглах также существуют.

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


Хотя Dark Souls является сингловым проектом, в нем нашлось место и для PVP

Вот только, если игра находится на серверах cloud-сервиса, отключиться от сети вы не сможете, даже если очень сильно этого захотите. Впрочем, чтобы поиграть с комфортом, всегда можно приобрести специальный оберег, который стабилизирует ткань мироздания и препятствует вторжению злоумышленников в вашу реальность, всего за $4,99. Конечно же, силы артефакта будут со временем истощаться, так что каждые три часа придется покупать новый. Но ведь оно того стоит, не так ли?

И не надо думать, что подобные практики никогда не затронут крупные AAA-проекты. Во-первых, уже затронули, пусть и не в той мере, как в азиатских MMORPG, но это лишь вопрос времени. Во-вторых, в мобильных играх можно встретить куда более жесткие схемы монетизации и ничего: люди тратят сотни (и тысячи, и даже миллионы) долларов, считая это абсолютно нормальным. Так что в случае с большими играми все упирается в фактор времени: нужно лишь подождать, пока подрастет поколение игроков, которые и слыхом не слыхивали об играх, где костюмы даются в качестве бонуса за прохождение, сюжет целостный и не требует покупки отдельных квестов по цене до от стоимости самой игры, а геймплей сбалансирован таким образом, чтобы приносить игроку удовольствие, а не вынуждать платить еще больше. Ну а в-третьих, в модели игр по подписке издатели неизбежно станут закручивать гайки. И вот почему.

Проблема 4: Нужно больше золота!


Портал GameRevolution провел весьма интересное исследование, посвященное тому, как люди проходят видеоигры, на примере 12 тайтлов. Цифры говорят сами за себя.

Игра


Доля игроков, прошедших игру до конца


Detroit: Become Human


61,7%


God of War


53,6%


Marvels Spider-Man


50,3%


Yakuza Kiwami 2


49,1%


Uncharted 4: A Thiefs End


41,7%


Darksiders 3


37,9%


Far Cry 5


35,8%


Persona 5


34,8%


Assassins Creed Odyssey


24,6%


Red Dead Redemption 2


22%


Dead Cells


15%


Crash Bandicoot


12,6%



Оказывается, даже топовые эксклюзивы PlayStation, вокруг которых традиционно кипит ажиотаж, проходят в среднем лишь 50% владельцев, тогда как менее распиаренные релизы не могут похвастаться даже такими цифрами.


Пройти Uncharted могут не только лишь все. Мало кто может это сделать...

Когда речь заходит о традиционной модели дистрибуции на физических носителях или в цифре, с точки зрения издателя, процент прохождений не играет какой-либо значимой роли, ведь человек уже заплатил $60 (или $120, если речь идет об Ultra Premium Elite First Day Edition). Конечно, было бы здорово, чтобы игрок приобрел все DLC и потратился во внутриигровом магазине (при наличии такового), но базовая сделка в любом случае уже заключена и свои деньги издатель получил.

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

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

Перевод Облачный гейминг с открытым исходным кодом на WebRTC p2p, мультиплеер, zero latency

20.07.2020 14:14:41 | Автор: admin

ПО как услуга, инфраструктура как услуга, платформа как услуга, коммуникационная платформа как услуга, видеоконференции как услуга, а что насчет облачных игр как услуги? Уже было предпринято несколько попыток создания облачных игр (Cloud Gaming), например, Stadia, недавно запущенная компанией Google. Stadia не новичок в WebRTC, но могут ли другие использовать WebRTC так же?

Тхань Нгуен (Thanh Nguyen) решил проверить эту возможность на своем опенсорсном проекте CloudRetro. CloudRetro основан на Pion, популярной WebRTC библиотеке на базе Go (спасибо Шону из группы разработчиков Pion за помощь в подготовке этой статьи). В данной статье Тхань делает обзор архитектуры своего проекта, а также рассказывает, что полезного он узнал и с какими челленджами столкнулся во время работы.

Вступление


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

TLDR: короткая слайд-версия с основными моментами

Почему за облачными играми будущее


Я верю, что Cloud Gaming скоро станет новым поколением не только игр, но и других областей информатики. Облачные игры это вершина модели клиент/сервер. Такая модель максимизирует управление бэкэндом и минимизирует работу фронтенда за счет размещения игровой логики на удаленном сервере и потоковой передачи изображений/аудио клиенту. Сервер выполняет тяжелую обработку, поэтому клиент больше не зависит от аппаратных ограничений.

Google Stadia, по сути, позволяет играть в AAA-игры (т.е. высококлассные игры-блокбастеры) на интерфейсе вроде YouTube. Та же методология может быть применена и к другим тяжелым оффлайновым приложениям, таким как операционная система или 2D/3D графический дизайн и т.д. чтобы мы могли стабильно запускать их на устройствах с низкими техническими характеристиками на разных платформах.


Будущее этой технологии: представляете, если бы Microsoft Windows 10 работал в браузере Chrome?

Облачные игры технически сложны


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


Общий шаблон облачной игры

Опенсорсный проект CloudRetro


Я решил создать тестовый образец облачной игры, чтобы проверить, возможно ли всё это при таких жестких сетевых ограничениях. Для проверки концепции я выбрал Golang, поскольку это наиболее знакомый мне язык и хорошо подходящий для данной реализации по многим другим причинам, как выяснилось позже. Go простой и развивается очень быстро; каналы в Go отлично подходят для управления многопоточностью.

Проект CloudRetro.io облачный игровой сервис с открытым исходным кодом для ретро-игры. Цель проекта привнести в традиционные ретро-игры наиболее комфортные игровые ощущения и добавить мультиплеер.
Подробно ознакомиться с проектом можно здесь: https://github.com/giongto35/cloud-game.

Функциональность CloudRetro


Для демонстрации всей мощи облачных игр в CloudRetro используются ретро-игры. Что позволяет получить множество уникальных игровых впечатлений.

  • Портативность игры
    • Мгновенное воспроизведение при открытии страницы; загрузка и установка не нужны
    • Работает в мобильном браузере, так что для запуска не нужно никакое программное обеспечение

  • Игровые сеансы можно совместно использовать на нескольких устройствах и хранить в облаке для следующего входа
  • Игру можно стримить, а можно играть в нее сразу несколькими пользователями:
    • Crowdplay типа TwitchPlayPokemon, только более кросплатформенный и более риалтаймовый
    • Оффлаин игры в онлаине. Играть могут много пользователеи без настроики сети. В Samurai Shodown теперь можно играть 2 игрокам по сети CloudRetro


    Демо-версия многопользовательской онлайн-игры на разных устройствах

    Инфраструктура


    Требования и стек технологий


    Ниже приведен список требований, которые я установил перед началом проекта.

    1. Один игрок
    Это требование может показаться не слишком важным и очевидным здесь, но это один из моих ключевых выводов, это позволяет облачным играм держаться как можно дальше от традиционных потоковых сервисов. Если мы сосредоточимся на однопользовательской игре, мы сможем избавиться от централизованного сервера или CDN, потому что нам не нужно делать потоковую передачу в массы. Вместо того, чтобы загружать потоки на поглощающий сервер или передавать пакеты на централизованный сервер WebSocket, сервисные потоки передаются пользователю напрямую через одноранговое соединение WebRTC.

    2. Медиапоток с низкой задержкой
    Читая про Stadia, я часто встречаю в некоторых статьях упоминание WebRTC. Я понял, что WebRTC выдающаяся технология, и она прекрасно подходит для использования в облачных играх. WebRTC это проект, который предоставляет веб-браузерам и мобильным приложениям связь в реальном времени через простой API. Он обеспечивает одноранговое соединение, оптимизирован для медиа и имеет встроенные стандартные кодеки, такие как VP8 и H264.

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

    3. Распределенная инфраструктура с географической маршрутизацией
    Вне зависимости от того, насколько оптимизирован алгоритм сжатия и код, сеть все равно является решающим фактором, который больше всего способствует задержке. Архитектура должна иметь механизм сопряжения ближайшего к пользователю сервера для сокращения времени приема-передачи (RTT). Архитектура должна иметь 1 координатора и несколько потоковых серверов, распределенных по всему миру: Запад США, Восток США, Европа, Сингапур, Китай. Все потоковые серверы должны быть полностью изолированы. Система может регулировать свое распределение, когда сервер присоединяется к сети или выходит из нее. Таким образом, при большом трафике, добавление дополнительных серверов позволяет осуществлять горизонтальное масштабирование.

    4. Браузерная совместимость
    Облачные игры предстают в наилучшем свете, когда требует от пользователей по минимуму. Это значит, что есть возможность запуска в браузере. Браузеры помогают сделать игровой процесс максимально комфортным для пользователей, избавив их от установки программного и аппаратного обеспечения. Браузеры также помогают обеспечить кросс-платформенность для мобильных и десктопных версий. К счастью, WebRTC отлично поддерживается в различных браузерах.

    5. Четкое разделение игрового интерфейса и сервиса
    Я рассматриваю сервис облачных игр как платформу. У каждого должна быть возможность подключать к платформе что угодно. Сейчас я интегрировал LibRetro с сервисом облачных игр, потому что LibRetro предлагает красивый интерфейс игрового эмулятора для ретро-игр, таких как SNES, GBA, PS.

    6. Комнаты для мультиплеера, crowd play и внешнее связывание (deep-link) с игрой
    CloudRetro поддерживает множество новых геймплеев, таких как CrowdPlay и Online MultiPlayer для ретро-игр. Если несколько пользователей откроют один и тот же deep-link на разных компьютерах, они увидят одну и ту же запущенную игру и даже смогут присоединиться к ней.

    Более того, состояния игры хранятся в облачном хранилище. Это позволяет пользователям продолжать игру в любое время на любом другом устройстве.

    7. Горизонтальное масштабирование
    Как и любой SAAS в настоящее время, облачные игры должны быть спроектированы так, чтобы быть горизонтально масштабируемыми. Конструкция координатор-воркер позволяет добавлять больше воркеров, чтобы обслуживать больший трафик.

    8. Нет привязки к одному облаку
    Инфраструктура CloudRetro размещается на различных облачных провайдерах (Digital Ocean, Alibaba, пользовательский провайдер) для различных регионов. Я активирую запуск в контейнере Docker для инфраструктуры и настраиваю сетевые параметры с помощью bash-скрипта, чтобы избежать зависимости от одного облачного провайдера. Сочетая это с NAT Traversal в WebRTC, мы можем получить гибкость для развертывания CloudRetro на любой облачной платформе и даже на машинах любого пользователя.

    Архитектурный дизайн


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

    Координатор: отвечает за сопряжение нового пользователя с наиболее подходящим воркером для потоковой передачи. Координатор взаимодействует с воркерами через WebSocket.

    Хранилище игровых состояний: центральное удаленное хранилище для всех состояний игры. Это хранилище обеспечивает такие важные функции, как, например, удаленное сохранение/загрузка.


    Верхнеуровневая архитектура CloudRetro

    Пользовательский сценарий


    Когда новый пользователь открывает CloudRetro на шагах 1 и 2, показанных на рисунке ниже, координатор вместе со списком доступных воркеров запрашивается на первую страницу. После этого на шаге 3 клиент рассчитывает задержки для всех кандидатов с помощью HTTP запроса ping. Этот список задержек затем отправляется обратно координатору, чтобы он мог определить наиболее подходящего воркера для обслуживания пользователя. На шаге 4 ниже создается игра. Между пользователем и назначенным воркером устанавливается потоковое соединение WebRTC.

    Пользовательский сценарий после получения доступа

    Что внутри воркера


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


    Взаимодействие компонентов воркера

    Основные составляющие:

    • WebRTC: клиентский компонент, принимающий пользовательский ввод и выводящий закодированное медиа с сервера.
    • Игровой эмулятор: игровой компонент. Благодаря библиотеке Libretro система способна запускать игру внутри одного и того же процесса и внутренне перехватывать медиа и поток ввода.
    • Внутриигровые кадры захватываются и отправляются в кодировщик.
    • Изображение/аудио кодировщик: кодирующий пайплайн, который принимает медиакадры, кодирует их в фоновом режиме и выводит закодированные изображения/аудио.

    Реализация


    CloudRetro полагается на WebRTC как на магистральную технологию, поэтому перед тем, как углубиться в подробности реализации на Golang, я решил рассказать о самом WebRTC. Это потрясающая технология, которая сильно помогла мне в достижении задержки потоковой передачи данных равной всего лишь доле секунды.

    WebRTC


    WebRTC предназначен для обеспечения высококачественных одноранговых соединений на нативном мобильном приложении и в браузерах с помощью простых API.

    NAT Traversal


    WebRTC известен своей функциональностью NAT Traversal. WebRTC предназначен для одноранговой коммуникации. Его цель найти наиболее подходящий прямой маршрут, избегая NAT-шлюзов и брандмауэров для одноранговой связи через процесс под названием ICE. В рамках этого процесса API WebRTC находят ваш публичный IP-адрес с помощью серверов STUN и переадресовывают его на сервер ретрансляции (TURN), когда прямое соединение не может быть установлено.

    Однако CloudRetro не полностью использует эту возможность. Его одноранговые соединения существуют не между пользователями, а между пользователями и облачными серверами. Серверная часть модели имеет меньше ограничений на прямую связь, чем обычное пользовательское устройство. Это позволяет делать предварительное открытие входящих портов или использование публичных IP-адресов напрямую, так как сервер не находится за NAT.

    Раньше я хотел превратить проект в платформу распространения игр для Cloud Gaming. Идея заключалась в том, чтобы позволить создателям игр предоставлять игры и потоковые ресурсы. А пользователи взаимодействовали бы с провайдерами напрямую. В такой децентрализованной манере CloudRetro является всего лишь средой для подключения сторонних потоковых ресурсов к пользователям, что делает его более масштабируемым, когда на нем больше не висит хостинг. Роль WebRTC NAT Traversal здесь очень важна для облегчения инициализации однорангового соединения на сторонних потоковых ресурсах, что упрощает подключение создателя к сети.

    Сжатие видео


    Сжатие видео это незаменимая часть пайплайна, которая в значительной степени способствует плавности потока. Несмотря на то, что не обязательно знать все детали кодирования видео в VP8/H264, понимание концепции помогает разбираться в параметрах скорости потокового видео, отлаживать неожиданное поведение и настраивать задержку.

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

    Идея сжатия видео состоит в том, чтобы исключить ненужные биты информации, сохраняя при этом допустимый уровень точности для пользователей. Кроме кодирования отдельных статических кадров изображения, алгоритм делает вывод для текущего кадра из предыдущего и следующего, поэтому посылается только их разница. Как видно из примера c Pacmanом, передаются только дифференциальные точки.


    Сравнение видеокадров на примере Pacman

    Сжатие аудио


    Аналогичным образом, алгоритм сжатия звука опускает данные, которые не могут быть восприняты человеком. Opus на данный момент является аудиокодеком с наилучшей производительностью. Он разработан для передачи аудиоволны по протоколу упорядоченной датаграммы, такому как RTP (Real Time Transport Protocol протокол передачи трафика реального времени). Его задержка меньше, чем у mp3 и aac, а качество выше. Задержка обычно составляет около 5~66,5 мс.

    Pion, WebRTC в Golang


    Pion это проект с открытым исходным кодом, который перетаскивает WebRTC на Golang. Вместо обычного врапинга нативных C++ библиотек WebRTC, Pion является нативной Golang-реализацией WebRTC с лучшей производительностью, интеграцией с Go, а также контролем версий на протоколах WebRTC.

    Библиотека также обеспечивает потоковую передачу данных с большим количеством отличных встроенных модулей с задержкой менее секунды. Она имеет свою собственную реализацию STUN, DTLS, SCTP и т.д. и некоторые эксперименты с QUIC и WebAssembly. Сама по себе эта опенсорсная библиотека является действительно хорошим источником обучения с отличной документацией, реализацией сетевых протоколов и классными примерами.

    Комьюнити Pion, возглавляемое очень страстным создателем, довольно оживленное, там ведется много качественных дискуссий о WebRTC. Если вас интересует эта технология, присоединяйтесь к http://pion.ly/slack вы узнаете много нового.

    Написание CloudRetro на Golang



    Реализация воркера на Go

    Каналы Go в действии


    Благодаря красивому дизайну каналов Go, проблемы потоковой передачи событий и параллелизма значительно упрощаются. Как и на диаграмме, в разных GoRoutines параллельно работают несколько компонентов. Каждый компонент управляет своим состоянием и общается по каналам. Выборочное утверждение Golang заставляет обработать по одному атомарному событию каждый момент времени в игре (game tick). Это означает, что для такого дизайна блокировка не нужна. Например, когда пользователь сохраняется, требуется полный снэпшот состояния игры. Это состояние должно оставаться непрерывным, выполняя вход до тех пор, пока сохранение не будет завершено. Во время каждого game tickа бэкэнд может обрабатывать только операцию сохранения или ввода, что делает процесс потокобезопасным.

    func (e *gameEmulator) gameUpdate() {for {select {case <-e.saveOperation:e.saveGameState()case key := <-e.input:e.updateGameState(key)case <-e.done:e.close()return}    }}
    

    Fan-in / Fan-out


    Этот шаблон Golang отлично подходит для моего сценария использования CrowdPlay и Multiple Player. Следуя этому шаблону, все пользовательские входы в одной комнате встраиваются в центральный входной канал. Игровые медиа затем разворачиваются на всех пользователей в одной комнате. Таким образом, мы достигаем разделения состояния игры между несколькими игровыми сессиями разных пользователей.


    Синхронизация между различными сеансами

    Недостатки Golang


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

    Кроме того, garbage collector в Golang неуправляем, из-за чего иногда возникают подозрительные длинные паузы. Это сильно мешает работе потокового приложения в реальном времени.

    CGO


    В проекте используется существующая VP8/H264 библиотека Golang с открытым исходным кодом для сжатия медиа и Libretro для игровых эмуляторов. Все эти библиотеки являются просто обертками библиотеки C в Go с использованием CGO. Некоторые из недостатков перечислены в этом посте Dave Cheney. Проблемы, с которыми я столкнулся:

    • невозможность поймать краш в CGO, даже с помощью Golang RecoveryCrash;
    • невозможность определить узкое место в производительности, когда мы не можем обнаружить детализированные проблемы в CGO.

    Заключение


    Я достиг своей цели разобрался в облачных игровых сервисах и создал платформу, которая помогает играть в ностальгические ретро-игры с моими друзьями онлайн. Создание этого проекта было бы невозможным без библиотеки Pion и поддержки сообщества Pion. Я чрезвычайно благодарен за его интенсивное развитие. Простые API, предоставленные WebRTC и Pion, обеспечили плавную интеграцию. Мое первое доказательство концепции было выпущено на той же неделе, несмотря на то, что я заранее не знал об одноранговой связи (P2P).

    Несмотря на простоту интеграции, P2P-потоковое вещание действительно является очень сложной областью в компьютерной науке. Ей приходится иметь дело со сложностью многолетних сетевых архитектур, таких как IP и NAT для создания одноранговой сессии. За время работы над этим проектом я накопил много ценных знаний о сети и оптимизации производительности, поэтому рекомендую всем попробовать построить P2P-продукты с помощью WebRTC.

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

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru