Мэтью Болл – Метавселенная. Создание пространственного интернета (страница 20)
То, что онлайн-игры остаются "в основном оффлайн", удивляет даже заядлых геймеров. В конце концов, большинство музыки и видео сейчас транслируется - мы больше не скачиваем песни и телешоу, не говоря уже о покупке физических компакт-дисков для их хранения, а видеоигры якобы являются более технически сложной и перспективной медиакатегорией. Однако именно из-за сложности игр те, кто их делает, предпочитают отодвигать интернет на второй план - потому что интернет ненадежен. Соединения ненадежны, пропускная способность ненадежна, задержки ненадежны. Как я уже говорил в главе 3, большинство онлайн-услуг могут пережить эту ненадежность, но игры - нет. В результате разработчики предпочитают как можно меньше полагаться на интернет.
Этот преимущественно офлайновый подход к онлайн-играм работает хорошо, но он накладывает множество ограничений. Например, тот факт, что сервер может только сообщить отдельным пользователям, какие активы, текстуры и модели должны быть отрисованы, означает, что каждый актив, текстура и модель должны быть известны и сохранены заранее. Отправляя данные для рендеринга по мере необходимости, игры могут иметь гораздо большее разнообразие виртуальных объектов. Microsoft Flight Simulator стремится к тому, чтобы каждый город не просто отличался друг от друга, а существовал так же, как в реальной жизни. И он не хочет хранить 100 типов облаков, а затем указывать устройству, какое облако и с какой раскраской отрисовывать; он хочет точно сказать, как должно выглядеть это облако.
Когда игрок видит своего друга в Fortnite сегодня, он может взаимодействовать с ним, используя лишь ограниченный набор заранее загруженных анимаций (или "эмоций"), например, махать рукой или ходить под луной. Однако многие пользователи представляют себе будущее, в котором их живые движения лица и тела будут воссозданы в виртуальном мире. Чтобы поприветствовать друга, они не будут выбирать 17 из 20 волн, предварительно загруженных в устройство, а будут размахивать пальцами с уникальной артикуляцией. Пользователи также надеются, что смогут переносить свои многочисленные виртуальные предметы и аватары по множеству виртуальных миров, подключенных к Metaverse. Как следует из размера файла MSFS, отправить пользователю столько данных заранее просто невозможно. Для этого нужны не только непрактично большие жесткие диски, но и виртуальный мир, который заранее знает обо всем, что может быть создано или сделано.
Необходимость "предзагрузки" живого виртуального мира имеет и другие последствия. Каждый раз, когда Epic Games изменяет виртуальный мир Fortnite - например, добавляет новые места назначения, транспортные средства или неигровых персонажей, - пользователям приходится скачивать и устанавливать обновление. Чем больше Epic добавляет обновлений, тем больше времени это занимает и тем дольше пользователю приходится ждать. Чем чаще обновляется мир, тем больше задержек испытывает пользователь.
Пакетный процесс обновления также означает, что виртуальные миры не могут быть по-настоящему "живыми". Вместо этого центральный сервер решает разослать всем пользователям определенную версию виртуального мира, которая будет существовать до тех пор, пока следующее обновление не заменит ее. Каждая версия не обязательно фиксирована - в обновлении могут быть запрограммированные изменения, например, событие в канун Нового года или снегопад, который увеличивается ежедневно, - но она заранее прописана.
Наконец, существуют ограничения на то, куда могут отправиться пользователи. Во время 10-минутного события Трэвиса Скотта в Fortnite около 30 миллионов игроков мгновенно перенеслись с основной карты игры в глубины невиданного океана, затем на невиданную планету, а потом в открытый космос. Многие из нас могут представить, что Metaverse работает аналогичным образом - пользователи могут легко переходить из виртуального мира в виртуальный мир без длительной загрузки. Но чтобы устроить концерт, Epic пришлось отправить пользователям каждый из этих мини-миров за несколько дней или часов до начала мероприятия с помощью стандартного патча Fortnite (пользователи, которые не скачали и не установили обновление до начала мероприятия, не смогли принять в нем участие). Затем, во время каждой серии, устройство каждого игрока загружало следующую серию в фоновом режиме. Примечательно, что каждый из концертных маршрутов Скотта был меньше и ограниченнее предыдущего, а последний был в значительной степени "на рельсах", в котором пользователи просто летели вперед в пространстве, не имеющем названия. Подумайте об этом, как о разнице между свободным исследованием торгового центра и его перемещением по движущейся дорожке.
Тем не менее концерт стал значительным творческим достижением, но, как это часто бывает с онлайн-играми, он зависел от технических решений, которые не могут поддерживать Метаверсу. На самом деле, наиболее похожие на Metaverse виртуальные миры сегодня используют гибридную модель потоковой передачи данных из локального и облачного хранилищ, в которой "ядро игры" предварительно загружено, но в несколько раз больше данных отправляется по мере необходимости. Этот подход не так важен для таких игр, как Mario Kart или Call of Duty, в которых сравнительно небольшое разнообразие предметов и окружающей среды, но крайне важен для таких игр, как Roblox и MSFS.
Учитывая популярность Roblox и необъятность MSFS, может показаться, что современная интернет-инфраструктура способна выдержать прямую трансляцию данных в стиле Metaverse. Однако сегодня эта модель работает только в очень ограниченном режиме. Roblox, например, не нуждается в облачном потоке данных, потому что большинство его внутриигровых предметов основаны на "префабах". Игра в основном просто сообщает устройству пользователя, как настраивать, перекрашивать или переставлять ранее загруженные предметы. Кроме того, графическая точность Roblox относительно скромна, поэтому размер файлов текстур и окружения тоже сравнительно невелик. В целом, Roblox потребляет гораздо больше данных, чем Fortnite - примерно 100-300 МБ в час, а не 30-50 МБ, - но все же это приемлемо.
При целевых настройках MSFS требуется почти в 25 раз больше пропускной способности в час, чем Fortnite, и в пять раз больше, чем Roblox. Это связано с тем, что игра отправляет данные не о том, как изменить конфигурацию или цвет заранее загруженного дома, а вместо этого передает устройству пользователя точные размеры, плотность и цвет многокилометрового облака или почти точную копию береговой линии Мексиканского залива. Однако даже эти потребности упрощены так, что не подойдут для "Метавселенной".
Хотя MSFS нужно много данных, они не должны быть особенно быстрыми. Как и пилоты реального мира, пилоты MSFS не могут внезапно телепортироваться из штата Нью-Йорк в Новую Зеландию, увидеть центр Олбани с высоты 30 000 футов над Манхэттеном или спуститься с небосвода на асфальт за несколько минут. Это дает устройству игрока много времени для загрузки необходимых данных - и даже возможность предсказать (и, соответственно, начать загрузку) то, что ему нужно, еще до того, как игрок выберет пункт назначения. Даже если эти данные не поступят вовремя, последствия будут скромными: некоторые здания Манхэттена будут временно сгенерированы процедурно, а не похожи на настоящие, а реалистичные детали будут добавлены по прибытии.
Наконец, виртуальный мир MSFS имеет больше общего с диорамой, чем с шумной и непредсказуемой улицей Нила Стивенсона. Для отправки пользователям такого рода данных, которые невозможно предсказать и которые гораздо объемнее, чем визуальные детали офисного парка или леса, потребуется значительно больше, чем 1 ГБ в час. Это подводит нас к следующему и, возможно, наименее изученному сегодня элементу интернет-подключения: задержке.
Латентность
Пропускную способность и задержку часто смешивают, и эта ошибка вполне объяснима: они обе влияют на то, сколько данных можно отправить или получить в единицу времени. Классический способ разграничить эти два понятия - сравнить ваше интернет-соединение с автомагистралью. Пропускную способность можно представить как количество полос на шоссе, а задержку - как ограничение скорости. Если у шоссе больше полос, оно может пропускать больше легковых и грузовых автомобилей без заторов. Но если предельная скорость на шоссе низкая - возможно, из-за большого количества поворотов или из-за того, что оно покрыто гравием, а не асфальтом, - то поток транспорта будет медленным даже при наличии свободной пропускной способности. Аналогично, высокое ограничение скорости при наличии только одной полосы приводит к постоянным заторам - ограничение скорости является стремлением, а не реальностью.
Проблема виртуальных миров с визуализацией в реальном времени заключается в том, что пользователи не отправляют один автомобиль из одного пункта назначения в другой. Вместо этого они отправляют бесконечный парк автомобилей, связанных между собой (помните, нам нужно "непрерывное соединение"), как в пункт назначения, так и из него. Отправить эти автомобили заранее невозможно, потому что их содержимое определяется лишь за миллисекунды до того, как они отправятся в путь. Более того, нам нужно, чтобы эти автомобили двигались с максимально возможной скоростью и никогда не отклонялись на другой маршрут (это разорвет непрерывную связь и увеличит время в пути даже при сохранении максимальной скорости).