Futures
Access hundreds of perpetual contracts
TradFi
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Introduction to Futures Trading
Learn the basics of futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to practice risk-free trading
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
Launchpad
Be early to the next big token project
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Analyzing the mechanism design and economic model of MOPN: How to design an NFT placement mining full-chain game?
Author: Shew Wang & Bai Ding, Geek web3
Summary: Maybe everyone has the impulse to design their own game. If various ideas in leisure time are combined, can it lead to the birth of a game? If you were asked to design a blockchain game, what would you do? It may seem easy to think about but difficult to implement. If you really design a blockchain game, there are actually more and more complex issues to consider than you can imagine.
Taking a NFT placement mining game called MOPN as an example, the main gameplay is to place NFT on limited public land to earn profits, which is called placement mining. When designing this game, the game designer not only needs to consider creating scenarios for the native token to be burned/deflated, but also needs to think about how to counter witches, construct suitable mathematical formulas for key data indicators, and solve the dependency of the whole chain game on oracle machines and other third-party components.
In the following text, we will analyze MOPN’s mechanism design and economic model from multiple perspectives to help more people understand the design ideas of Web3 games and the implementation path of full-chain games.
Brief Description of MOPN Game Rules
As a token-based idle game, the core gameplay of MOPN is very simple: the game has created an open map with nearly one million plots, and players place NFTs on the open map to earn rewards. MOPN includes four types of assets:
1. The native token of MOPN - MT (MOPN Token),
2. Land for placing NFTs - MOPN Land
3. NFT placed by players on the land
**4. Bomb used when blowing up an existing NFT on a plot of land
Among them, MT Token is the core asset in the game, and all economic activities are related to MT. After players place NFT on a specific land, they can receive MT rewards based on the score weight and placement time of the NFT. The MT produced by placing NFT for mining, 90% will be obtained by the owner of the NFT, 5% of the mining output will be obtained by the owner of the land, equivalent to rent, and 5% will enter the collection vault of the IP to which the NFT belongs (such as BAYC has its own in-game collection vault), which is equivalent to tax.
In the design of MOPN, the plot belongs to an NFT called MOPN Land. The total supply of MOPN LAND is 10981, and each Land covers 91 plots on the map. All Lands combined cover nearly 1 million plots on the map.
The ways to obtain Land include minting and auctioning. After acquiring Land, players can place it on the map to activate dormant plots. Only plots activated by Land coverage can be used to place NFTs. Any player can place an NFT on a plot under a certain Land jurisdiction, but 5% of the profits must be shared with the landlord (the owner of the Land).
What’s more interesting about the MOPN game rules is that you can use “bombs” to clean up the heterogeneous NFTs around you. **The game stipulates that the plot where you place the NFT is the center, and there can be no other IP series of NFTs within the distance of the two plots (such as BAYC and Fat Penguin are conflicting IPs). At this time, if you have to place NFTs on this plot, then use a bomb to remove the heterogeneous NFTs.
The final result is as follows: Within the distance of two plots around each NFT, there are NFTs of the same type.
In general, the rules of the game are quite simple: place your NFT on a certain plot to get mining rewards. You need to share a portion of the mining output with the landlord, while ensuring that there are no non-fungible tokens of a different kind around you.
In addition, MOPN is equipped with a specific Collection Vault for the NFT collection participating in staking mining. Because MOPN is a full-chain game, the market data related to NFT should not rely on the oracle machine. Therefore, MOPN has set up a Collection Vault to obtain off-chain information such as NFT market prices through a specific mechanism (how to implement it will be mentioned later).
The above rules establish an economic system with MT Token as the core, as shown in the figure. In the following text, we will briefly introduce the implementation of MOPN from the perspective of game designers.
Account Parsing ERC-6551
MOPN has created an ERC-6551 abstract account for each NFT involved in mining, and the ERC-6551 account is a core component of the MOPN game system, with a large amount of business logic relying on it to achieve.
The ERC-6551 standard is derived from EIP-6551, which aims to create exclusive AA wallet accounts for NFTs, allowing NFTs to have many rights just like regular Ethereum users. For example, you can register an ERC-6551 account for BAYC and use it for receiving payments and on-chain operations. When a user transfers an NFT, the ownership of the corresponding ERC-6551 account will also be transferred along with it.![解析MOPN的机制设计和经济模型:如何设计一款NFT放置挖矿全链游戏?]()
What’s the point of doing this? In a certain game scenario, suppose Ethereum address A owns a virtual game character named Bob, and Bob himself is implemented in the form of an ERC-721 NFT, holding multiple items (such as hats, shoes, weapons, etc.) and other assets (such as gold coins), which may be implemented in the form of ERC-20, ERC-721, etc. Although these items are considered to belong to Bob in the game’s setting, from the perspective of the underlying contract, the above assets are associated with address A.
Assuming the controller of address A sells the virtual character Bob to someone else, it is cumbersome and unreasonable to transfer Bob and the game assets he holds to the buyer one by one in practice. The goal of EIP-6551 is to directly create a dedicated wallet account for the virtual character Bob in the game, which is used to manage the props and assets he holds, making the entire interaction process simpler and more rational.
ERC-6551 is mainly composed of the following two modules:
1.Registry. Registry is a factory contract where users can submit their NFT contract address and tokenId, and Registry will generate an exclusive fixed address for them, deploying the user’s NFT account within this address.
MOPN is equipped with its own Registry and Account Implementation modules, allowing users to input the NFT contract address and tokenId to deterministically create a dedicated ERC-6551 account for the NFT, meeting various needs in game operations.
NFT placement mining mechanism design
Previously, as we mentioned, the first step for users entering the game is to select NFT and place it in the appropriate area. The following picture shows some of the current maps of MOPN:
On the game map, we can observe NFTs belonging to different IP collections and blocks of different colors. Each NFT will radiate the surrounding blocks into specific colors, and only the same type of NFT can be placed adjacent to each other, at least two blocks apart for different types of NFTs.
To this end, MOPN adopts hexagonal blocks and establishes a coordinate system as shown in the following figure:
Obviously, each plot on the map has a unique coordinate. The entire map is divided into 10981 regions, divided into 10981 MOPN Lands, each with its own exclusive LandId. In the design of MOPN, land owners can collect rent from NFT holders, with 5% of NFT mining income flowing into the plot owner’s ERC-6551 account.
For each placed NFT, there is a titleAccounts field in its ERC-6551 account, indicating the collection to which the NFT belongs. When you try to place an NFT on a plot of land, the relevant contract will read the ERC-6551 accounts corresponding to the NFTs on the 19 adjacent plots of land, and check the titleAccounts field to determine if any different type of NFT has been placed in the nearby area.
The content mentioned above is only the tip of the iceberg in the design of the entire MOPN mechanism. From the perspective of game designers, you still need to consider many troublesome issues. First of all, in the early stages of the game, you need to consider which NFTs can participate in the MOPN game. If you don’t restrict the types of NFTs, someone will definitely place a large number of junk NFTs on the map to quickly obtain a large amount of MT Token income, ultimately leading to severe token inflation, which is essentially the anti-witch problem.
To avoid such situations, it is necessary to take restrictive measures and only allow specific types of NFTs to participate in the game. Before the formal launch of MOPN, the following formula is used to score all NFT collections in the market:
The following is the statistical table provided by MOPN officials based on the recent snapshot information.
We can see that there is a column named STAGES in the table, which represents when the IP collection to which the NFT belongs can participate in the game. The NFT series marked as Stage1 can participate in mining placement at the beginning of the game, while Stage2 and Stage3 need to wait until the game reaches a certain stage.
Second question, who can place NFT?
Anyone can do it. The person who places the NFT may not be the owner of the NFT, but only the owner of the NFT can directly withdraw the mining rewards for placing it, and then share a portion with the person who placed the NFT on their behalf. We call this person who is not the owner of the NFT but places it on behalf of the owner an ‘Agent’.
According to the design of MOPN, when the NFT holder withdraws the mining rewards, or the NFT is moved or destroyed, the Agent can receive a portion of the mining income, with the specific value being: the placement of mining income.
Where n refers to the number of existing agents in the NFT series (e.g., n people acting as agents for BAYC NFT placement mining). Obviously, as an agent, the earlier you participate in the game, the more rewards you can receive.
**The last is the third question, how to calculate the placement reward of NFT?
This question actually needs to be answered in conjunction with the economic model of MOPN itself. The total supply of MT is 1 billion. Every time Blast produces a block (approximately 2 seconds), MOPN will release a certain amount of Token rewards to NFT miners. MT is initially set to release 60 tokens for every block produced by Blast, and the release amount of MT decays by 0.3% every 50,000 blocks (1.2 days). The specific release curve is as follows:
Once we determine the MT release amount for each block, we can calculate the mining reward for each NFT, because the MT released in each block will be allocated to different NFTs participating in mining according to their weights. The MOPN Point mentioned above determines the reward weight of each NFT.
Among them, Tile Point is classified according to the land where the NFT is located, divided into +1, +5 and +15, corresponding to three types of land with different rarity on the map. Collection Point is related to the IP collection to which the NFT belongs and the staking situation. It will be described in detail in the section on the NFT Treasury later.
Ultimately, each NFT will receive a share of the MT rewards released in each block based on the proportion of its Point to the total Point of all NFTs.
Land Auction and Bomb Bomb
As mentioned earlier, when you place an NFT on the MOPN map, you must declare the LandId of the target plot. LandID represents the LAND number to which the plot belongs, and when the NFT placer extracts the MT mining reward, 5% of the MT will flow into the account of the landowner of the LAND to which the plot belongs (each landowner controls different LAND). In MOPN, Land’s function is to manage plots, and the relationship between plots and NFTs is like that between flowers and flowerpots. Therefore, LAND is also one of the core assets in the game.
(Land is essentially an NFT, and the (-48, 10) marked in the lower left corner represents the coordinates of the center of this Land block in the MOPN map.)
The ownership of LAND is expressed in the form of NFT. All LAND NFTs are issued in two ways: minted with ETH or minted through auction participation with MT Token.
The model of ETH minting Land is relatively simple, and players can spend a certain amount of ETH to mint and obtain Land. The first Land has a minting price of 0.02 ETH, and for each subsequent Land minted, the price increases by one-thousandth compared to the previous one.
The process of minting Land with MT in the auction is relatively complex, using the Dutch auction model. The starting price for each Land is 1 million MT, and the starting price is automatically reduced by 1% every 5 rounds. After one round of auction is completed, the next round will automatically start. All MT used to purchase/mint Land will be burned, which is the first way MT is destroyed in the entire MOPN game.
Bomb Mechanism![解析MOPN的机制设计和经济模型:如何设计一款NFT放置挖矿全链游戏?]()
When placing NFTs, if there are different types of NFTs within the distance of 2 blocks around the target block, you need to use a Bomb to destroy the different types of NFTs and clear the block they are in. Bomb is a way to forcibly remove different types of NFTs from the map, which can be obtained by burning MT. Once a Bomb is used, it is destroyed, which is the second destruction scenario for MT in MOPN.
The pricing of Bomb follows the formula:
The MT Production represents the amount of MT already mined on the target plot, titles represents the number of plots to be cleared by this bomb, and bomb production represents the usage of Bomb in the past 7200 blocks. The more MT that has been mined on the target plot, or the more times people have used Bomb in the past period, the higher the price of the bomb.
NFT Collection Vault
As mentioned earlier, MOPN allocates rewards to NFTs placed on the map based on a scoring system called MOPN Point, which consists of Title Point and Collection Point. Title Point is determined by the rarity of the NFT’s location, while Collection Point is related to the exclusive treasury of the NFT collection (such as BAYC) in the game.
The Collection Point measures the inventory of MT in the NFT Treasury. The more MT in the Treasury, the higher the mining rewards for this type of NFT. The initial calculation formula is 01928374656574839201.
Among them, Vault $MT is the MT stock of the NFT treasury. The ways to add MT to the treasury include mining tax and staking. The first one is what we mentioned before. Any NFT placed for mining will automatically submit 5% tax (in addition to 5% land rent) to the treasury when withdrawing profits. The other is voluntary staking, where you can earn APY by staking MOPN in a certain NFT treasury.
MOPN’s NFT vault has other functions, for example, it can provide market price data for NFTs to MOPN. Since the entire MOPN game revolves around NFTs, the market price of NFTs is an important data indicator. However, as a full-chain game, MOPN does not want to rely on centralized components such as Oracle Machines.
To this end, MOPN has set up an NFT trading platform similar to AMM (in other words, it has set up a pool itself), where players can buy/sell NFTs. Various arbitrage behaviors will keep the prices of NFTs on this platform consistent with those in the external market, so the system can somehow obtain the external market prices of NFTs without relying on an oracle machine.
The NFT trading platform of MOPN adopts a model similar to Uniswap, which is essentially a spot pool. However, compared to the ERC-20 AMM, the NFT’s AMM is more difficult to implement. On the one hand, because NFTs are non-fungible, anyone has their own psychological price for a specific NFT, so it is not possible to directly price an IP series. On the other hand, the number of NFTs itself is limited, and the liquidity is far less than FT, which makes the transaction of NFTs more difficult.
To address this issue, MOPN combines auctions and AMM, allowing the treasury contract to directly participate in the buying and selling of NFTs and contribute liquidity directly. The process of the NFT treasury acquiring NFTs from players follows an automatic bidding system, with an initial bid of 20% of the MT balance in the treasury. After the first transaction, the initial buy-in price for the next transaction will be set at 75% of the treasury’s last asking price, with an increase of 0.05% per block, and a maximum limit of 20% of the treasury balance.
When an NFT holder believes that the offer meets their expectations, they can sell their NFT. Afterwards, the vault will switch from buying NFTs to selling NFTs and initiate a Dutch auction to publicly sell the NFT just acquired. The starting bid for the Dutch auction is 125% of the acquisition price, decreasing by 0.05 per block, with a lower limit of 1 MT. After the auction is completed, 0.5% of the transaction price in MT will be burned, which is the third way in which MT is burned.
After the completion of NFT sales, the treasury can enter the acquisition state again and provide NFT quotations to the outside world, thus repeating the cycle.
Compared to the conventional x * y = k model, the auction-based generalized AMM can help fully price each NFT, ultimately resulting in the treasury being traded at a price close to the optimal bid. If MOPN has sufficient influence in the future, a large number of NFTs may be traded in this way, which will partially solve the liquidity of NFTs.
As the above auction mechanism makes NFT fully priced, we can roughly assume that the transaction price of NFT in the treasury is the floor price of the current NFT collection, replacing the feeding price function of the Oracle Machine.
Back to the MOPN Point, due to the possible instability of MT stock in the treasury, there will be significant changes in the MT stock in the treasury for both NFT buy and sell. For the sake of fairness and stability, after the NFT in a certain treasury is sold, the Point calculation formula will be:
Where vault last ask-accept price is the amount of MT obtained after the NFT is last sold by the vault, and vault $MT is the deposit of MT in the vault before the NFT is sold.
Summary
From a technical perspective, MOPN introduces ERC-6551 accounts, which improves the flexibility and composability of the gaming system. At the same time, it adopts an auction-based NFT trading platform, providing a point-to-pool NFT market that solves the dependency on oracles in the entire chain game through internal market quotations. As a relatively easy-to-understand example of a fully chained game economic model design case, MOPN is worth studying in depth.