About the Tech
Dungeons & Moles is a fully on-chain game built on Solana. Every aspect of gameplay — combat resolution, map generation, item drops — is deterministic and executed on-chain, making the entire game state verifiable and tamper-proof.
Fully On-Chain & Deterministic
All gameplay logic runs on Solana programs. Combat outcomes, map layouts, enemy placement, and loot tables are resolved deterministically from on-chain seeds. There is no off-chain server making gameplay decisions — the blockchain is the source of truth.
MagicBlock Ephemeral Rollups
To deliver fast, responsive gameplay without the latency of mainnet transactions, Dungeons & Moles uses MagicBlock Ephemeral Rollups. During a session, game state is delegated to an ephemeral rollup where transactions confirm in milliseconds. Once the session ends, the final state is settled back to Solana mainnet.
Session-Based Architecture
When a player enters a run, they sign a single transaction that creates a session key. This session key is authorized to submit all in-game transactions (moves, item usage, POI interactions) automatically on the player's behalf. The result is:
Seeded Maps & Fog of War
Maps are generated from deterministic seeds stored on-chain. Each run produces a unique tile layout, enemy placement, and POI distribution based on the seed. Fog of war hides unexplored tiles from the player.
Client & Platform
On-Chain Programs
The game's logic is split across several Solana programs, each responsible for a distinct domain:
| Program | Responsibility |
|---|---|
| gameplay-state | Core game state, run lifecycle, turn execution |
| session-manager | Session key creation, authorization, and cleanup |
| poi-system | Point-of-interest logic (shops, forges, shrines) |
| map-generator | Deterministic map and tile generation from seeds |
| player-inventory | Item pool management, equip/unequip, NFT validation |
| player-profile | Campaign progress, unlocks, skins, statistics |
Shared Crates
Several Rust crates are shared across programs to keep logic consistent and avoid duplication:
| Crate | Responsibility |
|---|---|
| combat-system | Turn-based combat resolution, damage calculation, status effect processing |
| boss-system | Boss encounter logic, phase transitions, special attacks |
| field-enemies | Field enemy definitions, tier scaling, stat tables, gold drops |