Because we have been supporters of the polkadot / kusama ecosystem for a long time, we chose the Singular NFT marketplace as we found it very appealing and easy to use. The idea of our NFTs is based on the Kusama canary bird. The story revolves around the Samas who live on the island of Ku .. Ku-Island / Ku-Sama. We wanted to bring out a unique nft collection in which the nfts differ in their entire structure. Such as the look, the pose, the details or the background, so that every NFT card has its own character and vibe, but you can still see that all are Crypto Samas.
We got the idea for our game when we were looking through the NFT market for nice NFTs. There are really so many great artists on Singular whose NFTs unfortunately have no real use, which we think is a shame. Collecting NFTs is fun and great, but if these NFTs had a use in a game, for example, wouldn't that be cool? So we came up with the idea of building a battle platform. At first only for our collection the Crypto Samas, but the codebase could be reused for any Singular NFT collection, so that you have a large battle platform on which you can compete against each other with your favorite NFTs. With this we would also support top designers who have difficulties in programming or who do not have the right budget.
What it does
The game should work in such a way that you can choose 1-4 nfts from your collection at the beginning and fight against "develish monsters" or other creatures on a battlefield. Each card has 3 skills such as attack skills / healing skills / buff-debuff skills or other impairments. So some cards harmonize better as a team than others. So there is always a certain tactic required to shape your team for a fight. Each NFT card will continue to be treated uniquely on the platform. With different stats and skills as well as unique designs.
How we built it
React with polkadot.js API for website and blockchain interactions and Unity WebGL game engine for battles
Node.js, fastify, MongoDB and Subquery for fetching blockchain data
Challenges we ran into
fetching data from blockchain takes some time
we are running scans every N minutes on our backend to keep local database up to date with the blockchain data through Subquery
original IPFS media is quite heavy in size due to high resolution image
once every new blockchain data fetch is done, we are downloading, resizing and compressing image and pre-caching it to the local temporary file storage, so it can be reused both on website and within the battle screen made with WebGL
What's next for Cryptosamas
We recently launched our website cryptosamas.com, which was our first milestone. Next we work on our battle platform to see that everything is working properly and to give people an insight. Even if you don't own Crypto Samas NFT, you already can enter an early demo mode of the battles:
For the future we plan to work on a campaign mode that can be accessed via a campaign menu. In this mode you first fight against weak opponents who do not defend themselves so you can try out the combat system and understand it. Later the opponents get stronger and stronger and you have to act tactically. There will be boss fights aswell. We are also planning to build a level system and an arena where you can compete against the NFTs of other players.
We create different unique skills for each sama. We will also give them different stats. In the meantime we will publish new NFTs on Singular and continue to work on our website and battle platform. We are planning to add a player menu where every player can see their nfts and the associated stats and skills.
We plan to release battles part as an open source project, so anybody who owns NFTs collection on Singular can add their own gamification and use to it by customising combat system in any way.