Содержание
Существует целая индустрия игр, полностью построенных на взаимодействии с NFT и смарт-контрактами. Их используют в качестве игровых предметов, аватаров пользователей и других игровых ресурсов. В материале рассказываем какие проблемы в блокчейн-играх существуют и как их можно решить с помощью Pure NFT от Foil Network.
Как хранятся данные в NFT-играх
Все действия в современных играх на блокчейне происходят при помощи смарт-контрактов. Например, в игре космический корабль летит к астероиду с целью добычи драгоценных минералов. Игрок увидит красивую картинку, на которой все это изображено. Но со стороны смарт-контракта это происходит по-другому. Корабль — это NFT со ссылкой на модель корабля, астероид — это смарт-контракт, а сами минералы — это токены стандарта ERC-20.
Пользователь отправляет NFT на адрес контракта, распределяющего ERC-20 токены. Этот NFT там блокируется на какое-то время, а потом контракт возвращает его пользователю вместе с ERC-20 токенами. А все, что видит игрок — модели корабля и астероида, фон космического пространства, анимации — хранится на централизованном сервере создателей игры.
Большинство современных блокчейнов технически не могут вместить в себя игру со всеми ресурсами и игровой логикой. Вместимость блоков ограничена, а загрузка файлов большого размера будет стоить огромных комиссий. Поэтому разработчикам приходится хранить данные на централизованном сервере. Такие игры не могут называться децентрализованными приложениями (DApp), так как большая их часть находится на централизованных хранилищах.
Существует еще одна проблема — игровые смарт-контракты не могут работать полностью автоматически и требуют активных действий со стороны разработчиков. Например, создатели игры Alien Worlds однажды не пополнили баланс стейкинга на техническом аккаунте. В результате контракт перестал работать, а вместе с ним и сама игра.
Эти проблемы особенно критичны для игр формата Play to Earn, так как пользователи не могут зарабатывать игровые предметы либо воспользоваться уже купленными предметами. А их стоимость в криптовалюте может доходить до сотен тысяч долларов. Поэтому многие пользователи перестают играть в такие игры после возникновения первых проблем с заработком.
Чтобы создать по-настоящему децентрализованную игру, требуются новые технологические решения. Ниже подробно рассказываем про 2 таких решения.
Решение 1 — полностью поместить игру в блокчейн
Первое решение — поместить игру полностью в блокчейн: игровые ассеты, медиафайлы, скрипты игровой логики. Такие блокчейны как Ethereum, для этого не подойдут. У них слишком высокая стоимость размещения информации в блокчейне и недостаточный размер блоков. Например, загрузка файла размером в несколько килобайт в Ethereum будет стоить тысячи долларов, а за мегабайт придется заплатить почти миллион долларов комиссий.
Ассеты — это набор ресурсов, которые используют разработчики в своей игре. Например, персонажи, текстуры, модели.
Но есть блокчейны, которые подойдут для размещения игр — например, Foil Network. Он использует новый стандарт невзаимозаменяемых токенов — Pure NFT. Такой стандарт дает возможность хранить в блокчейне все данные: сам файл и его описание.
Например, упомянутый выше игровой корабль будет представлять из себя NFT, внутри которого будет храниться модель и текстуры этого корабля. Также в токене будет содержаться информация о его характеристиках и дополнительные метаданные, которые могут потребоваться для работы игровых скриптов. В обычном NFT были бы только ссылка на модель корабль и описание.
Второй особенностью Foil Network является наличие протокольных смарт-контрактов. Их еще называют глобальными смарт-контрактами. Они дают возможность создать полностью децентрализованную игру.
Классические смарт-контракты в Ethereum, BSC и других сетях работают просто. Вы взаимодействуете с определенным адресом в сети — например, отправляете на него средства. А смарт-контракт на этом адресе выдает какой-либо результат, в зависимости от имеющегося кода.
Например, так происходит анбоксинг NFT-комплектов в обычных смарт-контрактами. Пользователь отправляет комплект на счет смарт-контракта, тот высчитывает вероятность получения определенных NFT. После этого он создает их и пересылает на счет пользователя. Если на нужный счет комплект не отправлять, то ничего происходить не будет. То есть инициатор действия — пользователь.
Глобальные смарт-контракты в сети FOIL работают сразу для всех участников блокчейна и срабатывают при достижении заложенных в него условий. Например, по такому принципу действуют глобальные смарт-контракты для лотерей.
Если у пользователя есть определенное количество монет в кошельке, он автоматически становится ее участником. При этом человеку не нужно взаимодействовать с адресом смарт-контракта напрямую. Он просто выполняет условия для участия. То есть инициатор действия — смарт-контракт, а не пользователь.
Так как глобальные смарт-контракты затрагивают всех пользователей блокчейна, их выпуск происходит только после голосования. Если большинство участников поддерживает идею, то проект запустится. А чтобы он не затронул тех, кто не хочет пользоваться смарт-контрактом, в него прописывают сложные условия. Их нельзя выполнить случайно. Например, у человека должны быть на счету определенные монеты в определенные даты и в определенном количестве.
Затем алгоритм смарт-контракта сам включает режим накопления средств, определяет победителей исходя из заданных условий и пересылает им на счета нужный процент от накопленных средств в качестве выигрыша. Все это происходит без пользователя. Он никак не взаимодействует с контрактом.
Такие смарт-контракты подойдут и для игр. В них можно поместить всю игровую механику и автоматизировать все игровые действия. Поэтому даже если компания-разработчик закроется, приложение все равно будет функционировать. Смарт-контракт будет поддерживать работоспособность игры пока работает сам блокчейн.
В Foil Network протокольные контракты можно создать или изменить только при согласии 51% держателей токенов сети. С одной стороны, созданная внутри блокчейна игра будет развиваться: в ней можно будет улучшить баланс или добавить новые механики. А с другой — любые изменения будут жестко контролироваться сообществом, потому что все находится в смарт-контракте, который нельзя изменить без голосования.
Решение 2 — путь упрощения
Второй и более простой вариант — это применение блокчейна только для функционирования внутренней экономики и хранения важных данных. В первом случае токены используются в качестве внутриигровой валюты, во втором — все ассеты хранятся в NFT.
Если в предыдущем решении игра полностью помещается в блокчейн, то в этом — частично. Отвязав геймплей от действий в блокчейне, разработчики получат те же возможности, что и в классических играх:
- не нужно привязывать игровой процесс к транзакциям, скорости блоков и смарт-контрактов;
- можно создать любой жанр: от карточной игры до стратегии в реальном времени.
Игровой процесс будет централизован. Но API-часть, которая отвечает за экономику и работу NFT, должна находиться в блокчейне и быть открыта. Так любой разработчик сможет создать свою игру с любым геймплеем и настроить ее на взаимодействие с блокчейном. Он сможет использовать уже готовые правила, по которым работают токены и NFT. Именно они влияют на заработок игрока.
Если несколько игр будут использовать одну API-часть, то в них можно будет использовать одни и те же токены и NFT. А поскольку геймплей не зависит от блокчейна, разработчики смогут сами настроить, как будут работать токены у них. Например, в ролевой игре NFT будет оружием — волшебным луком, а в карточной игре — картой с персонажем-лучником.
Такой подход не будет ограничивать разработчиков и решит проблемы существующих блокчейн-игр:
- игровые ассеты не будут пропадать, потому что находятся внутри Pure NFT;
- распределение наград игрокам будет происходить автоматически, без участия разработчиков, благодаря глобальным смарт-контрактам;
- правила, влияющие на заработок игроков, будет невозможно изменить без голосования.
Заключение
В материале рассказали о проблемах блокчейн-игр и их решении с помощью Pure NFT от Foil Network. Большинство современных блокчейнов технически не могут вместить в себя игру со всеми ресурсами и игровой логикой. Foil Network предложил 2 решения этой проблемы:
- поместить игру полностью в блокчейн — игровые ассеты, медиафайлы, скрипты игровой логики. Это стало возможным благодаря новому стандарту невзаимозаменяемых токенов — Pure NFT. Он дает возможность хранить в блокчейне не только основные метаданные и ссылку на хранилище, а абсолютно все данные;
- путь упрощения — применение блокчейна только для функционирования внутренней экономики и хранения важных данных. Если в предыдущем решении игра полностью помещается в блокчейн, то в этом — частично. Часть игры, которая влияет на заработок игроков, находится в блокчейне. Разработчики создают только геймплей и могут его дорабатывать.
Редактор:
Дмитрий Егоров
Обложка и иллюстрации:
Юлия Чистякова