Search projects, hackathons, sponsors and tech

    ← All projects

    Win Me

    Win Me is "Mario Kart" for web3, a (NFT-based) car racing game that allow players to compete against each other to win a prize in crypto tokens (WinMe tokens, USDC, NFTs, etc.)

    Demo

    About

    The problem it solves Mario Kart has captivated millions with its thrilling races and competitive gameplay, yet it leaves gaps that web3 can address: -lack of digital asset ownership: in web2, hard-earned achievements, and unlocked race tracks, despite their value to players, are non-fungible and locked within the game environment. To solve this we are deploying NFTs that represent ownership of in-game assets (like users' cars) and store players' statistics on decentralized technologies like EthStorage (bounty 1) & IPFS. -lack of monetary rewards for playing: some gamers are attracted by the potential to earn fungible tokens as a reward for the time they spend in the game but this does not happen in web2 games. To solve this we implemented an escrow contract deployed on Arbitrum & Linea (bounties 2 and 3) that, at the beginning of the game, allows users to contribute to a prize pool on chain that will reward them based on their performance in the race (e.g. winner takes all). -single point of failure: the lack of a decentralized system leads to the risk that if the game provider goes out of business, web2 users lose all of their assets, time and effort put into the game. We avoid this issue altogether because we do not store data on any centralized server but directly onchain. -lack of transparency: by implementing The Graph API quering technology (bounty 4), web3 games can provide trustless observability of what goes on in the game (players' statistics, change of asset ownership, cross chain messaging, etc.) Finally we are using Chainlink CCIP (bounty 5) to enable players to use any asset they prefer to play our game by bridging freeling cross chain

    How it's made

    Challenges we ran into -Documentation for various technologies was often outdated, complicating implementation. -A major goal was to implement multiplayer functionality, but time constraints limited our ability to effectively utilize Unity's documentation for this purpose. -For certain bounties, deep knowledge of blockchain technology was required (e.g. learning how to navigate the block explorer to locate contracts). -Part of the code was written in Next.js which not all team members were familiar with it, requiring some learning and adaptation.