NFT Implementation

The Heroes and Weapons NFTs will be implemented using the BEP-20 standard, we chose this standard because all our Heroes and Weapons will all be 1/1 unique token with a unique combination of traits. Metafire contracts will be deployed on Binance Smart Chain main network because it is the most widely recognised blockchain for NFTs. Collection display is supported by most of the mainstream crypto wallets. This helps us to provide a better user experience and be more friendly to players who are relatively new to the NFT space.

Fighter Stats & Battle Calculations

There are two different types of users we would like to target. The first group is collectors who focus on how rare the token is and what traits it has. The second group is gamers who focus on how well the fighters can perform in battle. As a result, we made the stats of the fighter hidden and not visible to the token owners, this means gamers will have to battle to find out how strong their fighters are and how well it performs against certain weapons and heroes.

The most important parts of the game such as all the fighters, weapons, and their respective traits are stored on-chain. However, the team has decided that the stats of the fighters are to be stored on an off-chain database which offers several advantages listed below.

Fluid game-play experience: Since Metafire is a real-time fighting game with player input, it is much more complex and requires a lot more processing on the backend to run. This means that running the entire game on-chain is infeasible without significant lag and impact on gameplay experience. Therefore, we are referring to the blockchain trilemma of decentralization, scalability, and security trade-off. As game developers, we would like to provide a better gaming experience by trading off decentralization for speed. Gaming logic and calculations happen off-chain and are then uploaded to record the result. This allows the game to be fluid and the waiting time for transactions to complete is minimal since data sync will be done with asynchronous operations.

Flexibility: Storing the battle calculation and logic off-chain also gives us a lot more flexibility for future updates so that we can continue to improve the game over the long term. For example, it allows the DAO to vote on how we can alter the logic in order to balance the game out.

Cross-IP fairness/balance: Another reason why we kept the stats hidden is that we allow cross-collection battle, if the Galaxy Fighter tokens have their stats visible but the other collection do not then it creates an imbalance of information between MFC oken owners and partnering collection token owners, so we decided to keep all of it hidden for fairness.

Gas fees reduction: Finally, if each battle were on-chain then it would create a unique transaction on-chain each time a battle happens, and due to the complexity of the game logic the gas fee spent on starting each battle will be very expensive and is simply not practical.

Last updated