@andreabiagini5/applicazioni-e-servizi-web-project
Version:
Project for Applicazioni e Servizi Web.
79 lines (46 loc) • 2.07 kB
Markdown
# brainstorming 240225
Consegna proposta 21 Aprile
## DDD
**Domain** : Sandpiles
**Contexts** :
- Account Management
- Game Experience
- PVP
- PVE
- Matchmaking
- Game History
## Glossary
### User: a human interacting with the application through the UI
Player: a User interacting with the sandpiles game.
Login: access the application with a given account.
Register: the creation of a new account.
### Game Board: square field divided into square Cells
Cell: a tile of the Game Board.
Pile: a pawn on a Cell owned by a Player, with a number of Grains.
Grain: fundamental unit of a Pile.
Owner of a Pile: the player who owns the pile.
Game: a sequence of Turns on the Game Board ending when the Win Condition is satisfied for one player.
Win Condition: the Game Board state where all Piles are owned by one player.
Turn: a player move and its eventual collapses.
Move: interaction by which a player increases the number of grains in an owned pile by 1.
Collapse: the event of a pile reaching 4 grains. This event will:
- remove the current pile
- let the adjacent cells be conquered by the owner of the collapsing pile
Conquer: the event of a cell where:
- if empty, a pile with 1 grain is placed
- if not empty, the pile is incremented by 1 and, if the owner is different, the ownership is changed to the conqueror (i.e. the player who made the move)
### Clock
Elo Ranking: ranking rappresenting the strenght of a given player.
Matchmaking: the algorithm responsible for selecting players to face each
other among the players available.
## Work division
- Biagini: Game Experience
- Gurioli: Account Management
- Randacio: Matchmaking, PVE, Game History
## Docker deploy
To execute the system via Docker Compose, it is necessary to create the file
`src/server/secrets/mongo_root_password.txt`. Additional instructions are
provided in the `secrets` directory.
## MongoDB verbosity
To display MongoDB logs, change the `MONGODB_COMMAND` variable to `mongod`.
To hide logs, use the `mongod --config /etc/mongod.conf` command instead.