5.4 KiB
Ransom’s Wake
La première tranche de pilotage de la verticale est désormais la scène
principale. Nouvelle partie ouvre un court parcours sous-marin en vue cockpit :
le clavier pilote une coque inertielle, la souris déplace seulement le regard et
les snapshots du domaine alimentent les instruments physiques à 60 Hz.
Les POC A et B restent disponibles comme références jetables ; aucun code de
production sous game/ n'en dépend.
Fondations de production
- Renderer Forward+ unique.
- Règles de plongée résolues selon améliorations, difficulté et accessibilité.
- Oxygène, batterie, coque, pression, alertes et éjection possédés par
DiveSession. - Contrats séparés pour tick, télémétrie, collisions, outils et retour.
DiveUpdatecohérent composé d'un snapshot et d'événements typés.- Acteur sous-marin de production derrière des contrats de commande et de télémétrie typés.
- Habitacle 3D solidaire de la coque : hublot à cloison annulaire bombée, consoles, commandes, éclairage, structure de coque renforcée, conduites, jauges analogiques graduées, tableau d'instruments structuré et emplacement réservé au sonar.
- Instruments physiques à valeurs réelles ; le HUD reste réservé aux alertes, à l'éjection et aux états terminaux.
- Pause qui suspend les ticks, confirmations de sortie et premier remappage avec détection des conflits.
- Première boucle sonar de production : acquisition bathymétrique typée, relief révélé progressivement et texture unique partagée entre cockpit et grande vue.
La tranche sonar reste en cours : la calibration face au faisceau frontal et la décision d'acquisition autoritaire ne sont pas encore terminées.
Prototypes validés
Le POC A validé couvre le pilotage et la survie. Le POC B validé couvre un sonar manuel reconstruisant progressivement une carte bathymétrique 3D continue.
POC A — périmètre validé
- Pilotage 3D inertiel depuis l'habitacle, derrière un hublot circulaire.
- Oxygène consommé en continu.
- Batterie consommée uniquement sous propulsion.
- Profondeur nominale, zone critique et rupture de coque.
- Dégâts de collision.
- Alarmes visuelles et sonores.
- Estimation du coût de retour.
- Éjection volontaire.
- Parcours whitebox en trois étapes.
Le sonar, les épaves, le commerce, la narration et les sauvegardes de campagne sont volontairement absents.
POC B — périmètre validé
- Zone de calibration avec fond sculpté, passage et objet métallique.
- Scan manuel de 2,5 secondes, révélé du proche vers le lointain.
- Surface bathymétrique continue, ombrée et colorée selon l'altitude.
- Portée de 95 mètres sur une ouverture de 76°.
- Petit écran de cockpit et grande vue partageant le même rendu.
- Ancien scan remplacé progressivement par le nouveau.
Prérequis
- Godot 4.7.2.
Lancer
Depuis le dossier du projet :
godot --editor --path .
Ou lancer directement la fondation de production :
godot --path .
Pour relancer les POC validés :
godot --path . --scene res://scenes/poc_a.tscn
godot --path . --scene res://scenes/poc_b.tscn
Contrôles de la tranche de production
| Touche | Action |
|---|---|
| W / S | Avancer / reculer |
| A / D | Tourner à gauche / droite |
| Espace / Ctrl | Monter / descendre |
| Maj | Forte poussée |
| Souris | Déplacer le regard dans le hublot uniquement |
| X maintenu | Éjection volontaire |
| R | Recentrer le regard |
| F | Émettre un relevé sonar |
| Tab | Agrandir / réduire le sonar |
| Échap | Pause / retour |
Les commandes propres aux POC restent décrites dans leurs documents respectifs.
Tests
Barrière qualité complète obligatoire :
bash scripts/quality_gate.sh
Elle vérifie les frontières d'architecture, charge tous les scripts et scènes, puis exécute les tests unitaires et d'intégration.
Le workflow Gitea Actions .gitea/workflows/quality-gate.yml exécute cette
même commande sur chaque push vers main, chaque pull request visant main et
à la demande. Il requiert un runner natif portant le label
archlinux-x86_64:host, avec bash, curl, git, node, rg, sha512sum et
unzip installés. Godot 4.7.2 est vérifié puis conservé dans le cache du compte
runner afin d'éviter un téléchargement à chaque exécution. Après sa première
exécution réussie, le contrôle Quality Gate doit être rendu obligatoire dans
la protection de la branche main.
Commandes individuelles pour diagnostic :
godot --headless --path . --script res://tests/run_tests.gd
godot --headless --path . --script res://tests/unit/run_dive_foundation_tests.gd
godot --headless --path . --script res://tests/unit/run_vehicle_application_tests.gd
godot --headless --path . --script res://tests/integration/run_vertical_slice_foundation.gd
Test d'intégration du POC B :
godot --headless --path . --script res://tests/run_poc_b_integration.gd
Documents
- Plan général : docs/GAME_DESIGN_PLAN.md
- Objectifs et protocole du POC : docs/POC_A.md
- Bilan technique du POC A : docs/POC_A_TECHNICAL_BASELINE.md
- Objectifs et protocole du POC B : docs/POC_B.md
- Bilan technique du POC B : docs/POC_B_TECHNICAL_BASELINE.md
- Barrières techniques de production : docs/ENGINEERING_GUARDRAILS.md
- Cadrage technique de la verticale : docs/VERTICAL_SLICE_TECHNICAL_PLAN.md
- Design system UI de la verticale : docs/UI_DESIGN_SYSTEM.md
- Propositions visuelles UI : Design-Proposal/README.md
- Décisions d'architecture : docs/adr/