Chain Monsters is a turn-based RPG action game on the blockchain where players control monsters, engage in PvP battles, strategically move on a 5x8 grid, attacking enemies to increase mana and decrease opponents health. Last monster standing wins!
Game Overview: Our project is a decentralized, turn-based monster battle game where players choose a team of monsters to engage in strategic PvP (player vs player) battles on a 5x8 grid. The game's objective is to defeat the opponent's team, with the last monster standing declared the winner.
Gameplay Mechanics:
Team Formation: Players select a team of monsters, each with attributes such as health and mana.
Turn-Based Action. The game operates on a turn-by-turn basis, allowing players to make strategic decisions during their turns. During a turn, a player can move their monsters across the grid and perform attacks on the opponent's monsters.
Health and Mana: Monsters have health points (HP) and mana points (MP). Regular attacks reduce the opponent’s health and increase the monster's mana. Once a monster's mana reaches 100, it can perform a powerful heavy attack in the next turn.
Grid-Based Movement: The 5x8 grid provides a strategic battlefield where positioning plays a crucial role in the gameplay. Players must navigate the grid to maximize their attack potential and avoid opponent attacks.
Winning Condition: The game continues until one team has no remaining monsters. The player with the last monster standing wins the match.
Decentralized Experience: The game offers a decentralized gaming experience by integrating blockchain. Every move and attack is recorded as a transaction on the blockchain, ensuring transparency, security, and immutability of the game state.
Smart Contracts: We wrote our smart contracts in Cairo and developed them using the Dojo framework.
Client Side: On the client side, we leveraged React along with the dojo.js SDK to define the on-chain interactions and deployed the react app on Vercel.
Integration: We employed Cartridge's Slot solution to deploy our contracts efficiently. This deployment was facilitated by an open-source sequencer (Katana) and an indexer (Torii) within the Dojo ecosystem. Player interactions from the client are sent directly to the sequencer, while client information updates occur through synchronization with the indexer.
Partner Technologies: We integrated Cartridge’s controller, which enables users to have a seamless interaction via a dedicated account that whitelists the game contracts. This greatly enhanced the user experience by simplifying the interaction process.
Notable Hack: One particularly notable and innovative aspect of our project is the development of an entirely on-chain AI. This AI ensures that players always have an available opponent, providing a continuous and engaging gameplay experience.