
Децентрализованные приложения (DApps), включая игровые приложения, приобрели популярность благодаря своей прозрачности, безопасности и возможности владения активами пользователя. Однако создание высококачественных игровых DApps AAA-уровня представляет определенные сложности.
Существующие 2D игровые DApps работают на блокчейн-сетях с использованием смарт-контрактов для управления активами. Хотя они предпочтительны из-за своей простой механики и эффективности использования ресурсов, их ограничения становятся очевидными с увеличением сложности игрового опыта.
Масштабируемость является основным препятствием для традиционных блокчейнов, таких как Ethereum, что влияет на реально-временные интерактивные игры из-за ограничений, связанных с пропускной способностью транзакций и задержкой.
Производительность также является проблемой. Игры AAA-уровня требуют высокопроизводительных вычислений и отличной графической отрисовки. Однако существующие DApps не могут удовлетворить эти требования, что приводит к низкокачественным визуальным впечатлениям.
Более того, разработка игровых DApps AAA-уровня является дорогостоящей из-за ресурсоемких задач и комиссий за выполнение блокчейна. Сочетание захватывающих впечатлений с доступными расходами усложняет использование традиционных фреймворков DApp для игр AAA-уровня.
Что такое модель актора?
«Модель актора» – это модель коммуникации, которая позволяет параллельные вычисления и асинхронную передачу сообщений в рамках протокола блокчейна, что позволяет разработчикам создавать сложные DApps с меньшими трудностями.
Модель актора используется в рамках протокола Gear, разработка которого была проведена Николаем Вольфом, основателем протокола Gear и Vara, одним из ключевых разработчиков Polkadot и фреймворка Substrate.
Внутри модели существуют акторы – программы или пользователи, которые отправляют сообщения другим программам в протоколе. У каждого актора есть почтовый ящик и личное состояние, которое не может быть изменено напрямую другим актором, а может быть изменено только при получении сообщения от другого актора.
Сообщения между акторами берутся из почтовых ящиков и обрабатываются циклически. После получения и обработки сообщения актор может отправить сообщение другому актору, создать актора или изменить свое состояние.
В чем польза для разработки DApp?
Асинхронная обработка сообщений в программировании блокчейна предлагает несколько значительных преимуществ, которые способствуют общей эффективности, масштабируемости и надежности DApps.
Во-первых, асинхронная обработка сообщений позволяет выполнять транзакции и смарт-контракты без блокировки. В отличие от синхронной обработки, где каждая транзакция должна выполняться последовательно, асинхронная передача сообщений позволяет одновременное выполнение нескольких задач.
Эта возможность параллельной обработки повышает производительность блокчейн-сети, поскольку она может обрабатывать большее количество транзакций и вычислений одновременно, что приводит к сокращению времени обработки транзакций и улучшению общей пропускной способности.
Джек Платтс, сооснователь Hypersphere – крипто-венчурного фонда, инвестирующего в игровые проекты, рассказал Cointelegraph: «В традиционных синхронных системах часто несколько задач должны ждать друг друга, что приводит к замедлению при обработке большого объема транзакций».
Платтс продолжил: «В контексте блокчейн-сетей эта возможность параллельной обработки становится важной для поддержания высокой пропускной способности транзакций. Поскольку пользователи инициируют все больше транзакций, система может обрабатывать их одновременно, обеспечивая более быстрые времена подтверждения и общую улучшенную производительность сети. Это особенно важно для блокчейн-игр, где реально-временное взаимодействие и быстрая обработка необходимы для обеспечения плавного и приятного игрового опыта».
Некоторые блокчейн-игры, такие как Ember Sword, уже интегрировали параллельную обработку в свои процессы разработки. Марк Лаурсен, сооснователь и генеральный директор компании по разработке игр Bright Star Studios, рассказал Cointelegraph: «В разработке Ember Sword мы используем параллельную обработку с использованием нашего решения ECS [система компонентов сущностей]. Обычно требуется ручное интегрирование многопоточности и принятие сложных решений для каждой системы».
Лаурсен продолжил: «Однако в нашем случае требования к чтению, записи и зависимостям от порядка указаны, что позволяет нашему движку определить наиболее эффективный метод планирования и параллелизации этих систем».
Предположим, что игрок блокчейн-игры хочет передать игровой предмет в виде неперемещаемого токена, например, переместить легендарный меч из своего сундука (кошелька для долгосрочного хранения) в свой инвентарь (кошелек, используемый для игры).
Процесс передачи может произойти мгновенно с низкой или близкой к нулю комиссией, так же, как игрок может просто щелкнуть и перетащить меч из инвентаря и переместить его к торговцу или сундуку в традиционной игре.
Кроме того, с асинхронной передачей сообщений разработчики блокчейна могут создавать DApps, которые более устойчивы к колебаниям в сетевых условиях и временным сбоям.
Павел Салас, главный руководитель по развитию Gear Foundation – организации,