Play against ERC20 DAOs on chain to discover which community will coordinate best and be victorious in the newest version of the classic RPG. Incentives, signed voting, generated adventures & more!
Inspiration & explanation
Inspiration - original Dungeons and Dragons
The original game Dungeons and Dragons relies heavily on the Dungeon Master and his responsibility to make sure that all the heroes of the adventure have a great time, it is the dungeon master who enforces the rules of the game but also allowing for unexpected things to happen like any other adventure.
Where we plan to go with Dungeons, DAOs and Dragons
In this times where we rely more and more on technology and their increasing computational power that is becoming very close to our real lives we think it is super important to continue using the imagination of the human brain as a tool or machine (still the most powerful one) to create this abstract but cryptographically enforced solution.
Also in crypto we don't have the luxury of ML natural language processing and the required computational power involved however we do have strong social and economic incentives to give players an even better experience with a real Dungeon Master controlling the game.
As if being part of a magical world on a great adventure were not enough we want to see how decentralised autonomous organisations would see reflected in their heroes, how they will act, how serious would they take it and how far would they go to make sure their hero survives, win and with this, show the power behind a decentralised collective.
How we built it
For the frontend we found a DnD map generator on GitHub which gave us the SVG map. Then we built on that to generate json to be used for in game navigation. This allows us to track both guilds on overhead maps so the dungeon master and players can see what is happening in both dungeons in real time.
For the UI we forked an existing repo from our dao to reuse some components and functions. The UI we built has support for 2 guilds and a DM playing one game as seen in our demo set up with a localhost script that deploys contracts and sets up the game.
The smart contract we developed
ddnd.sol is the main engine of the game that tracks state, signatures, etc and is the main interaction point for the system. We also use ERC20Guild contracts that are a simple governance layer over ERC20s we use for DXdao's own governance system.
Challenges we ran into
Signing and sharing cryptographic signatures to ensure cheap / free voting for the same end goal as snapshot but with actual decentralisation was a lot tougher than expected and we ran into multiple issues that took a long time to work out.
Accomplishments that we're proud of
- Use of EIP1271 to standardise signatures
- Signed voting on the governance layer
What we learned
That being ambitious at a hackathon is very very tiring.
What's next for Dungeons, DAOs and Dragons
- More off chain messaging services to share signatures for added redundancy and decentralisation
- Add more gameplay features (enemies, traps, etc)
- Test on arbitrum, xdai, etc
- Better UX for DAOs/guilds to create and invite others to games of ddnd.eth
- Deployment to ipfs and pointing ddnd.eth ens to hash
- Mint NFTs to winning guild and dungeon master
- Add ranking and more rewards to incentivise good DMs
- The technology developed here with signing votes will be used to directly compete with snapshot and provide a more decentralised solution with an upgrade path to DXdao's "Governance 2.0"
Log in or sign up for Devpost to join the conversation.