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