118 lines
6.9 KiB
Markdown
118 lines
6.9 KiB
Markdown
# INTRO-01 — apparition galactique, beta.031
|
||
|
||
Branche `codex/introduction-beta031`. Première proposition jouable demandée le
|
||
14 septembre 2026 : entre **Entrer dans Sanctuary** et le spawn / message
|
||
`helloworld`, l'identité du joueur apparaît dans le vide.
|
||
|
||
## Séquence proposée
|
||
|
||
Durée **29,5 secondes**, indépendante du nombre d'images par seconde.
|
||
La direction demandée s'inspire de la tension et du mystère de l'introduction
|
||
de **Super Metroid**, avec une composition propre à Sanctuary.
|
||
|
||
- 0–2 s : noir profond, grondement lointain et premières traces de profondeur.
|
||
- 2–22,2 s : **un glyphe après l'autre**, au centre. Chaque signe s'approche,
|
||
persiste brièvement, puis traverse le regard avec des rémanences. Les premiers
|
||
durent près de 1,4 s ; les derniers s'enchaînent en environ un quart de seconde.
|
||
Leur lumière augmente, du bleu gris presque noir au blanc froid. Des
|
||
rémanences spectrales cyan et violettes accompagnent les premiers signes.
|
||
- 22,2–28,6 s : les glyphes partent des bords de l'écran et descendent vers le
|
||
centre en tournant. Leurs traces forment les marches d'un escalier en colimaçon
|
||
**vu du dessus**, avec une spirale circulaire continue. Un portail carré grandit au centre
|
||
jusqu’à dépasser les bords : la caméra semble entrer à l’intérieur.
|
||
Sa surface utilise la texture animée native du portail Minecraft.
|
||
- 28,6–29,5 s : la spirale entre dans un **flash blanc**. Le blanc couvre la
|
||
transition réseau et le chargement des chunks, puis s'efface en 1,2 s sur le
|
||
monde prêt : l'ouverture révèle le spawn, sans retour au panorama du menu.
|
||
|
||
Les grands glyphes de la première partie et leurs rémanences adaptent leur
|
||
cadrage à la taille de la fenêtre.
|
||
|
||
L'UUID exact fourni par le serveur conserve ses 128 bits : chaque chiffre
|
||
hexadécimal `0..f` devient une lettre `a..p`, rendue avec la police Minecraft
|
||
`minecraft:alt` (SGA). Tous les signes passent dans leur ordre UUID. Ils ne
|
||
s'accumulent jamais sur une ligne : seul le signe courant et la courte
|
||
rémanence du précédent coexistent avant la spirale. Chacun atteint le centre
|
||
avant le blanc final. Quelques points froids suggèrent la profondeur du vide.
|
||
|
||
Le fond sonore combine l'ambiance de la vallée des âmes, le portail assourdi,
|
||
une écoute lointaine et huit battements de Warden de plus en plus rapprochés,
|
||
puis l’ouverture du portail de l’End. Les sons proviennent de Minecraft **26.3-pre-2**, déjà requis ; aucune
|
||
nouvelle dépendance ou copie de fichier audio vanilla n'est ajoutée. Le mixage
|
||
respecte les volumes **Général / Ambiance**. Dans beta.031, la musique était interrompue pendant
|
||
la séquence. [Beta.061](arrival-mount-beta061.md) déclenche désormais la musique
|
||
à la révélation du portail, puis la conserve jusque dans le monde, sans modifier les réglages. Les ambiances de la cinématique sont arrêtées à la sortie.
|
||
Le voile blanc est abandonné à une déconnexion ou à un écran d’erreur ;
|
||
les menus ne sont pas masqués.
|
||
|
||
**Échap** passe la séquence après la première seconde. Une indication FR/EN
|
||
apparaît en bas après trois secondes. Le flash blanc est unique et progressif,
|
||
sans clignotement répété.
|
||
**`/sanctuary intro`** permet de la revoir à volonté, avec son UUID courant.
|
||
La commande d'aperçu laisse le monde tourner, pour conserver le même mixage
|
||
sonore que l'introduction. Elle se teste depuis un endroit tranquille.
|
||
|
||
## Admission et sauvegardes
|
||
|
||
La bio et la couleur sont validées avant le démarrage. Le serveur garde sa tâche
|
||
de configuration ouverte jusqu'à l'accusé de fin : aucune entité joueur, chute,
|
||
attaque ou annonce `helloworld` pendant l'introduction. Un paquet de fin avant
|
||
la création est ignoré, comme une deuxième soumission pendant la cinématique.
|
||
|
||
L'identité utilise le schéma existant, dont `arrived=false` désigne déjà une
|
||
création qui n'a pas encore rejoint le monde. Après une déconnexion pendant
|
||
l'introduction, la fiche et sa couleur restent acquises, puis l'apparition
|
||
reprend à la connexion suivante. `arrived=true` est toujours écrit à l'arrivée
|
||
effective. Les habitants déjà arrivés ne rejouent pas l'introduction.
|
||
|
||
Deux nouveaux payloads de configuration, `sanctuary:intro_v1` et
|
||
`sanctuary:intro_finished_v1`, accompagnent le contrat existant. Un client ancien
|
||
qui reste compatible avec les autres fonctionnalités peut conserver l'ancien
|
||
parcours ; il ne reçoit pas une cinématique qu'il ne sait pas rendre. Pour tester
|
||
cette proposition, utiliser le client et le serveur beta.031 ensemble.
|
||
|
||
Aucun schéma, paramètre de génération ou chunk n'est modifié. La commande
|
||
d'aperçu n'écrit aucun état de progression.
|
||
|
||
## Vérifications et livraison
|
||
|
||
Les contrôles purs valident les 128 bits de l'UUID, l'ordre et l'accélération,
|
||
la présence d'au plus deux signes dans la première partie, les trajectoires
|
||
circulaires toujours convergentes, l'arrivée des 32 signes au centre avant
|
||
le flash, et la conservation d'une identité interrompue avant son arrivée.
|
||
|
||
Le parcours client natif complet réussit sur un monde Sanctuary neuf, graine
|
||
`42` : validation de fiche, UUID serveur, absence de joueur pendant l'animation,
|
||
paquets prématurés et doublons ignorés, arrivée sous le blanc, effacement sur
|
||
le monde prêt, reconnexion sans répétition, puis relecture par la commande
|
||
réellement saisie dans le chat. La fin est unique et une fermeture inattendue
|
||
n'envoie pas d'accusé de fin. Le serveur conserve son annonce unique.
|
||
|
||
Les dernières retouches de rendu (rémanences, courbe circulaire et portail qui
|
||
remplit l'écran) passent ensuite le parcours graphique court, en français et
|
||
en anglais, avec redimensionnement. Elles ne modifient pas l'admission ni le
|
||
raccord du flash déjà testé. Les captures sont inspectées dans
|
||
`build/intro031-evidence/`. Logs : `build/intro031-spiral-client.log` et
|
||
`build/intro031-final-visual.log`.
|
||
|
||
`./gradlew check build assemblePack -PsanctuaryFocusedTests=progression,lights`
|
||
réussit sur le code final : **9 tests serveur**, contrôles purs du projet,
|
||
construction et vérification des manifestes passent.
|
||
|
||
Export local : [Sanctuary-beta.031.mrpack](../build/Sanctuary-beta.031.mrpack),
|
||
**4 810 444 octets**. Les **1 278 classes** du JAR embarqué sont
|
||
identiques au build ; aucune classe de test n'est distribuée. La comparaison
|
||
avec beta.030 borne les changements à l'introduction et à son admission.
|
||
Les instructions des anciens payloads Action/Names/Snapshot restent identiques
|
||
(seules leurs lignes de debug se déplacent). Les classes Demeure/JEI et
|
||
l'archive beta.030 sont préservées.
|
||
|
||
SHA-256 MRpack : `c7161e024d84ff9709ccaea8f940b79d5f8adba743ecf5f7759c273424297717`.
|
||
Reçu : `build/intro031-artifact.json` ; build : `build/intro031-check.log`.
|
||
Le canal publié et l'instance Prism personnelle ne sont pas modifiés par cet
|
||
export d'essai.
|
||
|
||
L'introduction reste une proposition à affiner à l'écoute et en partie réelle.
|
||
Aucun essai Windows ni connexion à un serveur distant n'est revendiqué.
|
||
Aucune sauvegarde personnelle n'a servi aux essais.
|