S

Symbals

An addictive touch-based web3 game, the greater the NFT's level the more your score will be.

The problem Symbals solves

It is a simple NFT game that is built on the idea of giving the NFT's a utility or some post-game function. In Symbals you can burn your NFT which will give you a score multiplier for the next round you play. The whole architecture was to convert any web2 based game into a web3 game. I added the support to mint NFTs in this game when a player's game is over an NFT with the data of Level and the screenshot of the game will be minted as NFT. I have used the

Chainlink VRF

Random number generation feature to set the level to the addition of the game-over level as the score multiplier of the next round of game after burning a specific NFT.
In Symbals, NFTs are minted using the smart contracts deployed on

Polygon Mainnet

Blockchain which is a Layer 2 blockchain solution that requires so much fewer fees to mint and burns the NFTs. The metadata and the image data are stored on decentralized storage provided by

IPFS

. I have used

Alchemy NFT API

to fetch the symbals NFT tokens owned by the user who is playing the game. You can view your owned NFTs in the

/profile

route in our demo Webapp.

It provides a competitive and fun experience while using blockchain and NFTs to create a meaningful use case. Symbals provides a gaming experience with good sound effects and also you can earn a score multiplier with a Chainlink VRF Randomizer system by burning your NFTs. It is based on an easy start so users can easily learn what the game is about. A simple user interface makes it more entertaining. This project focuses on the utilities of the NFTs in a simple game.

Challenges I ran into

There were challenges when trying to implement some libraries and APIs like

Alchemy

and

ChainLink VRF

. But due to the documentation, it became pretty easy. I also got stuck on the main burning logic while developing Symbals, I solved it by implementing different ideas and choosing the score multiplier one with the function of the chainlink VRF randomizer.

Discussion