Мэтью Болл – Метавселенная. Создание пространственного интернета (страница 26)
По крайней мере, в культурном плане идея коллективно используемой, но находящейся в частной собственности инфраструктуры уже хорошо понятна. Каждый, кто устанавливает у себя дома солнечные батареи, может продавать излишки энергии в местную сеть (и, косвенно, своему соседу). Элон Маск провозглашает будущее, в котором ваша Tesla будет зарабатывать на аренде как самоуправляемый автомобиль, когда вы не используете ее сами - это лучше, чем просто стоять в гараже 99 % срока службы.
Уже в 1990-х годах появились программы для распределенных вычислений с использованием обычного потребительского оборудования. Один из самых известных примеров - SETI@HOME Калифорнийского университета в Беркли, где потребители добровольно использовали свои домашние компьютеры для поиска инопланетной жизни. Суини рассказывал, что одним из пунктов его "списка дел" для шутера от первого лица Unreal Tournament 1, который вышел в 1998 году, была "возможность игровых серверов общаться друг с другом, чтобы мы могли иметь неограниченное количество игроков в одной игровой сессии". Однако спустя почти 20 лет Суини признался, что эта цель "похоже, все еще находится в списке наших желаний".5
Хотя технология разделения GPU и совместного использования CPU, не относящихся к центрам обработки данных, только зарождается, некоторые считают, что блокчейн обеспечивает как технологический механизм децентрализованных вычислений, так и их экономическую модель. Идея заключается в том, что владельцы недоиспользуемых CPU и GPU будут "платить" криптовалютой за использование их вычислительных возможностей. Может даже проводиться аукцион на доступ к этим ресурсам: либо те, у кого есть "рабочие места", выставляют их на аукцион, либо те, у кого есть мощности, выставляют их на аукцион.
Может ли такой рынок обеспечить некоторые из огромных объемов вычислительных мощностей, которые потребуются Метавселенной?#x2021; Представьте, что во время навигации по иммерсивным пространствам ваш аккаунт постоянно выдает необходимые вычислительные задания мобильным устройствам, которые находятся, но не используются людьми рядом с вами, возможно, людьми, идущими по улице рядом с вами , для визуализации или анимации впечатлений, которые вы встречаете. Позже, когда вы не будете пользоваться своими устройствами, вы будете зарабатывать токены, поскольку они ответят вам взаимностью (подробнее об этом в главе 11). Сторонники этой концепции криптообмена считают ее неизбежной особенностью всех будущих микрочипов. Каждый компьютер, каким бы маленьким он ни был, будет спроектирован таким образом, чтобы постоянно продавать на аукционе все свободные циклы. Миллиарды динамически объединенных процессоров будут обеспечивать глубокие вычислительные циклы даже самых крупных промышленных потребителей и создадут окончательную и бесконечную вычислительную сетку, которая позволит создать Metaverse. Возможно, единственный способ услышать, как падает дерево, - это поливать его.
* Напоминаю, что это не буквальные 30 часов. Вместо этого это 30 часов работы ядра. Одно ядро может потратить 30 часов на рендеринг, или 30 ядер могут потратить один час на рендеринг и т. д.
† Исключение составляют случаи, когда игра работает ниже возможностей графического процессора, поддерживающего ее, - например, если играть в версию Mario Kart для Nintendo 64 на Nintendo Switch, которая вышла спустя 21 год после Nintendo 64.
‡ Нил Стивенсон подробно описал подобные технологии и опыт в "Криптономиконе", который был опубликован в 1999 году, через семь лет после "Снежной катастрофы".
Глава 7. Двигатели виртуального мира
ВИРТУАЛЬНОЕ ДЕРЕВО ПАДАЕТ В ВИРТУАЛЬНОМ ЛЕСУ. В предыдущих двух главах я объяснил, что требуется для визуализации дерева и обработки его падения, а затем для обмена информацией и, таким образом, для любого наблюдателя. Но что это за дерево? Где находится это дерево? Что такое лес? Ответ - данные и код.
Данные описывают атрибуты виртуального объекта, такие как его размеры или цвет. Чтобы наше дерево было обработано CPU и отображено GPU, эти данные должны быть выполнены кодом. А если мы хотим срубить это дерево и использовать его древесину, чтобы построить кровать или разжечь огонь, этот код должен быть частью более широкой структуры кода*, которая управляет виртуальным миром.
Реальный мир ничем не отличается. Законы физики - это код, который считывает и управляет всеми взаимодействиями: от причин падения дерева до того, как оно создает вибрации в воздухе, которые доходят до человеческого уха и заставляют нервы передавать информацию через электрические сигналы по различным синапсам. Аналогично, дерево, "увиденное" человеческим наблюдателем, означает, что оно отразило свет, произведенный (обычно) солнцем, свет, который, в свою очередь, принимается и обрабатывается человеческим глазом и мозгом.
Но есть ключевое отличие: реальный мир полностью запрограммирован. Мы не можем видеть рентгеновские лучи или эхолокацию, но необходимая информация уже существует в мире. В игре рентгеновские лучи и эхолокация требуют данных и много кода. Если вы пойдете домой, смешаете кетчуп с нефтью и , а затем попытаетесь съесть его или порисовать им, законы физики позаботятся о результатах. Чтобы игра могла управлять таким же взаимодействием, она должна заранее знать, что делают кетчуп и нефть, когда их соединяют (и, вероятно, в общих соотношениях), или она должна знать достаточно об этих двух компонентах, чтобы логика игры могла это понять, предполагая, что игра способна на это.
Логика виртуального мира может гласить, что нефть нельзя ни с чем смешивать. Или что ее можно смешивать только с нефтью. Или что если ее вообще с чем-то смешать, то получится непригодный для использования осадок. Но для получения более сложного результата требуется значительно больше данных и гораздо более полная логика виртуального мира. Сколько нефти можно добавить в кетчуп, чтобы он стал несъедобным? Сколько кетчупа можно добавить в нефть, прежде чем она станет непригодной для использования? Как меняется цвет и вязкость полученного вещества в зависимости от соотношения одного ингредиента к другому?
Тот факт, что многие из этих перестановок не имеют особой ценности, на самом деле очень важен для тех, кто создает виртуальные миры. Герою The Legend of Zelda не нужно лететь в космос, поэтому не требуется космическая физика. Игрокам Call of Duty не нужны байдарки, чары или выпечка - разработчик игры не создавал соответствующий код. Nintendo и Activision могли бы сосредоточить больше данных и кода на том, что нужно и полезно их виртуальным мирам, а не на бесконечных перестановках, которые имеют ограниченную практическую ценность для их игр.
При всей своей эффективности такой подход создает препятствия для создания виртуальных миров типа Metaverse, а особенно для обеспечения их совместимости. Например, в Microsoft Flight Simulator пилот может посадить вертолет рядом с футбольным полем, но при этом он не сможет посмотреть футбольный матч, не говоря уже о том, чтобы присоединиться к нему. Чтобы предложить такую функциональность, Microsoft пришлось бы с нуля создавать собственную футбольную систему, хотя многие разработчики уже сделали это и, имея многолетний опыт, скорее всего, лучше справятся. Хотя MSFS могла бы попытаться интегрироваться в эти специфические для футбола виртуальные миры, структуры данных и коды с каждой стороны, скорее всего, будут несовместимы. В главах о сетях и вычислениях выше я говорил о том, что устройства пользователей часто выполняют одну и ту же работу. Но если можно провести сравнение, то разработчикам, надо сказать, приходится еще хуже. Они постоянно создают и перестраивают все - от футбольного поля до футбольного мяча и даже правил полета футбольного мяча в воздухе. Более того, с каждым годом эта работа становится все сложнее, поскольку создатели виртуальных миров стремятся использовать преимущества более совершенных процессоров и графических процессоров. По данным Nexon, одного из крупнейших в мире издателей видеоигр, среднее количество штатных сотрудников для экшена с открытым миром (вспомните The Legend of Zelda или Assassin's Creed) выросло примерно с 1000 человек в 2007 году до более 4000 к 2018 году, а бюджеты увеличились в 10 раз (примерно в два с половиной раза быстрее).1
Чтобы услышать, как падают деревья, чтобы они падали рядом с футбольными полями и чтобы звук их падения добавлялся к реву толпы, реагирующей на победный тачдаун, требуется множество программистов, пишущих множество кода для обработки огромного количества данных, и все они работают одинаковыми способами.
Теперь, когда мы рассмотрели сетевые и вычислительные мощности, необходимые для обмена, запуска и визуализации данных и кода, необходимых для Metaverse, мы можем перейти к последним понятиям.
Игровые движки
Концепция, история и будущее Metaverse тесно связаны с играми, как мы уже видели, и этот факт, пожалуй, наиболее очевиден, когда мы смотрим на основной код виртуальных миров. Этот код обычно содержится в "игровом движке" - расплывчатом термине, обозначающем совокупность технологий и фреймворков, которые помогают создавать игру, рендерить ее, обрабатывать логику и управлять памятью. В упрощенном понимании игровой движок - это то, что устанавливает виртуальные законы вселенной - набор правил, определяющий все взаимодействия и возможности.