We’re in the middle of the crypto winter, and as we are building in the space, we can feel that skepticism is all over the place. One of the criticisms we got lately concerns the utility of NFTs in the gaming industry and the Metaverse. Why should digital wearables go NFT?.. People don’t need to deal with Blockchain’s volatility to enjoy their gaming experiences… people don’t care about truly owning their digital items as long as they can use them in the game… interoperability is a lie… only investors are interested in NFTs as an investment vehicle… people only buy NFTs to sell it later on with a profit… etc…
Before diving into technicalities, and how things work, we’re just going to compare dogmas in a very simple way.
The NFS Heat dogma
Conception
A game designing firm such as EA (Electronic Arts) releases an online multiplayer game with car racing, called NFS (Need For Speed).
The game has a freemium marketplace where paying players or the most engaged ones get access to the most premium cars & accessories, such as for example the Mercedes G-Class.
EA pays Mercedes for IP rights on the car and in return, the automaker may state that the game can never show that car on fire or involved in a fatal accident or other things that they consider negative. This is why many racing games have very modest damage capability, and firms like Rockstar for example don’t even attempt to license real cars in GTA (Grand Theft Auto).
Gamer experience
Concerning the gamer experience, I can easily purchase the most beautiful Mercedes G-Class in NFS Heat and sell it back in whatever Dealership store I want to. However, the game designer predates the car's characteristics, price, and rarity. Also, I have no control over the second market pricing. So if I’m an NFS cars fanatic and have a beautiful collection of the fanciest cars out there, I must admit that this collection is useless out of the NFS environment, and its worth within the NFS environment is totally dependent on the game’s evolution.
To sum it up here, advanced realistic experiences in multiplayer online games are reaching people's hearts. However, this feeling that I'm in a worthless simulation and that at the end of the day I was just spending time and effort conquering an illusion remains a limit for wider adoptions.
The NFT heat dogma
Conception
A collective of artists, designers, developers, and gamers release decentralized car racing games such as Nitrox Racing, GP Metaverse, Deathroad or REVV Racing.
The games are Web3 enabled, which means that racing cars are indexed to the blockchain as NFTs. As a gamer, if I purchase a car from a marketplace, the transaction to my digital wallet is registered on an open distributed ledger that is publicly accessible, eg: EtherScan, BscScan…
Collectives of artists take the lead in issuing new collectibles. For example, Art2people collaborated with Mercedez-Benz to design and issue the NFT collection of the G-Class model. The collection is limited, and one of the holders will be randomly offered a physical G-Class car once the collection's second market exceeds $2M in revenue.
Gamer experience
So, what changes here? Why the gaming experience is much better when digital items and wearables in the game are indexed on the blockchain as NFTs? For a sake of simplicity, let's keep the same example we explored earlier in the article, and let's assume that all car racing games including NFS allow the indexation of the cars to the blockchain (which is not the case for the moment). Here, if I want to add a Mercedes G-Class to my NFS Heat racing cars collections, I would definitely love to have one of the Art2people NFT collections, and I would consider it as my own car for the following reasons:
Traceability: The car was designed by a known collective of artists in collaboration with Mercedes. The wallet that created the NFT collection of the car is verifiable since it is indexed on the open distributed public ledger of the blockchain.
Ownership: Not all gamers are sensitive to this, but it remains a huge value. When I own an NFT Mercedes G-Class, my proof of ownership is publicly available and doesn’t depend on the game itself. If for some reason, I lose access to my NFS account, I still can prove that this Mercedes is mine.
Control over the price: Unlike the first dogma’s experience where NFS fixes the value of my car, here, I can decide how much I want to sell it, it’s my car after all…
Control over rarity: Since the car belongs to an NFT drop, the number of items from my collection was set before the drop, it’s written out there on the blockchain and nobody can change it. Unlike the previous example where NFS has full control over the rarity.
Interoperability: This is the best part! Theoretically, since the identifier of the NFT is written on the blockchain regardless of the NFS environment, nothing can stop Mercedes and the Art2people team from enabling the use of the G-Class NFT in other games out there. As a gamer, I just need to purchase the Mercedez G-Class NFT once, and I’ll be able to use it on NFS, CSR Racing, Forza Horizon, etc…
Theoretically, the second dogma is a winning one for the gamer. It finally gives true, non-deflationist value to all my acquisitions in the game. Pragmatically, we’re unfortunately not there yet, and there are primarily 2 reasons for that:
As a gaming platform, adopting the NFT dogma in your products means that you’re opening up the chain of value to the public. This means that you’re not in full control anymore, therefore, a lot of actors are still reluctant to the idea such as EA, Rockstar Game, and Blizzard. Fortunately, other bolder leading actors in the gaming industry such as Ubisoft, Activion, or Gameloft understood that opening the chain of value to the public increase the size of the cake. These firms are now investing in beautiful distributed P2E (Play to Earn) games, Metaverses, and Web3 enablement, eg: the Rabbids Invasion of the Sandbox, Dogami, Call of Duty, etc...
Real interoperability is not scalable yet. Let’s assume that the gaming industry ended up with an NFT adoption consensus. Now both NFS and Forza Horizon index their cars as NFTs. Let’s also assume that I’m one of the lucky holders of this fantastic Mercedes G-Class NFT. What makes NFS and Forza Horizon both agree to choose my NFT identifier as a common Token ID for their respective versions of the car? Let's suppose they’ve both been pressured to collaborate by Mercedes despite the fierce competition between them... What makes the other hundreds of racing cars game designers collaborate in the same way with each other for 100s of brands releasing 100s of models each year? Interoperability is definitely not scalable that way. Fortunately, the Ethereum community is working on Multiverse Smart-Contract standards such as the EIP-5606 which are good candidates to fix the technical imperfections related to interoperability, and finally, enable the scaling of the NFT dogma in the gaming industry.
The Multiverse NFTs
On September 22, 3 Solidity developers published an innovative EIP (Ethereum Improvement Proposal) that tackles the scaling of interoperability of digital assets between Metaverses. The EIP 5606 smart contract is designed to create a universal representation of multiple related NFTs as a single digital asset across various platforms. These Multiverse NFTs allow for the bundling and unbundling of delegate NFTs within the Metaverses, so holders can trade them individually or as a bundle. This proposal depends on and extends EIP-721 and EIP-1155, which are the 2 Ethereum standards of NFTs.
/**
* @dev Interface of the Multiverse NFT standard as defined in the EIP.
*/
interface IMultiverseNFT {
/**
* @dev struct to store delegate token details
*
*/
struct DelegateData {
address contractAddress;
uint256 tokenId;
uint256 quantity;
}
/**
* @dev Emitted when one or more new delegate NFTs are added to a Multiverse NFT
*/
event Bundled(uint256 multiverseTokenID, DelegateData[] delegateData, address ownerAddress);
/**
* @dev Emitted when one or more delegate NFTs are removed from a Multiverse NFT
*/
event Unbundled(uint256 multiverseTokenID, DelegateData[] delegateData);
/**
* @dev Accepts the tokenId of the Multiverse NFT and returns an array of delegate token data
*/
function delegateTokens(uint256 multiverseTokenID) external view returns (DelegateData[] memory);
/**
* @dev Removes one or more delegate NFTs from a Multiverse NFT
* This function accepts the delegate NFT details and transfers those NFTs out of the Multiverse NFT contract to the owner's wallet
*/
function unbundle(DelegateData[] memory delegateData, uint256 multiverseTokenID) external;
/**
* @dev Adds one or more delegate NFTs to a Multiverse NFT
* This function accepts the delegate NFT details and transfers those NFTs to the Multiverse NFT contract
* Need to ensure that approval is given to this Multiverse NFT contract for the delegate NFTs so that they can be transferred programmatically
*/
function bundle(DelegateData[] memory delegateData, uint256 multiverseTokenID) external;
/**
* @dev Initialises a new bundle, mints a Multiverse NFT and assigns it to msg.sender
* Returns the token ID of a new Multiverse NFT
* Note - When a new Multiverse NFT is initialised, it is empty; it does not contain any delegate NFTs
*/
function initBundle(DelegateData[] memory delegateData) external;
}
The initBundle function initializes an NFT bundle by minting a new multiverse NFT, assigning it to the sender, and specifying delegate token contract addresses, as well as their respective token IDs.
After an NFT bundle is initialized, the delegate ‘approved’ NFTs can be transferred to this Multiverse NFT contract by calling the function bundle and passing the token ID of the Multiverse NFT.
By calling the function unbundle, the owner of the Multiverse NFT can transfer individual delegate NFTs to other users or platforms. Unbundling is needed only if a user wants to sell or use their delegate tokens across platforms. This will dissociate the interoperability though…
The delegateData struct contains information about the delegate NFT tokens on each platform. It contains variables such as contractAddress, tokenId, quantity to differentiate the NFTs. These NFTs could be following either the EIP-721 standard or the EIP-1155 standard.
The delegateData struct array can be bundled and unbundled by the user at any time. There’s a limitation here, the user can bundle up to 3 delegated NFTs in one Multiverse NFT.
You need to keep in mind that this proposal is in the review stage and did not become a standard on Ethereum yet. We strongly recommend you either audit it before using it on your platform or wait until the Ethereum community releases the proposal as a final standard. The Zero-Code Innovation Lab team would be more than happy to help you with the integration of your interoperable strategy!
Comments