My Mül 🏅

My Mul is an on-chain tamagotchi-like 3D NFT game that features fully interoperable game behaviors and characters, allowing for easy integration into any open gaming ecosystem. The character changes based on on-chain interactions.

Challenges

Deploy your smart contract on Scroll

Pool 10,000 USDC

We deployed our game contract to scroll's alpha testnet, and execute many micro transactions against it. Contract address is: 0x494344159e4fa881cf60d350a24c10c485639173

Build on Base 🔵

Ranked 15,000 USDC

We deployed our game contract to base, and execute many micro transactions against it. Contract address is: 0xf70abdb571bac66dd095ec1140ee99ca57dd1465

#BUIDLathon 2023 NFTs + Metaverse + Gaming Track

Pool 15,000 USDC

We create a new way to make game character nfts that are both ownable, censorship resistant, and interoperable with open game engines. We build a basic example of a game involving a character that can become so much more, part of a bigger universe.

Project details

My Mul is on-chain tamagotchi-like 3D NFT game character that can exist for ever and easily become a part of other games or virtual worlds.


Problems: 


  • In off-chain games digital assets are not owned by players and at the mercy of the game publisher;

  • Metaverse experiences are an empty space without social and engaging interactive experiences. People have no attachment and incentive to spend time there or reasons to come back.

  • When building interactive game assets, there is no easy way to import them to other platforms.


Features:


  • Fully interoperable — both on and off-chain game behaviors and characters can be integrated into any open gaming ecosystem.

  • Interactive 3d NFT character that changes and develops based on your interactions with it. It has an ability to generate in-game tokens ($MULE).

  • Character is not immortal if it is neglected, it dies and can only be burned.

  • Game state and rules are stored on-chain, and are built on a custom smart contract deployed to both an optimistic and zero knowledge rollup, Scroll and Base, enabling fast and cheap micro transactions.


Team:


- Olive Allen NFT artist, tech entrepreneur. Crypto art OG. Collaborations include TIME, WWF, Meta, Christie’s, Sotheby’s, Art Basel etc. Avid gamer and animal lover.

- Dan Oved is a full-stack browser, 3d and solidity engineer, former co-founder of arum.xyz (browser-based real-time 3D Metaverse builder).  Serial hackathon winner. Wants to live in a virtual world as fun as super mario Odyssey.


Current game logic (Level 1):


  • You own an adorable Mul character NFT yay!

  • Like every responsible pet owner you must take care of it and make it happy by visiting and petting it every day.

  • When your Mul is happy (happiness level at least 51 out of 100) it generates a small amount of $MULE daily. The token will be quite useful as the game progresses.

  • If you abandon your Mul and its happiness level goes to zero it dies. And like in real life, on-chain death is permanent (NFT gets burned).


More about the tech:


Our project is creating a new standard for easily importable interactive 3D game asset NFTs that can be used in any game engine. To accomplish this, we are leveraging the KHR_behavior format, an interoperable format for game behavior and state that is actively being developed with support from major players such as Meta, Microsoft, Google, Amazon, and more.


Our project adds a decentralized interactivity and state layer to static 3D models, allowing smart contract transactions to be triggered based on specific behaviors, and the state of the model to be reflected by the state from the smart contract. 


Since the game behavior is stored separately from the content, a creator could create multiple sets of behaviors against a game item, and a marketplace could be created around these programmed behaviors.  These can even be generative.  


How its made:


Everything is built using open source tools, and is rendered entirely in the browser.  The application is serverless.  The front-end is built using react and react-three-fiber.  


The editor is built by importing the existing open-source https://github.com/bhouston/behave-graph, described as “a standalone library that implements the concept of "behavior graphs" as a portable TypeScript library with no required external run-time dependencies. Behavior graphs are expressive, deterministic, and extensible state machines that can encode arbitrarily complex behavior.”


In this project, we extend the behave-graph functionality by allowing nodes to trigger smart contract transactions, or subscribe to state or events from smart contracts.  We generate node types off of the abi of the contract, and allow these to be added through a gui.  


The game we made is built using custom ERC-721 smart contract, extended to support linking to a behave graph. Both the .glb and the behave graph are stored on IPFS and their IPFS addresses are stored with the token meta data. The behave-graph url can be updated by the owner of the contract, allowing the off-chain behavior to be changed.  We support this through the demo’d user interface.


The contract is deployed to both Scroll and the Base networks, and the application is entirely serverless hosted on IPFS with fleek.co.

What’s next:

  • Expand the game beyond a single character into a collection (new characters, unique combinations of traits).

  • New game levels: players will be able to purchase wearables, food, toys for their Mul to keep it happy longer

  • Muls can interact with one another and evolve

  • AI-powered Mules to transcend your friendship to the next level

  • Build a workflow that lets others create games like this

  • A decentralized network of community owned game assets

                                                      

 THANK YOU ! :)