
Darkest Dungeon
Find door for next with getting reward
Project links
About this project
The problem it solves
🧩 The Problem It Solves Traditional dungeon-crawler games are fun and immersive, but they often lack ownership, progressive incentives, and long-term value for players. Once the game ends, your efforts and progress vanish — and there's no meaningful way to monetize or carry forward your success.
Darkest Dungeon changes that paradigm by merging procedural gameplay with on-chain value creation. Here's how we solve existing gaps:
🎮 1. Lack of Player Ownership in Traditional Games Most games store progress off-chain and tie it to centralized systems. In Darkest Dungeon, your score, loot, and achievements can be minted on-chain, giving players true ownership of their in-game success.
🌐 2. No Real Incentives in Roguelikes While roguelikes are engaging, they don't offer real-world rewards for high performance. We introduce Dungeon Tokens ($DGN), an ERC-20 token you can mint based on your in-game performance — giving financial incentives to skilled players and enhancing replayability.
⛓️ 3. Disconnected Gameplay and Web3 Many Web3 games either focus too much on blockchain without good gameplay or have great gameplay with poor Web3 integration. Darkest Dungeon balances both by using Web3 only where it adds real value — such as:
Saving top scores on-chain,
Rewarding consistent progress,
Unlocking in-game perks based on on-chain history.
🛠️ 4. Static Experiences in Indie Games Replayability is a challenge. Our procedural dungeon generation ensures no two runs are the same, keeping players engaged through unpredictability, challenge scaling, and randomized loot/enemies.
contract address Deploying contracts using deployer address: 0x6Fd50cdB870061aAa07edD2b91b77FB148D0c686 Deployed Dungeon Token at address: 0x915450637EAB35Cb6D8F6538631120aE7145d902 Deployed Darkest Dungeon at address: 0x99d24B28241596843948952c59a8746030CC3547
Challenges we ran into
Building Darkest Dungeon presented several exciting but tough challenges. Here's how we tackled them:
🧱 1. On-Chain Integration Without Compromising Gameplay Challenge: Integrating smart contracts without disrupting the Base gameplay loop was tricky. We wanted Web3 to feel like a bonus, not a barrier.
Solution: We decoupled gameplay from blockchain actions. Core mechanics run client-side, while score submission and token minting happen after the run, making the Web3 experience smooth and optional for casual players.
🧪 2. Procedural Dungeon Generation Challenge: Creating a dungeon that’s both random and playable (e.g., guaranteed path to stairs, fair enemy distribution) required careful balancing.
Solution: We developed a custom algorithm to generate rooms with path validation logic, ensuring progression without making maps too predictable or too punishing.
🔐 3. Smart Contract Testing & Security Challenge: Making sure scores couldn’t be spoofed or manipulated when minting tokens.
Solution: We implemented basic score verification rules (e.g., timers, thresholds) and used testnets like BaseTestnet to simulate edge cases. We also scoped further protection for future versions, such as server-side validators or ZK-based proofs of score integrity.
💸 4. Gas Efficiency for Score Minting Challenge: Storing every score detail on-chain was too gas-intensive.
Solution: We optimized by storing only essential metadata (e.g., final score, timestamp, player address) and pushing other data to off-chain storage (like IPFS, for future updates).
🧰 5. Tooling Across a Monorepo Challenge: Managing a Turborepo with multiple apps (apps/web, smart contracts, shared assets) led to compatibility issues with tools like Vite, Foundry, and RainbowKit.
Solution: We modularized the repo using consistent pnpm workspaces and synced environment variables across layers. Careful dependency management helped us avoid version mismatches and build errors.
📱 6. Wallet UX for Testnets Challenge: Some users had trouble interacting with Base Testnet wallets due to network setup and lack of faucet availability.
Solution: We provided a guided UI for connecting wallets and added fallback logic for unsupported networks. We also manually funded testers with testnet BaseEth to streamline their experience.
About the founder
Building on Base from India