---
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)