Blockchain developer, cyber athlete. In crypto since 2017 as a developer of smart contracts and p2e. I'm interested in NFT and web3 gaming.


Blockchain developer, cyber athlete. In crypto since 2017 as a developer of smart contracts and p2e. I'm interested in NFT and web3 gaming.
Share Dialog
Share Dialog

Subscribe to SlavaPoe

Subscribe to SlavaPoe
В суматохе всеобщего хайпа ретродропов, недавно мне довелось деплоить тестовый контракт в сети zkSync. В этот момент я задумался об игровых механиках, которые можно было бы реализовать на ZK-роллаппах. В этом мне помог не менее хайповый ChatGPT.
Итак, давайте представим карточную игру на zkSync: "Агенты и шпионы":
Игроки должны разгадать, какой агент является шпионом, задавая закрытые вопросы об аттрибутах карты шпиона из набора представленных карт агентов.
Игровая механика, использующая ZK-роллапы:
Создание роллапа: Создается ZK-роллап, в котором будут храниться карты агентов и решения игроков. Каждый игрок делает свой ход в роллапе и сохраняет его в нем.
(Далее приведен варианит игры с 1 игроком, помимо него в игре могут присутствовать режимы игры: команда на команду, все против всех, 1 на 1 и т.д...)
Раздача карт: игрок получает в открытую набор карт агентов, из которых один является шпионом. Какая из карт - шпион, игроку неизвестно.
Ход игрока: игрок задает закрытые вопросы относительно аттрибутов карты шпиона, чтобы вычислить эту карту из предоставленного набора. Например, игрок может спросить: "носит ли шпион шляпу?", "или носит ли шпион усы?".
Выбор шпиона: после того как игрок получает ответы на заданные вопросы, он должен, по предоставленной информации, попытаться угадать карту шпиона.
Игрок сохраняет свое решение в роллапе, который в конечном итоге подсчитывает, кто правильно идентифицировал шпиона.
Разрешение роллапа: После того, как игрок закончил игру, роллап разрешается. Это означает, что вычисления, сделанные в роллапе, передаются на основной блокчейн, и результаты сохраняются там.
Использование ZK-роллапа позволяет сохранить конфиденциальность ответов игроков и уменьшить затраты на транзакции, что может сделать игру более доступной для большего числа игроков. Кроме того, использование ZK-роллапа позволяет улучшить масштабируемость игры, позволяя большему количеству игроков играть одновременно. Конечный результат игры также может быть быстро подсчитан и сохранен в основной блокчейн, обеспечивая надежность и прозрачность игры.
Колода карт для игры
Компоненты набора карт:
Агенты: различные персонажи с уникальными внешними чертами, аксессуарами, одеждой, фоном и т.д;
Атрибуты: элементы, связанные с агентами и шпионами должны быть на картинках в колоде в указанной пропорции:
наушники/шляпа: 50/50, обычные очки/темные очки/без очков: 25/25/50, галстук/бабочка/ничего: 25/25/50, пистолет/без оружия: 50/50, усы/без усов: 50/50, имя и фамилия: уникальны, порядкавый номер: уникальный.
Количество карточек агентов и лимит количества вопросов
Игра будет максимально интересной, если количество вопросов, которые можно задать, будет достаточным для сужения списка подозреваемых, но при этом не позволит сразу угадать шпиона с 100% вероятностью.
Учитывая указанные пропорции атрибутов, у нас есть следующие варианты: 2 варианта для наушников/шляпы 3 варианта для очков 3 варианта для галстука/бабочки/ничего 2 варианта для пистолета/без оружия 2 варианта для усов/без усов Существует 2 * 3 * 3 * 2 * 2 = 72 возможных комбинаций атрибутов. Однако, некоторые комбинации будут более редкими из-за указанных пропорций. Для обеспечения интересной игры, предлагаю установить лимит вопросов в 3 или 4. Это позволит сузить круг подозреваемых и делает игру интересной и захватывающей, но не слишком сложной.
Чтобы круг подозреваемых не сужался до 1 карты, предлагаю сделать лимит количества вопросов плавающим: от 1 до 3-4. Если после очередного вопроса, игрок получает утвердительный ответ, и не достигнут максимум вопросов, он получает возможность задать следующий. Таким образом в игру привносится дополнительный элемент случайности, который влияет на шанс игрока угадать карту агента.
Что касается количества картинок, чтобы игра была интересной, предлагаю выбирать 6-10 картинок из общей колоды для каждой партии. Большее количество картинок усложнит процесс угадывания и может сделать игру менее привлекательной, а меньшее количество картинок упростит игру и сделает ее менее интересной.
Общая колода картинок должна быть достаточно большой, чтобы обеспечить разнообразие и повторяемость игры. В данном случае, 72 возможных комбинаций атрибутов могут служить отправной точкой, но вы можете также добавить вариации внешнего вида агентов, чтобы увеличить количество уникальных картинок. Итак, колода может состоять из 80-100 картинок, чтобы обеспечить хорошую долю разнообразия и уникальности.
Я описал первоначальную идею простейшей игры, которая могла бы использовать ZK-роллапы в своей реализации. Что бы игра была интереснее, и использование ZK-роллапов было более обосновано, следует реализовать возможность играть для множества игроков одновременно, командами или единолично, с системой рейтингов, турнирами с призовым фондом. Так же можно подумать над вариациями игры с раздачей карт взакрытую и частично взакрытую.
Планы по дальнейшей реализации
Так как документация на смарт контракты для ZKSync появилась совсем недавно, а ChatGPT имеет инфу только двухлетней давности, в написании кода к игре он - не особо помощник. Я пока тоже не сильно разобрался в особенностях разработки на ZK-роллапах, может быть даже представленные идеи не будут работать как у казано.
Если будет настроение что-то реализовать - я бы сделал это сперва на обычных эфировских смарт контрактах (пока не разберусь получше с zkSync).
Сейчас идет производство 72 уникальных карточек спецагентов, стилизованных под ретро стиль 1950х. Так что даже если не получится сделать прототип игры, останется материал для небольшой НФТ коллекции на память об идее. Если дело дойдет до прототипа, то минт этой коллекции можно будет предоставить для первых игроков и бета тестеров.
Весь проект сейчас представляет из себя мое хобби: все небольшие денежные и времянные затраты я взял на себя, но буду очень рад участию всех, кого заинтересовал этот пост: обсуждениям, советам, новым идеям, критике, помощи в реализации и всему чему угодно. Спасибо за внимание.
В суматохе всеобщего хайпа ретродропов, недавно мне довелось деплоить тестовый контракт в сети zkSync. В этот момент я задумался об игровых механиках, которые можно было бы реализовать на ZK-роллаппах. В этом мне помог не менее хайповый ChatGPT.
Итак, давайте представим карточную игру на zkSync: "Агенты и шпионы":
Игроки должны разгадать, какой агент является шпионом, задавая закрытые вопросы об аттрибутах карты шпиона из набора представленных карт агентов.
Игровая механика, использующая ZK-роллапы:
Создание роллапа: Создается ZK-роллап, в котором будут храниться карты агентов и решения игроков. Каждый игрок делает свой ход в роллапе и сохраняет его в нем.
(Далее приведен варианит игры с 1 игроком, помимо него в игре могут присутствовать режимы игры: команда на команду, все против всех, 1 на 1 и т.д...)
Раздача карт: игрок получает в открытую набор карт агентов, из которых один является шпионом. Какая из карт - шпион, игроку неизвестно.
Ход игрока: игрок задает закрытые вопросы относительно аттрибутов карты шпиона, чтобы вычислить эту карту из предоставленного набора. Например, игрок может спросить: "носит ли шпион шляпу?", "или носит ли шпион усы?".
Выбор шпиона: после того как игрок получает ответы на заданные вопросы, он должен, по предоставленной информации, попытаться угадать карту шпиона.
Игрок сохраняет свое решение в роллапе, который в конечном итоге подсчитывает, кто правильно идентифицировал шпиона.
Разрешение роллапа: После того, как игрок закончил игру, роллап разрешается. Это означает, что вычисления, сделанные в роллапе, передаются на основной блокчейн, и результаты сохраняются там.
Использование ZK-роллапа позволяет сохранить конфиденциальность ответов игроков и уменьшить затраты на транзакции, что может сделать игру более доступной для большего числа игроков. Кроме того, использование ZK-роллапа позволяет улучшить масштабируемость игры, позволяя большему количеству игроков играть одновременно. Конечный результат игры также может быть быстро подсчитан и сохранен в основной блокчейн, обеспечивая надежность и прозрачность игры.
Колода карт для игры
Компоненты набора карт:
Агенты: различные персонажи с уникальными внешними чертами, аксессуарами, одеждой, фоном и т.д;
Атрибуты: элементы, связанные с агентами и шпионами должны быть на картинках в колоде в указанной пропорции:
наушники/шляпа: 50/50, обычные очки/темные очки/без очков: 25/25/50, галстук/бабочка/ничего: 25/25/50, пистолет/без оружия: 50/50, усы/без усов: 50/50, имя и фамилия: уникальны, порядкавый номер: уникальный.
Количество карточек агентов и лимит количества вопросов
Игра будет максимально интересной, если количество вопросов, которые можно задать, будет достаточным для сужения списка подозреваемых, но при этом не позволит сразу угадать шпиона с 100% вероятностью.
Учитывая указанные пропорции атрибутов, у нас есть следующие варианты: 2 варианта для наушников/шляпы 3 варианта для очков 3 варианта для галстука/бабочки/ничего 2 варианта для пистолета/без оружия 2 варианта для усов/без усов Существует 2 * 3 * 3 * 2 * 2 = 72 возможных комбинаций атрибутов. Однако, некоторые комбинации будут более редкими из-за указанных пропорций. Для обеспечения интересной игры, предлагаю установить лимит вопросов в 3 или 4. Это позволит сузить круг подозреваемых и делает игру интересной и захватывающей, но не слишком сложной.
Чтобы круг подозреваемых не сужался до 1 карты, предлагаю сделать лимит количества вопросов плавающим: от 1 до 3-4. Если после очередного вопроса, игрок получает утвердительный ответ, и не достигнут максимум вопросов, он получает возможность задать следующий. Таким образом в игру привносится дополнительный элемент случайности, который влияет на шанс игрока угадать карту агента.
Что касается количества картинок, чтобы игра была интересной, предлагаю выбирать 6-10 картинок из общей колоды для каждой партии. Большее количество картинок усложнит процесс угадывания и может сделать игру менее привлекательной, а меньшее количество картинок упростит игру и сделает ее менее интересной.
Общая колода картинок должна быть достаточно большой, чтобы обеспечить разнообразие и повторяемость игры. В данном случае, 72 возможных комбинаций атрибутов могут служить отправной точкой, но вы можете также добавить вариации внешнего вида агентов, чтобы увеличить количество уникальных картинок. Итак, колода может состоять из 80-100 картинок, чтобы обеспечить хорошую долю разнообразия и уникальности.
Я описал первоначальную идею простейшей игры, которая могла бы использовать ZK-роллапы в своей реализации. Что бы игра была интереснее, и использование ZK-роллапов было более обосновано, следует реализовать возможность играть для множества игроков одновременно, командами или единолично, с системой рейтингов, турнирами с призовым фондом. Так же можно подумать над вариациями игры с раздачей карт взакрытую и частично взакрытую.
Планы по дальнейшей реализации
Так как документация на смарт контракты для ZKSync появилась совсем недавно, а ChatGPT имеет инфу только двухлетней давности, в написании кода к игре он - не особо помощник. Я пока тоже не сильно разобрался в особенностях разработки на ZK-роллапах, может быть даже представленные идеи не будут работать как у казано.
Если будет настроение что-то реализовать - я бы сделал это сперва на обычных эфировских смарт контрактах (пока не разберусь получше с zkSync).
Сейчас идет производство 72 уникальных карточек спецагентов, стилизованных под ретро стиль 1950х. Так что даже если не получится сделать прототип игры, останется материал для небольшой НФТ коллекции на память об идее. Если дело дойдет до прототипа, то минт этой коллекции можно будет предоставить для первых игроков и бета тестеров.
Весь проект сейчас представляет из себя мое хобби: все небольшие денежные и времянные затраты я взял на себя, но буду очень рад участию всех, кого заинтересовал этот пост: обсуждениям, советам, новым идеям, критике, помощи в реализации и всему чему угодно. Спасибо за внимание.
<100 subscribers
<100 subscribers
No activity yet