Авторы:Бычкова Е.В., Шумский А.А.
Источник:Сборник материалов VII Международной научно-технической конференции в рамках II Международного Научного форума ДНР, 2016. – С. 309.
Шумский А.А., Бычкова Е.В. Использование облачных технологий в игровой индустрии. Визуализация и уменьшение требований к «железу» клиента. Проанализированы современные виды игровых продуктов, а также способы их распространения и разработки. Приведены инновационные варианты развития индустрии игр, с использованием облачных технологий обработки данных. Раскрыты основные проблемы разработки облачных игр и сервисов.
В настоящее время индустрия развлечений не стоит на месте и занимает внушительную часть программного обеспечения. Существует большое количество различных видов игр, использующих облачные технологии (сloud technologies) для решения тех или иных задач.
Большой проблемой является имеющаяся разница в уровне производительности и архитектуре «железа» игроков. Это накладывает серьезные ограничения на проводимые разработки и не позволяет реализовать определенные идеи авторов. В связи с этим проблема разработки облачных игр в настоящее время стала крайне актуальной.
Проанализировать возможность использования облачных вычислений как средств реализации концепции игры на любом устройстве.
Облачные вычисления (cloud computing) — это технология распределённой обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как интернет-сервис.
Структуру облака можно представить в виде пирамиды (рис. 1). Основание пирамиды «инфраструктура» – это набор физических устройств (серверы, жесткие диски и т.д.), над ней выстраивается «платформа» - набор услуг и верхушка – программное обеспечение, доступное по запросу пользователей.
Все чаще облачные технологии используются в сфере компьютерных игр. Начиная от однопользовательских игр с «соревновательными» моментами и заканчивая браузерными многопользовательскими играми. Особую популярность они обрели за счет социальной составляющей.
В большинстве случаев основная часть расчетов ложится на «железо» клиента, что накладывает ограничения на разработку масштабных игр для широкой аудитории. От этого страдает качество, что влечет за собой уменьшение количества продаж и снижение популярности.
Возможность переложить все вычисления на сторону сервера и требовать наличия лишь интернета и минимального по производительности устройства с возможностью ввода-вывода, является краеугольным камнем будущего развития игровой индустрии в целом.
На данный момент существует несколько облачных сервисов, с помощью которых можно играть практически на любом устройстве. OnLive, Grid и некоторые более современные аналоги используют серверные машины, на которых запускаются отдельные лицензионные копии игр. «Железо» пользователя выступает в качестве терминала. С его стороны на сервер идут пакеты, содержащие информацию с устройств ввода, обычно отвечающие за контроль игрового персонажа, а в ответ игрок получает видеоряд со звуком. Благодаря подобной технологии пользователь сервиса может играть в любые игры, доступные в списке, при наличии достаточно скоростного интернет-соединения.
У таких облачных сервисов (OnLive, Grid и подобные) есть минусы, среди которых:
Стоит отметить, что рост пользователей пропорционален требованию к вычислительной мощности на сервере. С одной стороны, это хорошо, так как можно рассчитать рост требований к мощности сервера в будущем, имея данные о росте числа пользователей. С другой стороны, желательно снижение требований к серверам, учитывая то, что выполняется код одной игры, содержащий один и тот же контент. Это особенно актуально для многопользовательских игр в реальном времени, когда игроки существуют одновременно на одном игровом поле.
Логичным решением данной проблемы является новая концепция облачных игровых движков, которые смогут использовать общие ресурсы сервера для обработки графики и физики всех игроков на сцене. Идея состоит в том, чтобы не повторять одни и те же расчеты для каждого клиента, а использовать единую систему для этих задач. Данный подход требует низкий уровень доступа к «железу» сервера для ядра движка. Подобная реализация логики позволит создавать и обслуживать огромные и крайне сложные игровые локации с большим количеством контента. Также будет достигнута простота работы с обновлениями. Необходимость достижения корректной работы игры на большом количестве конфигураций «железа» вовсе отпадет.
Одной из главных особенностей данной концепции для игроков является «равенство» в играх, которое заключается в предоставлении сервером одинаковой картинки, а также скорости реакции на игровые события, зависящие только от интернет-соединения. Уйдут в прошлое такие проблемы:
Последняя проблема особенно актуальна в многопользовательских играх с большим «открытым миром», где множество игроков могут сойтись на одной игровой локации. Ярким примером работы сервера с большими нагрузками является игра «Eve Online», в которой часто сходятся в битвах друг против друга сотни, если не тысячи, игроков. В данной игре сервер обрабатывает данные о взаимодействии игроков, а за графику отвечает персональный компьютер клиента.
Обычно в таких случаях обработка данных с локации перебрасывается на отдельный сервер, и это обеспечивает большую производительность и масштабируемость. Тем не менее, зачастую этого мало, и потому сильно страдает качество игры.
Новая концепция облачного игрового движка тоже будет подвержена подобной проблеме, однако в значительно меньшей степени. Нет необходимости передавать огромные массивы данных о синхронизации действий и эффектов по сети между игроками через сервер. Эти данные будут существовать лишь в пределах самого сервера, где скорости значительно выше, а масштабируемость лучше. При огромных волновых нагрузках такой сервер будет куда устойчивей, а просадка должна быть менее заметна. Как результат, пользователи не будут ощущать дискомфорт и смогут насладиться настоящей масштабностью и красотой игрового мира без старых ограничений.
Следует упомянуть, что мощность современных вычислительных систем быстро растет и подчиняется закону Мура. Это позволит в обозримом будущем создать реалистичную физическую модель поведения. Люди смогут полностью реализовать любые идеи в игровых вселенных, где будут действовать законы физики, аналогичные реальному миру. Уже сейчас активно развиваются игры-песочницы с реалистичной графикой, однако с улучшением графики уменьшается их количество. Это тоже связано с ростом передаваемых данных между клиентскими машинами, проблему которой и решает новая концепция.
Последним, тем не менее важным преимуществом концепции облачного игрового движка, является невозможность взлома. В прошлое уйдет пиратство и изменение игровых данных с целью получения преимущества над другими игроками. Благодаря закрытости данных система полностью защищена от подобного рода воздействия.
В современных многопользовательских играх преобладают две версии монетизации: free to play (бесплатная игра с внутриигровыми покупками) и pay to play (оплата по подписке каждый месяц). Первая сейчас очень распространена и активно продвигается, но она долго не сможет существовать в новой концепции из-за дороговизны поддержки. А вот вторая отлично подходит. Разработчики точно смогут рассчитать стоимость обслуживания и установить соответствующую плату для подписки.
Для минимизации задержек ввода-вывода необходимо разместить сервера как можно ближе к клиенту, что увеличит затраты и создаст серьезные затруднения в реализации кросс-серверной игры из-за архитектуры облачного движка. Однако благодаря быстрым темпам развития коммуникационных технологий данная проблема скоро может стать неактуальной.
На данный момент стоимость обслуживания серверов, разработки и поддержки низкоуровневого программного обеспечения, а также сложности монетизации делают разработку инновационного облачного движка практически нерентабельной.
Создание первых облачных игровых движков может затянуться из-за производителей аппаратной составляющей домашних компьютеров и серверов. Nvidia, Intel и AMD – крупные игроки, которые не захотят терять большую долю рынка комплектующих. Необходимость обновлять свой персональный компьютер, чтобы иметь возможность играть в самые современные проекты, попросту исчезнет. Все это ляжет исключительно на плечи издателя и разработчика. «Железо» серверов для облачных игр обойдется значительно дешевле, чем аналогичное для персональных компьютеров. Единственным возможным вариантом будет искусственное повышение цен на серверные комплектующие, что тоже может сильно замедлить развитие облачных игровых движков.
Активное развитие может получить популярная в настоящее время виртуальная реальность (VR). Однако для ее реализации требуется сократить задержку между вводом и выводом, т.к. это вызывает негативное воздействие на самочувствие игрока. Из-за относительно низкой скорости передачи данных по сети, а также высокой задержки требуется быстрый скачок в развитии способов передачи данных для реализации VR в облачных игровых движках.
В связи с последними тенденциями в развитии программного обеспечения и коммуникационных технологий нет никаких сомнений в скорой революции в сфере облачных игровых технологий и сервисов. Скорость передачи, задержка и стоимость обслуживания оборудования позволит совершить качественный скачок уже в обозримом будущем. Облачные технологии находятся в ранней стадии развития, однако их потенциал в мире развлечений не имеет себе равных. Уже сейчас идет активная борьба между корпорациями в этой сфере. Данные и расчеты перенесли в облака, лишив пользователей необходимости задумываться о замене своих устройств на более производительные, что спровоцировало гонку серверов. Игры являются одним из крайне востребованных продуктов на рынке программного обеспечения и создание облачных игровых движков просто неизбежно.