Skip to content

Sea battle challenge: Battleship-inspired game using Midnight’s blockchain technology and zero-knowledge proofs

Notifications You must be signed in to change notification settings

bytewizard42i/sea-battle-midnight_johnny5i-copy

 
 

Repository files navigation

Sea Battle Challenge Virtual Hackathon

Welcome to the 2nd Midnight Virtual Hackathon. This time, it’s a battleship-inspired game called the “Sea Battle Challenge”

What is the Sea Battle Challenge?

This is a classic strategy game between two players. Each player has access to a 10x10 grid-based board. Each player then has to place 5 ships of varying lengths but the same width. The players then take turns giving the coordinates of where they think the other player's ships are. If the player guesses correctly, they have a better chance of guessing the remaining coordinates of the rest of the ships. A ship is sunk once the coordinates of the ship have been given by the opposing player. The game ends when one player no longer has any ships remaining, and the opposing player is crowned the victor.

What does this have to do with Midnight?

We call on our community to create this Sea Battle on Midnight using Zero Knowledge. While this game is not dependent on Zero Knowledge, we think it would be a great opportunity to showcase how Midnight's ZK capabilities can be used in many scenarios. The aim of this implementation is to be able to verify that a ship has been hit, without giving away the entire co-ordinate of the board.

What are the rules?

  • You are welcome to use our template code within this repository. This isn't a requirement for the submission; however, feel free to start from scratch if you think it's better for you.
  • All submissions must use the Lace wallet.
  • All submissions must use Compact to generate the ZK proofs for a battleship.
  • It is up to you whether to make the game multiplayer in an online sense or to have the game be played against the computer.
  • All grids must be 10x10 going from A-J in the Y axis and 1-10 in the X axis.
  • There must be 5 boats on the grid. These are all the same width but varying length. These lengths are 2, 3, 3, 4 and 5.
  • Once the game starts, boats can't be moved. Boats are also not allowed to be placed diagonally, nor can they overlap.
  • Once a boat has been hit or sunk, both players should acknowledge the activity.

FAQ

I still don't understand the game itself. Where can I learn more?

https://www.youtube.com/watch?v=4gHJlYLomrs - This video does an excellent job showing how the game is traditionally played.

Is this only open to game developers?

Not at all. This hackathon is open to all, and we expect to see a wide variety of submissions.

How can we get help if we get stuck building?

We will have a dedicated channel on our discord so that we can assist you in any way we can and allow our community to interact together.

When is the deadline for the submission?

All submissions must be entered by January 6th. Presentations will be on January 10th

Can we work as a group?

Definitely. There is no limit to how big a group can be. You can do it solo or as a team.

Is there a prize for winning?

Yes, 1st, 2nd, and 3rd place submissions will receive a prize in the form of ADA.

About

Sea battle challenge: Battleship-inspired game using Midnight’s blockchain technology and zero-knowledge proofs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 72.9%
  • TypeScript 17.5%
  • CSS 7.0%
  • HTML 2.6%