--- tags: Sequencer-dungeon-spec --- [toc] # Specification of Dungeon on Sequencer (Main) - Starting date: 21-April-2023 - Source code: [dungeon](https://gitlab.com/marigold/kernel-gallery/-/tree/dungeon-game/10_dungeon). ## Goal Having an interactive game of dungeon adventure that shows how to build an realistic service on top of Tezos Smart Rollup. ## Deliverables - Dungeon binaries - WASM kernel - Sequencer/low latency - dApp (react; as the client) - Documentation - README - User manual - Blog post ## Game itself ### User story - As a user, I can connect with my wallet to be a player. - As a player, I can walk on floor, but I cannot walk through wall. - As a player, I can pick up item that on the floor. - As a player, I can exchange item with other player. ### Game objects 1. Player: player moves on floor: left, right, up, down. Player can pick up item and store it in inventory. 2. Item: items place on floor and can be picked up. 3. Floor: player and item on floor. 4. Wall: player and item cannot place on wall. 5. Map 6. Inventory: store items, show items. 7. Connect to wallet: 5.1. One player per address. 5.2. Player should be able to exchange items between each others. ## Specification The goal of [the sequencer](https://hackmd.io/dlix1pGmTRm61ODH3kkDzw?view) is to produce a sequence of operations. It means the sequencer will have the ability to reorder the sequence of operations or to censor operations. We are using this [Sequencer source code](https://gitlab.com/marigold/pistachio/-/tree/pilou/sequencer). ### WASM Kernel Let's define all of these features in a single file `lib.rs` in the beginning. a. [Storing the Dungeon Map](https://hackmd.io/cNjIsEpXTIyaVxUSEOS75w) b. [Adding the Adventurer](https://hackmd.io/58vFHzOFRriUo_whgbIHtg) c. [Add Inventory and Power-ups](https://hackmd.io/iPI_tVcNR3KxpzFzfGbKlw?both) d. [Interact with the tezos-smart-rollup kernel](https://hackmd.io/bTy9Xww1Thm6xnvxCvxwog?both) e. [Optimizes the implementation](https://hackmd.io/B_KPllVoTkGiHNEpYcFxTQ) Split the `lib.rs` into modules. f. [Connect player with wallet (without verification)](https://hackmd.io/gKZlr2deTyqSrHOkPiYY_A) g. [Transfer items (drop item)](https://hackmd.io/9JhErqRZR-eupfeoA6rfeQ) h. [Market place (buy and sell item)](https://hackmd.io/Ch8fy2zhSOOg7WbJoCmcEQ) ### [Setting up the dungeon with Sequencer](https://hackmd.io/vE26fnd7Remqa-UOlailDw) ### [Front-end](https://hackmd.io/ZarzIeZSQ4-9EoEq8v1EcA) <!--------------------------------------------------------------> ## Reference [Work breakdown](/aAbVdRT2RCivTnZlM-LXrg)