Shadow Warfare
"Shadow Warfare: City under Siege" is an autobattler game with hidden states (uses zk-snarks)
Screenshots





Problem Statement
Imagine a vast game world filled with numerous cities, each fortified and ready for battle. As a player, you enter this world by taking control of one of these cities, becoming its leader and protector. Upon joining, players take control of cities and secretly deploy defensive armies, hidden from rivals using zero-knowledge proofs (zk-SNARKs).Our Readme gives an amazing insight into how the game works : https://github.com/Switch-Labs/shadow_warfare/blob/main/README.md#how-it-all-works
Solution
We use Noir to generate these proofs, which are then verified on-chain with deployed EVM verifiers, ensuring rule compliance. Only the army's composition hash is stored on-chain, maintaining strategic secrecy and integrity.Offense is as crucial as defense. While your defensive army remains hidden, your attacking forces are visible to all, introducing a strategic dynamic of bluff and counterbluffThe contracts are on scroll, we selected selected Scroll for its seamless EVM compatibility and robust support for precompiled verifiers across major DSLs like Circom and Noir.We use Noir, a DSL tailored for zero-knowledge proofs, to generate off-chain proofs and on-chain verifiers, ensuring the privacy of strategic game elements like army compositions. This method keeps sensitive information concealed, maintaining gameplay surprise and depth.
Hackathon
Circuit Breaker
2024
Prizes
- 🏆
Best ZK Usage for Scalability on ScrollWinner
Scroll
Contributors
- enderNakamoto
23 contributions
- Shigoto-dev19
19 contributions