49 lines
3.0 KiB
Markdown
49 lines
3.0 KiB
Markdown
<!-- file: README.md -->
|
||
<!-- version: 58 -->
|
||
|
||
# games.sasedev
|
||
|
||
Workspace expérimental puis productif pour des jeux multiplateformes principalement développés en Rust, avec une première orientation Android et un socle SDL3.
|
||
|
||
## Principes de départ
|
||
|
||
- un seul workspace Cargo ;
|
||
- toutes les crates Rust sous `crates/` ;
|
||
- générations de moteur coexistantes sous `crates/engines/engine-vN-*` ;
|
||
- une ou plusieurs crates par jeu sous `crates/games/` ;
|
||
- assets hors des crates sous `assets/` ;
|
||
- `assets/common/` pour les ressources mutualisées et un répertoire par jeu pour les ressources spécifiques ;
|
||
- frontend Android sous `Android/`, en Java, avec une partie commune et une partie spécifique par jeu ;
|
||
- Android de production orienté SDL3 natif/Java/JNI ; Tauri Android reste un POC de référence et non un template de jeu ;
|
||
- hosts navigateur directs sous `Web/`, avec frontend Vite/TypeScript séparé des adapters Rust/WASM ;
|
||
- monétisation optionnelle et spécifique à chaque plateforme/distribution ;
|
||
- runner Desktop natif SDL3 par défaut, avec variante Tauri uniquement si un besoin futur la justifie ;
|
||
- documentation sous `docs/` ;
|
||
- règles normatives indexées par `RULES.md` ;
|
||
- livraison par archives delta versionnées ;
|
||
- versionnement SemVer avec labels de maturité normalisés.
|
||
|
||
## Baseline
|
||
|
||
Version stable de référence : `0.3.3`.
|
||
|
||
Version candidate active : `0.3.4-alpha.4`. `0.3.2` reste différée.
|
||
|
||
La stable `0.3.3` livre la voie Android SDL3 native multi-ABI : build Gradle/Cargo sans orchestrateur Python, APK Debug universal et AAB Release pour `arm64-v8a`, `armeabi-v7a`, `x86_64` et `x86`, `minSdk 21` réellement fumé et compatibilité pages mémoire 16 KB validée sur les ABI 64 bits. `0.3.4-alpha.4` consolide la baseline realtime validée en `alpha.3.fix.1` avec une configuration WebSocket explicite : limite message/frame de 1 MiB, write buffer cible 64 KiB et maximum 2 MiB, deadlines connect/send/close de 10/5/2 s, rejet Text, dépassements de taille, handshake silencieux et fermeture abrupte couverts par des tests locaux bornés.
|
||
|
||
Les deux premiers jeux sont des POC structurels : `game-reflex-poc` et `game-snake-poc`. Ils existent d'abord pour valider les frontières du workspace, le moteur, les assets et le packaging multiplateforme.
|
||
|
||
## Entrées documentaires
|
||
|
||
- [`RULES.md`](RULES.md)
|
||
- [`ROADMAP.md`](ROADMAP.md)
|
||
- [`CHANGELOG.md`](CHANGELOG.md)
|
||
- [`docs/000-README.md`](docs/000-README.md)
|
||
- [`docs/architecture/001-WORKSPACE_ARCHITECTURE.md`](docs/architecture/001-WORKSPACE_ARCHITECTURE.md)
|
||
- [`docs/objectives/001-PROJECT_OBJECTIVES.md`](docs/objectives/001-PROJECT_OBJECTIVES.md)
|
||
- [`docs/games/001-GAME_CLASSIFICATION.md`](docs/games/001-GAME_CLASSIFICATION.md)
|
||
|
||
## Diagnostics et tests
|
||
|
||
Les socles transverses `crates/common/game-assets-lib` et `crates/common/game-logging-lib` fournissent respectivement la résolution logique des assets et le tracing commun. Les tests unitaires résident hors `src/` sous `unit_tests/`; les tests d’intégration/environnement résident sous `tests/`.
|