Shake Shock, is a utility-based NFT MMORPG game that draws inspiration from Super Smash Bros, allows fight against other champions, earn loot and evolve with your clan.
hake Shock it’s a multiplayer MMORPG powered by Play-to-Earn (P2E) dynamics. Like many games in Crypto, the mechanics are highly dependable on the design of the games, the incentives of trade, and how fun it is.
The Gameplay it's a real-time PVP, so you’ll be able to fight with your characters/champions and weapons of choice. When you win a fight, you earn the initial escrow vault and the chance to open 1 loot. Loots incorporate assets, XP, and currency.
The game also has an in-currency called $SHAKE to manage the game economics. The currency is used to level up, evolve, buy new items, etc.
The Champions can also level up and evolve into new civilizations when they get enough experience points and $SHAKE token. The game players will decide in the fate of the civilizations by voting and partnering into clans.
We split the project up into segments:
Game contract, central smart contract for handling interactions to the NFT and escrow contracts (solidity)
Escrow contract (solidity) - holds $shake in escrow when players stake their tokens before entering into a battle
NFT minting contracts (solidity) - players mint a character NFT and asset NFTs used in game
$shake ERC20 token (extended from the OpenZeppelin wizard) - players air initially airdropped tokens when minting their character NFT and would eventually be able to earn more $shake from in game activities
Unity WebGL with multiplayer support via photon
Deployed NFT meta data to NFT.Storage
Moralis for unity and on-chain integration
Web app development (React)
Of the sponsors, we leveraged NFT storage (filecoin + ipfs) for the meta data storage of character and asset NFTS and Moralis for Unity<>on-chain integration respectively.
That's pretty much all, I know the info is around, but to have it all in one place. Also I don't know if there was a smarter way of doing this