project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Foreboding

The first co-op multiplayer mystery game built on the blockchain!

Foreboding

Created At

Scaling Ethereum 2023

Project Description

Blockchain Gaming Industry comprises less than 1% of the total Gaming Industry Market Size. The key reason for this apart from early adoption issues is the low engagement that current blockchain games deliver. With Foreboding, we aim to deliver a unique and engaging experience to the blockchain ecosystem which will help onboard the next set of users to the Web 3 space. Usually, the NFT games today are mostly based on fantasy sports, battle-style trading card games like Pokemon and even games like Axie Infinity which involves breeding and trading your own Pokemon-like pets. They are all single-player PvP games. Foreboding is thus, the world's first blockchain-based 2-player collaborative mystery game.

Foreboding is a two-player game where the players need to cooperate and supply hints to each other and solve puzzles. Imagine an apocalyptic world where vaccine research goes wrong and leads to a pandemic wiping out the majority of the population. The only hope for survival is a scientist with his time travel technology to prevent all this from happening. Sounds interesting. Welcome to foreboding!

There are two sides in this game - Player 1 chooses ‘Present’ and Player 2 chooses ‘Future’. One of the players is the scientist in the present where the vaccine development is in progress and the Future player is the scientist’s future self giving hints to the Present player. There are hints scattered everywhere on the Future side where Player 2 needs to decipher them and provide appropriate hints to the Present player. The Present player has to use those hints to progress in the game and ultimately stop the virus outbreak.

How it's Made

The key technologies used are:

  1. Mantle network for deploying the marketplace and achievement badge smart contracts
  2. Solidity for writing the contracts
  3. IPFS and web3.storage for storing the NFT data
  4. MERN stack for the fullstack browser application
  5. Sockets for the chat feature

The contract for the NFT marketplace and minting of the achievement badge NFTs is written in Solidity and deployed on the Mantle testnet using Remix. The marketplace allows players to purchase hint card NFTs that can be used anywhere in the game to help them with the puzzle solution.

Mantle's L2 chain helped with the quick and inexpensive transactions that are highly essential in a game like this. The players can also choose to resell their hint cards on the marketplace, provided they are not used in the game.

Upon completion of the game, the players receive an NFT achievement badge that gets added to their collection (can be viewed under the My Badges tab). All NFT data is stored on IPFS. We used web3.storage to achieve this task.

React.js is used to build the front end of the application. Node.js for the backend. The chat feature uses sockets.

We had fun building the logic for the Hint NFT cards and their usage within the game. Say a hint card has 2 hints available. Once the player purchases it, they can use it at any point in the game. The game state is maintained at all times and the moment a hint is used, the hint to the next puzzle gets displayed. And in case the player uses up both the hints of their card, it gets inactive. They aren't allowed to resell it in the marketplace. This feature required some smart thinking and hence might be noteworthy of a mention.

background image mobile

Join the mailing list

Get the latest news and updates