he city-building arcade game on the MINA blockchain that brings strategic gameplay to new heights. Prepare to embark on an adventure where every move you make shapes the destiny of your burgeoning city—all while preserving your privacy with zero-knowledge proofs.
he city-building arcade game on the MINA blockchain that brings strategic gameplay to new heights. Prepare to embark on an adventure where every move you make shapes the destiny of your burgeoning city—all while preserving your privacy with zero-knowledge proofs.
Here's the deal: for just 2 MINA tokens, you unlock the gates to MINAPolis. Your mission? To strategically place trios of hexes, each decision influencing the growth and prosperity of your city. But beware, the path to urban greatness is fraught with challenges and opportunities.
Navigate the maze of choices as you construct roads, connecting ports to the heart of your city for valuable points. Harness the power of windmills, strategically placing them on hills for maximum efficiency. And don't forget about parks—group them together in threes to create lush oases of greenery, each cluster a beacon of beauty and bounty.
MINAPolis consists of two primary components: smart contract and the game client app.
Here is the brief explantation of both components:
smart contract Before diving deep into the game mechanics, lets first go through the building blocks or models of the game.
for the sake of understanding, we can imagine them as a struct and any new game will be instance of these structs.
TileType: can be one of the following values: Empty, WindMill, Park, Street, Car, Port
Tile: consists of following fields
tile_id: number
row: number
col: number
game_id: number
tile_type: TileType
is_hill: boolean
player_id: number
player_address: string(player's wallet address)
game_id: number
player_id: number
score: number
remaining_moves: number (default value is 24 for level 1)
txn_hash: string (txn hash for entry fees payment)
start_time: Date