Web3 adoption is slow. Despite the high concentration of continuous innovation, and great products shipping every day, there are still very few of us.
Our solution to this is a fully on-chain, deceivingly simple memory game, called Flippando.
The game is improving visual memory, while rewarding people for their creativitiy.
The player starts with an "uncovered" matrix of tiles. Underneath, tiles are grouped in pairs of two (In the hackathon MVP, the pairing is between colors: we have pairs of green, red, blue, etc, and a couple of other different visual symbols, like dice and hexagrams). We start with 4x4 matrixes, and, after 8 solved games, we advance at 8x8 matrixes.
A game turn consists in the flipping of two tiles. The game sends a request to the chain, which, upon a successful transaction, sends back the "uncovered" tiles. If the tiles are matching, they remain uncovered. If the tiles don't match, they are shown for a brief period of time (so the player can memorize them) then they are flipped back.
When the matrix is solved, meaning all tiles are uncovered, the result is mintable as an NFT, which is now belonging to the player, in what we call PoA, Proof of Attention. When the NFT is minted, an ERC20 token called FLIP is minted and "locked" inside the NFT. All NFTs are saved on-chain, as SVG images.
A solved board - which we will call, for simplicity, an NFT primitive - can then be used by anyone to create art. The game provides a drag and drop interface, in which anyone can select existing NFTs and assemble them in visually stunning new patterns. These collections can be minted as "composite NFTs", as opposed to "primitive NFTs". Every time an NFT primitive is used to create art, and assembled into a composite NFT, its locked FLIP token is unlocked and sent back to the original player.
There is a caveat, though: you cannot use your own NFT. There must always be someone else who uses your NFT in order for the FLIP token to be unlocked.
We formed the team a couple of weeks ago, at another event. One of the challenges was communication, and the constant back and forth between English and Korean. We solved this by adjusting - the team leader striving to improve his Korean, the other members of the team by going to great lengths in using English almost uninterruptedly.
There were also challenges related to deployment on some of the testnets that we chose for this hackathon. We solved those by waiting, or increasing gas (sometimes to ridiculous amounts).
For this specific hackathon, we introduced sponsored games, in which anyone can create "placeholders", or games with more than 1 FLIP token locked in (hard-coded for this MVP at 4 FLIP tokens, but easily upgradeable). This was peculiarly difficult to deal with, as we had to refactor the entire logic for game creation. We introduced a new type of NFT, a "placeholder" game NFT, which is used to track all the games a user has (standard and sponsored). Communication between contracts (which happens quite a lot in Flippando) is a shaky surface...