Inspiration
We were inspired to create a base defense strategy game like Clash of Clans, but in a darker style similar to Dark Souls. The idea began by thinking about how we would use dynamic NFTs to capture the state of a player's base on the blockchain.
What it does
In its current form, the game allows a player to authenticate with MetaMask by minting a ProfileToken. We weren't able to implement the Coinbase Wallet in time, but this was the plan. Once minted, this NFT acts as the player's profile account which can hold up to three castle bases. Next, the player can mint a CastleToken, go to their base and for now just edit the skin options for their wizard troop unit, which is updated to the CastleToken in the NFT metadata.
How we built it
Using thirdweb's ContractKit, we created our smart contract and both ProfileToken and CastleToken NFTs. Using the GamingKit, we allowed players to interact with the smart contract in order to mint, update, and burn NFTs, all from within our browser game UI via Unity WebGL. In order to create our art, we used Scenario.gg and MidJourney AI platforms to generate both concepts and background art, and finally Blender to create the 3D models of buildings and troop units.
Challenges we ran into
We tried to implement the new dynamic NFTs which automatically update its metadata without gas fees, but these were not working correctly, so we stayed with using ERC1155 (ProfileToken) and ERC721 (CastleToken). Another challenge was that since it is a browser game, we needed to reduce the complexity of the game objects 3D models so it wouldn't lag.
Accomplishments that we're proud of
We are proud that we completed the ability for players to mint, update, and burn their tokens, giving their wizards some fancy clothing styles!
What we learned
The biggest lesson learned was that it is best to start with something that works before attempting to create a radically new concept from the beginning.
What's next for Soul Wars
Next we will continue building our prototype with a PvE game mode where AI enemies attack players' bases, and players can build their base with structures, collect resources, train troops, and customize their skins. Eventually we want to test user-generated content, possibly with Scenario.gg's API for automation support.
Log in or sign up for Devpost to join the conversation.