Build Your Naval Strategy Game

When zero-knowledge proofs were first created, game theory applications were a prime example to showcase their capabilities. One game that was explored was naval-strategy gameplay, like timeless classic Battleship(R). While the rules of this gameplay are simple, they contain many of the abstractions needed to implement games in general. The concept of a turn exists, the game operates on hidden information, and each action taken by the player is influenced by that hidden state. For this reason, this gameplay is a good proof-of-concept for implementing zero-knowledge games.

 

Sea Battle Challenge Virtual Midnight Hackathon participants will leverage Midnight’s capabilities to create a blockchain-powered version of a naval strategy game, incorporating innovative mechanics that showcase decentralized design and fair play.

 

Developers will design a game where:

  • Target object placements, moves, and hits are securely managed without exposing gameplay details until required.

  • Blockchain technology ensures that game rules are enforced transparently and accurately.

  • Multiplayer functionality is built on a decentralized framework, allowing players to compete in a trustless environment.

 

The goal is to create a fully functional game that highlights the benefits of decentralized systems in ensuring fairness, accuracy, and seamless user interaction. Participants will explore how Midnight’s unique features—such as its zero-knowledge tools—can enhance traditional games by providing mechanisms for secure validation and robust design.

 

Prizes

1st: US$4,000

2nd: US$2,000

3rd: US$1,000

(all prizes will be awarded in ada equating to the US dollar value as of the date they are issued)

 

Register for the Sea Battle Challenge Virtual Midnight Hackathon before 11:59 p.m. GMT on January 3, 2025.

 

 

Rules

Entrants must create a decentralized application (“DApp”) that is a fully functional, multi-player naval warfare strategy game where gameplayers place a fleet of boats on a grid that is only visibly to them and then take turns guessing the location of the opposing player’s boats (by coordinates) on the opposing player’s grid. Eligible DApp entries must meet all the following criteria:

  1. Use the Lace wallet.

  2. Use Midnight’s, a division of Sponsor, smart contract programming language called Compact to generate zero-knowledge proofs for a ship.

  3. The grid must be 10x10 going from A–J in the Y axis and 1–10 in the X axis.

  4. There must be five boats on the grid. They must all be the same width (measured by grid squares) but may vary in length from two to five grid squares per boat.

  5. The boats must be placed horizontally and/or vertically and they must not overlap.

  6. The boats cannot be moved once the game on the DApp begins. 

  7. The players must take turns calling out grid coordinates to try and guess the locations of the opponent’s boats. Each player must track each hit or miss on a grid that is only visible to them.

  8. Once a player correctly guesses all the grid squares occupied by an opposing player’s boat, then the DApp must require each player to acknowledge the activity and that boat must be removed from gameplay.

  9. The player who correctly guesses the location of all the opposing player’s boats must win the game.

 

You’re welcome to use our template code, which can be found at https://github.com/claudebarde/sea-battle-midnight This isn't a requirement for the submission; however, feel free to start from scratch if you think it's better for you.

 

Official Hackathon Rules

Judging Criteria

       
Technical Completion Innovation Documentation Technology 
Your project meets all technical requirements Your project has an innovate approach or execution Your documentation explains the DApp's purpose, features, and functionality  Your project correctly utilizes Midnight technology

Schedule

:=: :=: