project screenshot 1
project screenshot 2
project screenshot 3

MINAPolis

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.

MINAPolis

Created At

Circuit Breaker

Project Description

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.

How it's Made

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.

  1. TileType: can be one of the following values: Empty, WindMill, Park, Street, Car, Port

  2. Tile: consists of following fields

  • tile_id: number

  • row: number

  • col: number

  • game_id: number

  • tile_type: TileType

  • is_hill: boolean

  1. Player:
  • player_id: number

  • player_address: string(player's wallet address)

  1. Game
  • 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

background image mobile

Join the mailing list

Get the latest news and updates