Potential Battleship Royal on Miden #155
Dominik1999
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Potential Battleship Royal on Miden
I want to discuss a PoC for a novel type of blockchain game. Battleship, the classic game, is a nice showcase for blockchains using client-side proofs. Basically, users want to hide the position of their ships from their enemies, but we still need to know that every ship is placed in a valid position. On Miden, however, we can think of the massive multiplayer version of this.
What is Battleship Royal?
There are different players, and all have their own naval fleets. There is still a map on which we can put a grid that provides us with coordinates. Players place ships onto the coordinates and play battleships, basically trying to hit each other's ships. However,
In theory, there could even be communities of players playing against each other, building their own harbors (smart contracts of a certain standard that other players can interact with or even attack ...)
Which features does Battleship Royal need?
Design ideas for a simple PoC
A lot of the necessary features come for free in Miden. Miden is built for client-side proofs and private, hybrid, and public smart contract execution. And in Miden, NFTs and other assets are being stored with the account itself. This means they are not visible for observers if the account stores its data locally. (see Miden State Model and Miden Privacy Model)
There could be one game smart contract represented by an account. All ships are accounts as well that have certain weapon NFTs in their vault. Ships store their position locally in their account itself; however, the game smart contract checks for the validity of changes in those coordinates.
Ship Accounts encode their move into a note, e.g., where to shoot at, where to move, ..., and send the note to the game smart contract.
The game smart contract could consume all incoming notes every hour to update the public game state and send notes back to the individual ships with their updates, e.g., being hit, radar notification, or repairment.
Beta Was this translation helpful? Give feedback.
All reactions