130 lines
4.8 KiB
Markdown
130 lines
4.8 KiB
Markdown
# 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.
|
||
- `DiveUpdate` cohé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 occultant, consoles, commandes,
|
||
éclairage, structure de coque renforcée, conduites, jauges analogiques 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.
|
||
|
||
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/
|