trictrac/doc/backlog.md

94 lines
2.1 KiB
Markdown
Raw Normal View History

2022-11-30 17:59:47 +01:00
# Backlog
2022-12-13 17:55:32 +01:00
tools
- config clippy ?
- bacon : tests runner (ou loom ?)
2022-12-01 18:04:03 +01:00
## Rust libs
cf. https://blessed.rs/crates
2022-12-13 17:55:32 +01:00
- cli : https://lib.rs/crates/pico-args ( ou clap )
2022-12-01 18:04:03 +01:00
- reseau async : tokio
- web serveur : axum (uses tokio)
- https://fasterthanli.me/series/updating-fasterthanli-me-for-2022/part-2#the-opinions-of-axum-also-nice-error-handling
2022-12-13 17:55:32 +01:00
- db : sqlx
- eyre, color-eyre (Results)
- tracing (logging)
- rayon ( sync <-> parallel )
- front : yew + tauri
- egui
2022-12-01 18:04:03 +01:00
2023-09-30 17:43:04 +02:00
- https://docs.rs/board-game/latest/board_game/
2022-12-01 18:04:03 +01:00
## Others
- plugins avec https://github.com/extism/extism
## Backgammon existing projects
2024-01-05 17:47:26 +01:00
* go : https://bgammon.org/blog/20240101-hello-world/
2024-01-09 17:58:10 +01:00
- protocole de communication : https://code.rocket9labs.com/tslocum/bgammon/src/branch/main/PROTOCOL.md
2024-01-05 17:47:26 +01:00
2022-11-30 17:59:47 +01:00
* lib rust backgammon
2024-01-09 17:58:10 +01:00
- https://github.com/carlostrub/backgammon
2022-11-30 17:59:47 +01:00
- https://github.com/marktani/backgammon
* network webtarot
* front ?
2023-12-30 21:53:17 +01:00
## Specs
2024-01-12 17:02:18 +01:00
## Représentation des cases :
2023-12-30 21:53:17 +01:00
2024-01-12 17:02:18 +01:00
cf. ./blog/game-state-notation.md
2024-01-04 14:26:48 +01:00
13 14 .. 23 24
12 11 .. 2 1
2024-01-12 17:02:18 +01:00
Encodage efficace : https://www.gnu.org/software/gnubg/manual/html_node/A-technical-description-of-the-Position-ID.html
2024-01-09 20:50:52 +01:00
2024-01-04 14:26:48 +01:00
#### State data
2024-01-09 20:50:52 +01:00
* piece placement -> 77bits (24 + 23 + 30 max)
2023-12-30 21:53:17 +01:00
* dames
2024-01-09 20:50:52 +01:00
* active player -> 1 bit
* step -> 2 bits
2023-12-30 21:53:17 +01:00
* roll dice
* mark points (jeton & fichet) & set bredouille markers (3rd jeton & pavillon)
* move pieces
2024-01-20 21:40:06 +01:00
* dice roll -> 6bits
2024-01-09 20:50:52 +01:00
* points 10bits x2 joueurs = 20bits
* points -> 4bits
* trous -> 4bits
* bredouille possible 1bit
* grande bredouille possible 1bit
2024-01-20 21:40:06 +01:00
Total : 77 + 1 + 2 + 6 + 20 = 105 bits = 17.666 * 6 -> 18 u32 (108 possible)
2024-01-27 18:53:48 +01:00
## TODO
### Epic : jeu simple
Store
- gestion des évènements
- déplacement de dames
- jet des dés
- déplacements physiques possibles
- déplacements autorisés par les règles (pourront être validés physiquement si jeu avec écoles)
- calcul des points automatique (pas d'écoles)
Server
-
Client
- client tui (ratatui)
- client desktop (bevy)
- client web
### Epic : jeu avec écoles
- déplacement de fiches points : validation physique
- évenements de déclaration d'école & contre école
### Epic : Bot