ZKWitches is a new, original, on-chain social deduction game. It leverages zkProofs to provide unique mechanics - players can partially reveal information while staying honest despite there being no central trusted server.
ZKWitches is a gothic themed social deduction game. Each round of the game will involve 4 players taking turns on a web based dapp.
Players begin by choosing their “village” / hand, which is committed as a hash on-chain.
Players can gather resources, steal resources from other players, and launch inquisitions to find “witches”.
Most actions require players to disclose some secret information about their “village”, without fully revealing their “village”.
Players can be eliminated, and the last person standing wins!
Full rules are listed on the app itself.
The game is complete and playable on both mainnet and testnet - via web browser and browser extension wallet.
The game has appealing pixel art that bridges the gap between spooky and cute.
The game is implemented as a smart contract that runs a state machine, along with 3 dependent smart contracts that serve as zk proof verifiers.
The contents of a players “village”/hand is secret and is never fully revealed. Instead, zkProofs are submitted by the player via their contract calls that show that their hand has certain properties.
There are 3 original circom circuits in this application
- one verifies the validity of the “village”/hand
- one verifies that a player has a village with enough citizens to launch an actions
- one verifies that a player does not have a certain “witch” villager
The react frontend stores the player’s “village” locally, and creates the zkProofs and calls the apis.
Using these techniques, the players have perform validated actions without their information being leaked on the contract.
ZKWitches can join the ranks of many game-based projects on Harmony that leverage Harmony’s very fast transaction processing time and low fees for an experience that can’t happen on other chains.
I want to cultivate a playerbase that enjoys playing the game for its unique competitive nature and short round times. A entire self contained game can be played within 10 minutes.
There are many examples of indie social deduction video games taking off and attracting a lot of mainstream attention (Among Us, Town of Salem, Jackbox).
The game does not have any monetization at the moment but there are several ideas to add going forward:
- Poker-Style Gambling. Players would ante into a pot and the winner would take the pot. “House” (the smart contract) would take a percentage of the winner’s pot as a fee.
- Cosmetic NFTs / Tokens: players can purchase skins/designs and have their villages take on that appearance for all their games.
In terms of competitors - I think the most obvious on-chain competitor is DarkForest. However, DF favors much larger and longer games - I want to aim at people that want to play a pickup game or a short game with friends.
Offchain - the social deduction games mentioned before - Among Us is the biggest.
ZKWitches will be established to be community-driven and self-funded by the DAO (to be created). To get this up and running, we will be requesting the $15k/year stable basic income to take care of initial development, welfare and operations costs.
This ask will be in line with the laid down milestones as detailed below
launching a feature-complete product on our testnet
forming a DAO with 5-out-of-9 multisig with our DAOs
launching on our mainnet with audit
attracting 1k daily active users (with launch video, full PR promotion)
attracting 10k daily active users (with a detailed roadmap, governance process)
Testnet Deployment 4/28 Done
Mainnet Deployment 5/9 Done
Redeploy Testnet+Mainnet - Bugfixes 5/21 Done
Kick and Surrender Functionality - Pending
Audit of Contracts - Pending
UI Improvements (Mobile version) - Pending
Gameplay variants experimentation - Pending
Re-film and edit improved Demo video - Pending
Art Subcontracting - Pending