Description

This project is a 2D RPG game, named Robin Mania, after the main character. Players get into the game and start exploring, fighting enemies and bosses to unlock chests and mint new items. They can by then gain power and get into new worlds in the game. Players can also buy items from other players but they cannot mint without playing the game. Here's the game collection : https://testnets.opensea.io/collection/robin-mania

RobinMania showcase

How it's made

This project was made possible using Unity WebGL and ChainSafe Unity SDK. The player login to his metamask wallet and start exploring the game, when he finds chests, he can mint them but only from the game. After that a player will have new items in his inventory to play with. This wouldn't have been possible without Polygon since speed is highly critical when it comes to games and security is of course essential. We also were able to use Polygon because it is supported by the ChainSafe SDK which made things easier to build. Our team is very new to the blockchain world, we only started about 2 months ago and during this hack we gained most of the knowledge. We learned how to integrate web3 into Unity, we tried Moralis first but the metamask browser connection wasn't supported, so we switched SDKs. We also learned the difference between ERC1155 and other tokens. We were able to create our first NFT smart contract and the most challenging part was this: How do you make the player only mint if he is playing the game ? why wouldn't someone skip the game and mint from the smart contract, hence hacking the game main objective ? We partially solved this problem by making the game able to allow the player to mint a particular NFT before he can call the minting function. We made around 240 transactions on the mumbai testnet in around 2 days, this is because we had to test and fix several times. We still think that the Smart contract still needs improvements, but we don't have enough time during the hack, it works like that and that's an achievement itself.