Оффчейн игры уже много лет являются стандартом в игровой индустрии. Однако время идет, появляются новые возможности и технологии, и ончейн игры предоставляют несколько другой подход для девелоперов и игроков. Создавая собственную игру, я открыл для себя множество подобных нюансов.  На сегодняшний день сложно сделать востребованную игру, базирующуюся сугубо на блокчейне, ведь для приятного игрового опыта часто важна скорость и отзывчивость игры, а скорость блокчейн сетей недостаточна для обеспечения такого опыта. Поэтому мою игру можно назвать гибридной: для вещей, где необходима скорость, используется классический подход, а для вещей, связанных с экономикой и статистикой (параметры игроков, их уровень и так далее), используется ончейн составляющая.  Примечание автора: В данной статье я хочу сравнить разницу в производстве оффчейн игр и гибридных игр с ончейн составляющей. Часто в публикациях гибридные игры для простоты называют Web3 играми. Мой проект тоже можно назвать Web3 игрой в таком смысле, но для точности я все же буду называть его гибридным. Итак, давайте рассмотрим некоторые ключевые различия между разработкой оффчейн и ончейн игр. В основном, разница в их производстве заключается в технологических особенностях и принципах работы обеих платформ.  Оффчейн игры традиционным образом базируются на закрытом коде и на данных, которые хранятся на серверах разработчиков и, как правило, недоступны игрокам в полном объеме. В процессе разработки оффчейн игр используется классическая архитектура клиент-сервер, где игровой клиент установлен на компьютере или мобильном устройстве игрока (в качестве клиента может быть браузер, если речь идет о web играх). Все данные хранятся и обрабатываются на серверах игры, и там же осуществляется контроль игрового процесса, а сам игровой процесс в основном реализован на клиентской стороне (что не всегда справедливо для браузерных игр: в них часто сервер играет бОльшую роль). Разработчики обычно имеют полный контроль над игрой и ответственны за работоспособность серверов. Ончейн: Помимо классической (оффчейн) составляющей, ончейн представляет собой, как правило, открытый код и данные, хранящиеся в публичной сети — блокчейне. Таким образом, ончейн игра не имеет игрового сервера в привычном понимании. В качестве сервера выступает вся блокчейн сеть, а в качестве серверного кода выступают хранящиеся в нем смарт-контракты. Смарт-контракты — это программный код (на языке Solidity, Cadence, Rust и так далее), который обрабатывает данные, хранящиеся в блокчейне и сам также хранится в нем. В каком-то смысле, блокчейн — это распределенная база данных, а смарт-контракты — это хранимые процедуры, если проводить аналогии с традиционными базами данных (с существенной разницей, что блокчейн не имеет единого центра управления и данные в нем публичны).  Чтобы такая децентрализованная сеть могла существовать в мире рыночной экономики, запись данных в нее не бесплатна — каждая транзакция оплачивается т.н. газом (токенами этой сети), и цена транзакции балансируется в зависимости от нагрузки сети. На момент 2 августа 2023 года, комиссия за транзакцию в сети Биткоин составляет примерно 0,000044 BTC или $1,3. Это среднее значение, и фактическая сумма может отличаться. Чем выше комиссия за операцию, тем больше вероятность, что она будет включена в следующий блок. Таким образом, взаимодействие с сетью для клиента не бесплатно и требует от него наличия токенов в сети на своём кошельке, что, безусловно, повышает порог входа как технически (нужно завести кошелек и положить на него нужные токены), так и экономически. Как правило, клиент подключается к сети блокчейн через свой кошелек и взаимодействует с ней посредством стандартизированного API, называемого также ABI (B значит “бинарный”).  ABI-файлы генерируются в процессе компиляции смарт-контрактов, а затем используются клиентом как интерфейс доступа к этим смарт-контрактам в блокчейн сети. Такой подход напоминает классическую генерацию интерфейсов средствами Swagger или инструментами gRPC, и то, что в случае разработки под блокчейн мы сразу при компиляции получаем ABI файлы, несколько упрощает процесс. Сложности же добавляет специфика работы сети блокчейн. Запросы (т.н. транзакции) в сети обрабатываются блоками, что, с одной стороны, существенно увеличивает скорость ответа от сети (запрос обрабатывается от 1 сек до 12 сек, все зависит от конкретного блокчейна), хотя сокрушительно уступает оффчейн играм, не позволяя создавать динамичные и отзывчивые игры на чейне.  С другой стороны, в большинстве сетей, в силу открытости, данные запроса видны в формирующемся блоке транзакций всем участникам ещё до его сохранения в сети — это заставляет решать дополнительные вопросы безопасности (классический пример: сэндвич-боты и, как инструмент борьбы, параметр проскальзывания). Также немаловажная деталь заключается в следующем: из-за децентрализованности и распределенности сети блокчейн нет гарантии, что вновь сформированный блок сохранится в блокчейне (вновь сформированные блоки сети могут откатиться назад, если серверы-участники сети не придут по ним к консенсусу).  Обычно можно говорить, что блок “закрепился” в сети после генерации 6-12 блоков после него. Последнюю деталь важно учитывать в гибридных играх, где часть информации хранится и обрабатывается оффчейн, и нужно позаботиться об обработке рассинхронизации данных. В случае, если блок в чейне откатился, нужно откатить соответствующие изменения на собственном оффчейн сервере.  Это были сложности. Из плюсов можно отметить уже упомянутую автоматическую генерацию интерфейсов (ABI) и отсутствие необходимости поддерживать свои собственные серверы (в случае чистого ончейн проекта). Кроме того, не нужно беспокоиться насчет взлома или ддоса серверов — эти вопросы делегированы сети блокчейн. Оффчейн: Владение активами в оффчейн играх осуществляется через централизованные системы и базы данных, которые контролируются разработчиками и издателями игры. Владение активами ограничивается правами, что предоставляются игрокам в рамках игровой платформы или лицензионного соглашения. Чем владеют оффчейн игроки? 1. Виртуальные предметы: оружие, броня, одежда, украшения и другие игровые элементы, которые могут быть приобретены или заработаны в игре. Однако владение этими предметами ограничено игровым миром и не имеет реальной ценности за пределами игры. 2. Валюты и игровые ресурсы, заработанные или приобретенные. Эти валюты позволяют покупать предметы, улучшения или другие игровые преимущества. Однако игровые ресурсы контролируются разработчиками и их использование и обмен ограничены внутри игровой экосистемы. 3. Учетные записи и данные. Игроки владеют своими аккаунтами, которые содержат информацию о прогрессе, достижениях и другой статистике. Хотя игроки имеют контроль над своими аккаунтами, данные хранятся на серверах игры и доступны через игровые платформы. Владение активами в оффчейн играх часто связано с лицензионными соглашениями и ограничениями, устанавливаемыми разработчиками и издателями. Игровые активы и данные остаются в рамках игровой платформы и обычно их нельзя свободно продать или передать за пределы игровой экосистемы без согласия разработчиков. Ончейн: Ончейн игры идут дальше и стремятся к концепции NFT и управления активами на блокчейне. Владение активами в ончейн играх осуществляется через децентрализованную блокчейн-технологию, которая позволяет игрокам иметь полный контроль и собственность над своими цифровыми активами. Игроки также способны торговать ими на открытых рынках или через специальные платформы.  Тут нужно отметить, что разработчики могут специально накладывать ограничения на цифровые активы игроков. Эти ограничения представлены в смарт-контрактах и видны сообществу заранее. Зачем накладывать ограничения? Дело может быть как в вопросе поддержания баланса игры и игровой экономики, так и в злонамеренном мошенничестве. Таким образом, игроку следует ознакомиться с ревью смарт-контрактов от легитимных участников сообществ, чтобы взвесить все “за” и “против” и, будучи осведомленным, решить, принимать ли правила игры или нет.   Стоит признать, что разобраться в торговле в Steam гораздо проще, нежели быстро научиться работать с криптовалютами, установкой специализированного кошелька и обменом токенов. Все эти действия сложны и запутанны для новичков, а также мешают понимать и использовать многие игровые функции.  Немного личной истории: год или два назад я пытался помочь своим племянникам войти в крипту, но они отвалились буквально через неделю изучения, отчаянно открывая все форточки в доме от обрушившейся на них духоты. Поэтому в своем проекте я сфокусировал особое внимание на туториале и приложил все усилия, чтобы спрятать непонятную терминологию за игровыми терминами.     Оффчейн: В игровой экономике оффчейн игр существует централизованная модель, где разработчики и издатели контролируют игровую валюту, ресурсы и экономические системы игры. Вознаграждения за достижения и прогресс в игре предоставляются внутриигровыми механизмами, предложенными разработчиками. Ончейн: В ончейн играх экономические системы и вознаграждения представлены в децентрализованном формате. Они основаны на смарт-контрактах, которые автоматически выполняют условия и предоставляют вознаграждения игрокам в режиме реального времени. Распределение вознаграждений обычно основано на уровне активности, вкладе в игру, доле владения и других параметрах. Общая стоимость создания оффчейн или ончейн игры зависит от многих факторов, включая масштаб проекта, его уникальность, количество игровых механик, сложность разработки и другие моменты. В целом нельзя сказать, что один тип игры обязательно будет дешевле, чем другой. По данным BR Softech, средняя стоимость разработки игр AAA составляет от 60 до 80 миллионов долларов, включая базовые и среднего уровня функции. Однако, при наличии продвинутых и высокого уровня функциональности и графики, стоимость таких игр может достигать 100 миллионов долларов и даже превышать эту сумму. Вот несколько примеров: Grand Theft Auto V от Rockstar Games, выпущенная в 2013 году: 265 миллионов долларов (с поправкой на инфляцию: 291 миллион долларов). Star Wars: The Old Republic от Electronic Arts, LucasArts, выпущенная в 2011 году: 200+ миллионов долларов (с поправкой на инфляцию: 227+ миллионов долларов). The Witcher 3: Wild Hunt от CD Projekt, выпущенный в 2015 году: 81 миллион долларов (с поправкой на инфляцию: 87 миллионов долларов). Тем не менее, стоимость разработки ончейн игры легко может быть выше в сравнении с оффчейн игрой, потому что ончейн игры требуют дополнительной интеграции с блокчейн-технологиями, создания и управления смарт-контрактами, присутствия собственной криптовалюты или токена и т.д. Все это требует дополнительного времени и ресурсов со стороны разработчиков. Также, ончейн игры часто подразумевают команду разработчиков с опытом работы с блокчейном и криптовалютами, что может повлиять на стоимость проекта, поскольку специалисты в этой области обычно востребованы и их услуги стоят больших денег.  В общем, как было сказано выше, стоимость создания игры может существенно отличаться в каждом конкретном случае и точные цифры могут быть предоставлены только после детального обсуждения требований и конкретного проекта с командой разработчиков. Основное различие между играми оффчейн и ончейн заключается в открытости данных, собственности и контроле. Если игры оффчейн контролируются централизованно, то ончейн продукты в основе своей принадлежат игрокам и управляются ими, что открывает новый игровой опыт и возможности монетизации. Ончейн игры стремятся к более децентрализованной и участнической модели, где игроки имеют больше контроля и влияния на игровую экосистему. Они предлагают новые возможности владения активами, участия в сообществе и экономического взаимодействия.  Будут ли они становиться более популярными в массах? Эта технология все еще развивается и малоизвестна для большинства людей. Высокий порог входа, недоверие и страх быть обманутым являются серьезными преградами для широкого принятия ончейн игр и ограничивают доступность игрового контента для массовой аудитории. Вероятно, по мере того, как ончейн продукты будут приобретать популярность, то и на традиционную игровую индустрию они будут влиять, но до этого предстоит еще долгий и нелегкий путь.