Files
games/docs/development/001-DESKTOP_RUNNERS.md
2026-09-16 00:46:04 +02:00

1.7 KiB

Runners Desktop de développement

Objectif

Chaque jeu reste d'abord une crate lib contenant son gameplay et ses états. Une crate bin Desktop séparée consomme cette bibliothèque afin de lancer rapidement le jeu sur la machine de développement sans déployer systématiquement sur un émulateur ou un téléphone Android.

Arborescence

crates/
├── games/
│   ├── game-reflex-poc/
│   └── game-snake-poc/
└── apps/
    ├── game-reflex-poc-desktop/
    └── game-snake-poc-desktop/

La crate binaire ne duplique ni règles ni état de jeu. Elle fournit uniquement l'entrée exécutable et, à terme, la composition Desktop du moteur et des services plateforme.

Responsabilités

La crate lib du jeu porte gameplay, règles, état, progression et interfaces nécessaires. Le runner Desktop porte main, initialisation Desktop, sélection de l'implémentation plateforme et lancement du runtime SDL3.

Limite

Le runner Desktop ne remplace pas les tests Android. Lifecycle, JNI, tactile réel, Ads, Billing, haptique, permissions et APIs Play nécessitent une validation sur la cible Android.

Baseline 0.1.0-0-pre.3

Les deux runners utilisent désormais le FixedStepRunner commun et des InputState logiques pour exercer la première boucle moteur indépendante de SDL. Ils déclarent explicitement la monétisation désactivée pour leur smoke Desktop.

La traduction clavier/souris vers InputState, la fenêtre et le rendu SDL3 restent planifiés pour 0-pre.4.

La possibilité d'une variante Desktop Tauri est documentée séparément dans 002-DESKTOP_DISTRIBUTIONS.md et reste optionnelle.