
TL;DR
- Starknet обеспечивает сложные инновационные, полностью онлайновые игры
- Близятся к выпуску две игры: Loot Survivor и Influence.
- Обе игры используют уникальные для Starknet функции, такие как аркадные учетные записи, оптимистичный рендеринг на стороне клиента и автономные миры, что позволяет создать первое поколение по-настоящему сетевых игр.
- Starknet обеспечивает будущее полностью сетевых, сложных игр
В более раннем посте о состоянии ончейн-игр в Starknet мы представили некоторые из наиболее инновационных игровых проектов, разрабатываемых на Ethereum L2 Starknet — Realms: Eternum , Loot Survivor и Influence . Мы также обсудили Cairo — основанный на STARK и вдохновленный Rust язык для написания смарт-контрактов в Starknet — и то, как он поддерживает эти первые по-настоящему онлайновые игры.
В этой статье мы расскажем вам новости от разработчиков Loot Survivor и Influence перед их первыми релизами. Мы рассмотрим созданные ими функции и то, как разработчики использовали технические достижения Starknet для создания децентрализованных онлайн-игр, которые было бы практически невозможно создать на любой другой платформе.
Loot Survivor
Loot Survivor — это стратегическая игра с оплатой за сеанс, в которой игроку предоставляется одна жизнь за сеанс. В ходе этого сеанса им предстоит найти и улучшить оружие, сражаться со зверями и получать награды. Игроки взаимодействуют с более чем 70 зверями, 60 препятствиями и десятками видов оружия.
Преимущество этой одиночной жизни в том, что если герой игрока умирает, игрок может легко начать новую игровую сессию, не теряя при этом крупных инвестиций NFT.
Чтобы начать игру, игроки могут либо подключить свой кошелек Argent или Braavos, либо войти в систему, используя свой адрес электронной почты. Возможность войти в систему, используя только адрес электронной почты (при поддержке Argent), также позволяет легко создать кошелек.
Несмотря на внешнюю простоту, этот пример легкой доступности в играх Web3 отсутствовал с момента создания Web3, был крайне необходим и стал возможен благодаря абстракции учетных записей в Starknet.
После входа в систему игрок выбирает одно оружие, и игровое путешествие начинается.
За запутанным сюжетом и множеством возможностей игры скрывается сложная игровая архитектура. Давайте рассмотрим, какие новые идеи и концепции использовала команда Loot Survivor для создания этой первой по-настоящему автономной сетевой игры.
Аркадные аккаунты
Когда игрок начинает игру, ему предлагается создать аркадную учетную запись для сеанса, аналогичную «записывающей» учетной записи. Создание этой учетной записи «используй и бросай» возможно благодаря специальной функции абстракции учетной записи языка Cairo (подробно обсуждается здесь ).
Преимущество аркадных учетных записей заключается в том, что определенные типы транзакций можно отправлять по цепочке, не запрашивая у пользователя подпись каждый раз, когда предпринимается действие. Хотя нажатие «Подписать» и «Отправить» в кошельке всякий раз, когда происходит какое-либо действие, является важной мерой безопасности, это крайне непрактично в играх, где игроки выполняют множество действий за сеанс. В Starknet обход повторного этапа подписи обеспечивает дополнительное удобство, а не создает угрозу безопасности.
Оптимистичный рендеринг клиента
Еще одна серьезная проблема с онлайн-играми заключается в том, что после того, как пользователь отправляет транзакцию, ему приходится ждать, пока транзакция будет принята в сети, прежде чем продолжить. Это может замедлить игру и сделать ее непригодной для использования. Но из-за ранее упомянутой внутриигровой необязательности этот шаг теперь можно пропустить, что значительно улучшит взаимодействие с пользователем.
Именно этого и добивается Loot Survivor, реализуя оптимистичные обновления на стороне клиента. Когда пользователь выполняет действие, транзакция моделируется в реализации локального клиента, и если транзакция не завершается неудачей, игра оптимистично продолжается.
Единые контракты на хранение
Игра Loot Survivor — это зарождающийся пример полностью ончейн-игры: никакая часть состояния игры не хранится вне цепочки. В Loot Survivor полное состояние игрока (например, здоровье, опыт, оружие и вложения) хранится в 252-битном файле Cairo . Любое действие или набор действий, которые изменяют состояние игрока, приводят к одному обновлению хранилища, то есть несколько изменений состояния также объединяются в одно обновление хранилища. Поскольку количество уникальных обновлений хранилища определяет комиссию за транзакцию, плата за газ, связанная с внутриигровыми действиями, значительно снижается.
Устойчивость ботов на основе энтропии
Ончейн-игры часто предусматривают финансовые стимулы для игроков за получение вознаграждений (в большинстве случаев токенов). Но наличие финансовых стимулов также побуждает пользователей эксплуатировать систему. Чтобы противодействовать этому, Loot Survivor использует глобальную энтропию игры в сочетании с уникальной энтропией игрока, чтобы определить сюжет игры.
Глобальная энтропия — это переменная, которую каждый может настроить, вызвав внешнюю общедоступную функцию Rotate_game_entropy(). Предполагается, что сообщество игры будет запускать ботов, которые периодически вызывают функцию Rotate_game_entropy(), чтобы постоянно изменять переменную и гарантировать, что никто не сможет использовать знание этой переменной для обмана системы.
Кроме того, каждому искателю приключений при запуске игры присваивается определенная энтропия. Это гарантирует игрокам разнообразные результаты, несмотря на общую энтропию игры. Всякий раз, когда предпринимается действие, глобальная энтропия объединяется с энтропией игрока, чтобы генерировать особый результат каждый раз, когда игра ведется.
Loot Survivor доступен в тестовой сети и готов к игре . Помимо возможности стать одним из первых тестировщиков одной из первых полностью онлайн-игр, вы также можете зарабатывать токены! Процент жетонов, вставленных в аркадный автомат Loot Survivor, распределяется среди трех лучших бомбардиров в глобальной таблице лидеров в качестве награды.
Influence
Influence — это управляемая игроками массовая многопользовательская онлайн-игра (MMO) в жанре космической стратегии. Его сюжет вращается вокруг космической колонизации необитаемой звездной системы через много лет в будущем, после того как люди были вынуждены покинуть Землю.
В игре есть три этапа: эксплуатация, открытие и конфликт. Последнее обновление игры , Limited Mainnet Release, позволяет игрокам исследовать обширное пространство астероидов, которые станут доступны на первом этапе игры — «Эксплуатация». В текущей версии игроки могут переносить свои активы из сети Ethereum в Starknet, давать имена своим астероидам, формировать команду и выполнять сканирование астероидов на большие расстояния (внутриигровое действие, которое устанавливает бонусы и редкость астероидов, а также публикует информацию об астероиде). , например, какие ресурсы доступны, но не подробное описание численности и местонахождения этих ресурсов).
Игра находится в тестовой сети, а полностью играбельная предварительная версия находится на заключительной стадии производства. Cairo сыграл решающую роль в разработке основных функций , необходимых для такой онлайн-игры, как Influence.
Абстракция аккаунта
Команда Influence тесно сотрудничает с Argent, чтобы обеспечить преимущества абстракции учетных записей с помощью сеансовых ключей. Ключи сеанса позволяют использовать временные сеансы, которые можно использовать для отправки транзакций от имени пользователя без запроса подписи. Эти сеансовые ключи позволяют вызывать только определенные функции от имени пользователя, что позволяет отправлять несколько транзакций без повторного запроса разрешения у игрока.
Ниже приведен пример кода создания сеансовых ключей:
import { Signer, ec } from "starknet"
// gets signer with random private key you need to store if you want to reuse the session
const sessionSigner = new Signer()
const requestSession: RequestSession = {
key: await sessionSigner.getPublicKey(),
expires: Math.floor((Date.now() + 1000 * 60 * 60 * 24) / 1000), // 1 day in seconds
policies: [
{
contractAddress: "0x...",
selector: "doAction"
}
]
}
( Источник )
Журнал действий
Всякий раз, когда игроки отправляют действие в игре, это действие немедленно отражается в журнале действий игры. Это обеспечивает немедленную обратную связь с игроками, когда они участвуют в игре и принимают решения. Таким образом, игроки защищены от сложных деталей технологии блокчейн, где транзакция может существовать на различных стадиях, таких как отправка, ожидание, подтверждение на уровне L2 или одобрение на уровне L1. В новую эпоху онлайн-игр игрокам не нужно разбираться в технических тонкостях блокчейна, чтобы получать удовольствие от игры. Эти детали абстрагированы.
Журнал действий выделен фиолетовым цветом слева. После того, как действие будет проверено в сети, оно завершится и игрокам будет отправлено уведомление.
Автономные миры
И Influence, и Loot Survivor создают игры, совместимые с автономными мирами. В игре с автономными мирами код должен быть написан так, чтобы даже если первоначальные разработчики игры перестанут выпускать новые функции, любой другой сможет использовать смарт-контракты игры. Это означает, что для одной и той же игры (и одних и тех же игровых ресурсов/ресурсов) может быть доступно несколько пользовательских интерфейсов.
Чтобы стимулировать команды к разработке собственных интерфейсных интерфейсов, разработчики этих игр обычно включают в себя некоторый стимул для разработчика интерфейса использовать существующие смарт-контракты. Например, определенный процент внутриигровых токенов SWAY (или LORDS в случае Loot Survivor) переводится на кошелек, указанный разработчиком пользовательского интерфейса, тем самым финансируя их исследования и разработки.
Граница онлайн-игр
Границы онлайн-игр огромны и неизведаны. Такие команды, как Influence и Realms, находятся на переднем крае, постоянно разрабатывая новые парадигмы для создания по-настоящему вечных онлайн-игр и автономных миров. Starknet и Cairo стали ключевыми инструментами в формировании игрового будущего.
Не стесняйтесь играть в Influence или Realms сегодня.
Если вы заинтересованы в создании своего игрового приложения в Starknet, ознакомьтесь с нашей книгой Starknet.