project screenshot 1
project screenshot 2
project screenshot 3

Grocery Quest

Grocery Quest is a NFT turn-based battle play-to-earn game. Progress through the world by defeating enemies with your weapon arsenal - your groceries.

Grocery Quest

Created At

NFTHack 2022

Winner of

trophy

🥈 Best use of Rarible Protocol

Project Description

'- This project is a NFT game which incorporates turn-based battle mechanics as its core component. A player will need an avatar NFT and $COUPON token to play the game.

  • Avatar: The avatar NFT (ERC721) has stats associated with it: attackPoints, XP, HP, and Level. -- attackPoints: used to damage the enemy during battle -- HP: health points -- XP: experience points -- Level: level of the avatar
  • $COUPON: The token (ERC20) will be used to stake to enter the battle. Depending on the outcome of the battle, the player will have a chance to either lose some of the token they’ve staked or gain more than what they’ve already staked.
  • Equipment: There is another class of NFT, (ERC1155) equipment. An equipment NFT can be equipped by the avatar enhancing its stats. These can be traded on a secondary marketplace or if you are lucky it can get dropped after winning the battle
  • Game Plot: We enter a world in the 21st century where evil monsters have quietly descended on Earth through a cross-dimensional portal. The monsters roam around looking for humans to take over and control, specifically targeting the younger generation whose minds are still developing. As a high school student, your walk home from school is now frequently met with monster appearances and the only way to clear your path is to engage them in battle. Protect the world and fight off monsters after school... with the groceries you just picked up from the local convenience store. [Roadmap]
  • Tokenomics of $COUPON: Right now we do not have a well flushed out tokenomics for our token, this will need to be finalized.
  • DeFi: We want people to be able to use our token for defi features like farming and staking etc. This will not only attract the NFT community, it wil also attract the DeFi community. We are thinking of creating a DEX where people can provide liquidity and earn interest by claiming $COUPON. In addition, we are thinking of creating a treasury (i.e. students’ piggy bank) where you can stake your $COUPON to earn interest which comes from fees form the DEX.
  • More stats and skills for Avatar: We want to redesign the stats of the avatar with more thought and add more complexity to it for better gaming experience
  • More equipment: Currently we only have a few pieces of equipment. But we can get very clever here and add more classes with variations of boost stats
  • Mobile Game: The north star of this project would be to have this game on mobile where people can play it anywhere and anytime. Imagine a game where you can play-to-earn and it's on your mobile device. On top of that, we would like to utilize location services on phones where the users will have to go outside to find monsters to battle, just like the high schooler character in the game.

How it's Made

'- Front end: We used react JS to build the front end

  • Contract Design: we mainly had four contracts. (1) ERC721 Avatar contract (2) ERC1155 Equipment contract (3) Game/battle contract (4) ERC20 contract.

  • Backend: Used nodejs to build the backend server

  • Database: MongoDB to store battle results of the game

  • IPFS: Used to store our NFTs’ metadata

  • Chainlink Oracle: Used to call our backend endpoint from the contract to fetch battle results

We weren't able to get everything to work as we wanted to. This was due to us being bit too ambitious with our goals as we were excited to build a web3 project. For some of the web2 components, like the frontend and the backend we made it somewhat hacky for speed purposes and since we already know how the non-hacky solutions look like. However, with the contract code we aimed to take our time and build it the best way we could. I knew we were going in with an ambitious goal given that most of us are brand new to web3 space and our product was quite complex. However, we were happy that we were able to come up with this idea and execute on most of the MVP features we wanted to buildout without taking many shortcuts.

background image mobile

Join the mailing list

Get the latest news and updates