Shadow of Storms

A play to earn multiplayer card based NFT game on Solana blockchain. Battle, Earn, Collect and much more.

Shadow of storm is a turn based NFT game set in a rpg-styled world. Cards features different characteristics and traits. The game right now features three different type of cards/"Shadows", Vampire, Fantasy and Scifi. Each card has a level associated to it. The more you play with a card, the more experience and level it gets. The cards come in three different rarities, "Purple", "Gold" and "Silver". Players can buy cards from marketplace to get started. Later on, we will introduce Shop to buy packs (Luck based) to cards to get started.
All cards feature some base characteristics,
Health: Hit points it takes to kill a card.
Mana: Magic it requires, to use.
Attack points: Damage it causes on one single attack.
Level: Level of card from 1-6 (Upgrades in levels cause the above characteristics to change)
Abilities: (Coming soon) Some cards will have abilities that will let them do what other cards can't normally do. example - (Heal nearby tiles/cards).

What is battle deck?

In game, Players can choose from their card collection to build the deck they want to take to battle. The deck they make will then be available in Battle strategy to place in Arena tiles.

What is battle strategy?

Battle strategy is placing your battle deck cards in the Arena. Players can choose any tiles to place the card as long as it is empty. A good battle strategy is to place the cards in a random fashion. A bad one is to place them in a line. Any attacker can figure out your bad strategy and defeat you. Beware!

What are battles?

The battles are turn based, When both players have finished building deck and finalized there strategy they can start the game. Players will be taken to a far away arena with there cards and strategy, Nothing else. You cannot see what the enemy is holding, which cards he has, what strategy he has. All you can do is trust your instincts. A indicator in the middle of arena shows whose turn it is. When its your turn you can click on a card you want to attack with, then click on the tile in the enemy Arena to want to attack to. Two things can happen here, You can either make a hit and destroy the enemies card, that he will lose for the rest of the battle, or you can make a miss and lose your turn with some broken tiles. If you destroy all your enemy's cards or he surrenders, You win.
On winning, players will be rewarded Sodium token, which they can exchange on DEX for other crypto. (Coming very soon!)

Challenges we ran into

Biggest challenge we ran into was How to save the game data with the NFT data on chain, but thanks to all the discord community we were able to figure our a way. Invoking instructions with program derived accounts was also challenging.

What's next

A lot of UX improvements.
Hosting the "Game" server. Right now, only the website and program, minter is hosted. We will be hosting the game server after adding anti-cheat engines. (You can test out the battle if you clone the shadow of storm server repository and run yarn install and yarn start)
Introducing Card packs, card packs will provide you with the basic cards when you start playing. Right now you'll have to buy cards individually from the marketplace or third party market.
Card abilities, some cards will have distinct abilities that lets then do different things, Heal others?! yeah.
Website artwork improvements.

** We have added a rust server for faster borsh deserialization, we are also planning to set up an indexer with diesel orm to make marketplace faster.

Built With

Share this project: