Try it out now on https://oasistanks.io
Oasis Tanks is a tank fighting game with upgradable NFTs. Mint a basic tank to start with. Pilot it in the game and fight enemies! Harvest their parts. Upgrade your tank. Then sell your upgraded NFT.
First, click "connect your wallet". Metamask opens to authorize the connection. If you are not already connected to the Theta Testnet, Metamask will offer you to do so.
The game will then fetch all your tank NFTs from the smart contract. If you do not yet have a Thetank NFT, click "Mint New Tank" and Metamask will open to trigger the mint. You will receive a basic tank with entry-level turret, body and chassis. The tank will appear in your list of tanks (if not refresh the page). Select that tank to access the game.
Then open your inventory to see all the parts you have found. Drag and drop a tank part to its corresponding area on your tank to upgrade that part. A Theta transaction opens that will actually modify your NFT metadata and image with the new part.
The smart contract is a modified ERC721 with a new endpoint to modify an NFT metadata and image. We have created a NFT collection of 540 unique tanks made of 10 turrets, 9 chassis and 6 bodies.
How it's built
The GitHub repository is a mono-repo containing :
The game, located in
The images and metadata generator for the NFTs, located in
src/generator, a custom script that takes the 10 turrets, 9 chassis and 6 bodies and mix them together to create the 540 combinations of json metadata and png files.
The smart contracts for upgradable NFTs in
src/contracts, which is a modified ERC721, created with OpenZepellin, Hardhat and Typechain.
I want to create more parts to generate up to 10,000 unique tanks and then sell the collection in order to finance the development of the game for more enemies, worlds, multiplayer, some storytelling, etc...