Detris is a playful combination of a playable NFT and a prospective puzzle game. You mint an NFT that serves as an interface to play Tetris. This NFT is an interface that will allow the owner to create several L2 transaction on Optimism and eternalise your ENDGAME and high score, which you can after move back to to L1 or use to participate in our weekly Puzzle Leaderboard. Afterwards, our idea is that you can use your newly minted ENDGAME to participate in the weekly Puzzle Leaderboard, where you can compete to submit a set of instructions that fulfils the current week’s specific conditions of game ending and high score. You mint your DETRIS NFT at Everybody can then play the game in the website or in any of the public marketplaces, like OpenSea. Our website also enables you to mint your ENDGAME by taking the output from the game ending and minting the NFT. However, in the end this game itself and the Tetris implementation are just a proof-of-concept for what could be accomplished in the web browser using WebAssembly and in the blockchain using a L2.

Detris showcase

How it's made

We deploy our Tetris written in WASM as an NFT that uses IPFS to enable interactive and dynamic assets, served completely decentralized. We also used NFT.Storage to upload and manage our collections of NFTs. This project used three main technologies, IPFS, Optimism and WebAssembly. Web Assembly enables us to create the Tetris game that can run in the browser and be hosted and played on IPFS. IPFS allows us to store the NFT asset data in a decentralised and reliable fashion, specially using the new NFT.Storage, designed for off-chain NFT data (metadata, images, and the game itself). Optimism began as a tentative approach of converting the off-chain playable game into a on-chain challenge, turning the NFT asset into a interface to generate the moves (for advanced players, this could also be generated programmatically for greater efficiency). This on-chain challenge would consist of a specific combination of pieces on the end screen alongside a specific score, which could be submitted to our future leaderboard contract.