Meka Legends
Meka Legends aims to be a blockchain MMORPG with gasless and signless transactions. All in-game items are linked to NFTs and blockchain interactions run in the background for an smooth experience.
Created on 1st July 2024
•
Meka Legends
Meka Legends aims to be a blockchain MMORPG with gasless and signless transactions. All in-game items are linked to NFTs and blockchain interactions run in the background for an smooth experience.
The problem Meka Legends solves
Creating an MMORPG where all assets are NFTs poses several challenges, such as the need to sign each transaction, gas fees, the difficulty of onboarding users unfamiliar with blockchain, and the complexity of developing such a project.
Our goal is to create a game with these features using smart wallets and transaction sponsorship to avoid requiring users to sign each transaction with their wallet.
Thanks to Thirdweb's Unity SDK and the BASE network with very low transaction costs, we have successfully implemented these functionalities in our online multiplayer game.
This allows players to obtain and exchange items in real-time within the game, while blockchain transactions linked to those items are processed automatically and without needing to sign transactions. This seamless experience encourages users less familiar with blockchain to join without specialized knowledge.
The main features we have integrated are:
-
In-game Marketplace: Players can buy and list their items. When an NFT is purchased, the respective in-game item is also sold.
-
Loot System: Players can pick up items from the ground or enemy loot, which automatically mints the corresponding NFT. If a player drops an item, it is burned.
-
NFT Mail System: Players can send mail to other players, including items to be sent. When this occurs, the NFT is also transferred.
-
Since blockchain transactions process slower than the database, blockchain transactions are added to a queue. While these are processed, the player already receives their item, ensuring smooth item exchanges.
-
The "Premium" shop processes transactions first before granting the corresponding item. Other interactions with items are instantaneous while the transaction is processed in the backend.
-
To facilitate wallet creation and connection, we used Thirdweb's "In APP Wallets," allowing wallets to be created in seconds using email, Apple ID, or social media.
Thanks! Hope you enjoy the game!
Challenges I ran into
There is only one developer behind this video game, which is already a challenge for creating a game of this magnitude.
I have encountered many obstacles; some I managed to overcome better than expected, while others have resisted.
The game consists of a server (Java), a database, the blockchain, and the client. As an online game, managing events and interactions must be server-side to prevent cheaters or hackers. It has been a challenge to integrate these interactions with Thirdweb's Unity SDK, but overall, I think the result has been satisfactory.
Major challenges overcome:
- Creating user accounts in the database from the parameters provided by the wallet.
- Ensuring that the game items stored in the database are in sync with the player's NFTs.
- Passing server and database values in an orderly manner to the values for blockchain transactions.
Major challenges not resolved during the Buildathon:
- Implementing the Coinbase Smart Wallet: I have not been able to implement it, as neither Thirdweb's SDK nor other SDKs natively support it in Unity. The solution I am still exploring is using a WebView within the game, and I believe I am close.
- Allowing users to list new NFTs in the in-game marketplace using Thirdweb's SDK. The TW team has helped me a lot over the past month, but we have not yet found a solution.
- When the game crashes or closes, queued transactions are not processed, creating a desynchronization between in-game items and the player's NFTs. I already have a solution for this but haven't had time to implement it.
Thanks! Hope you enjoy the game!
Tracks Applied (1)
Gaming Track
GAMING with thirdweb
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
