Files
sanctuary-beta/docs/progression-beta003.md
2026-09-15 09:29:11 +02:00

207 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROG-01 — Commencer la progression
Discussion du 12 septembre 2026. Branche `codex/progression-beta003`.
**Premier lot livré localement le 13 septembre 2026 en beta.003.**
Le [contrat de données et d'activation](progression-beta003-contract.md) précède
le code ; les [notes de livraison](progression-beta003-release.md) distinguent
le lot jouable de la vision et des réglages encore ouverts.
## Direction retenue
Sanctuary est un jeu ludergent : les différences de connaissances, de moyens,
de lieux et d'intérêts peuvent faire naître des relations, des projets puis des
organisations. La progression doit soutenir ces possibilités. Les métiers,
factions et parcours sociaux ne sont pas des classes imposées à la création.
Le **Blocodex est la nature diégétique des menus et du GUI**. Son langage visuel
est une tablette avec un grand écran et des boutons ; il se métamorphose selon
le contexte et les aptitudes disponibles. Il ne nécessite pas un item-tablette
à fabriquer ou à porter. Sa matérialisation en objet serait un autre chantier.
Le premier lot utilise quatre onglets. Dans Progression, les six compétences
occupent la colonne gauche : Health, Hunger, Mining, Building, Breath, Inventory.
Les aptitudes forment une liste défilante indépendante à droite. Le créateur a
choisi de réserver la place de Mining, Building et Inventory dans beta.003,
avec la mention « À venir » ; leurs mécaniques de 26.2 attendent le prochain ticket.
## Décisions de jeu
| Sujet | Décision de l'auteur |
| --- | --- |
| Départ | Trois cœurs, trois icônes de nourriture et trois bulles de respiration. |
| Achats | L'XP et les niveaux permettent d'acheter des améliorations. Courbe et prix détaillés à équilibrer. |
| Compétences | Progressions à remonter lors d'un recommencement du personnage. Le classement exact des améliorations reste à établir. |
| Aptitudes | Déblocages conservés lors de ce recommencement. |
| Mort ordinaire | Les compétences et aptitudes acquises restent. L'XP non dépensée quitte le joueur ; une part importante éclate en orbes récupérables par lui ou par d'autres joueurs. |
| Quantité d'XP laissée | Viser une récupération substantielle, par exemple l'équivalent d'environ 4050 niveaux pour un personnage qui en avait 60. Aucun taux exact arrêté ; calculer et équilibrer en points d'XP. |
| Prestige / New Game Plus | Recommencement distinct de la mort ordinaire. Déclenchement, périmètre et récompenses encore ouverts. |
| Carte | Minimap, grande carte et marqueurs sont trois aptitudes distinctes. Les découvertes se transmettent de joueur à joueur. |
| Recettes | Séparer accès au catalogue et révélation des recettes. La fabrication reste libre si le joueur sait composer la recette. |
| Advancements | Priorité aux accomplissements Minecraft. Ceux de Sanctuary portent surtout les événements et jalons du serveur ; ils peuvent débloquer les prochaines expansions. |
| Catalogue Blocodex | Viser les blocs, items et entités. Les manques peuvent susciter des pistes de découverte. Le socle actuel ne couvre encore que les blocs. |
| Rythme du monde | Temps réel, visiteurs et activités donnant des occasions de découverte, d'échange et de jeu collectif. Quêtes, concours, courrier, Gazette et ordinateurs restent à concevoir par lots. |
Les précédentes propositions de minage initial lent, portée, inventaire d'une
à six rangées et coûts `1, 2, 4, 8, 16, 32, 64` restent des références à tester.
Elles ne forment pas un équilibrage accepté de beta.003. La relation entre
prestiges, anciens « slots de factions » et nouvelles « charges de faction »
reste également à préciser.
Le tutoriel avec un budget limité d'XP de premières découvertes est une
**proposition de travail**. Son montant et sa conservation au prestige ne sont
pas encore des décisions de l'auteur. Une récompense initiale répétable à
chaque reset permettrait de farmer ce budget et devra être évitée si cette
proposition est retenue.
## HELLO_WORLD et interface
La première connexion à un serveur passe par la création de la fiche avant
l'apparition dans le monde et avant l'annonce d'arrivée. L'écran emploie les
widgets Minecraft : pseudo et skin présentés, bio saisissable, couleur choisie
parmi les couleurs disponibles. Le caractère éditable du pseudo ou du skin
n'a pas été défini ; leur présence sur la fiche ne promet pas un éditeur.
Les couleurs emploient des boutons Minecraft classiques ; seuls les glyphes
SGA du code sont colorés. L'infobulle conserve l'hexadécimal lisible.
Le serveur initialise une palette personnalisée depuis la graine du monde,
avec **20 couleurs par défaut** et une taille configurable. La palette est
extensible ; les habitants conservent leur couleur. L'extension n'altère donc
aucune attribution antérieure. Les couleurs ne sont pas limitées aux teams
vanilla. Une reconnexion retrouve la fiche sans répéter la création.
Après validation, le serveur adresse le message `helloworld {pseudo}`, par
exemple `helloworld poupoutain`. Le prototype adresse cet accueil au serveur, une seule fois par habitant.
Les droits d'habitant décrits par la Constituante commencent au HELLO_WORLD
et ne sont pas achetés avec de l'XP.
Le menu principal prend l'identité Sanctuary, avec un resource pack dédié et
les entrées principales Single Player, Multiplayer et Friends ; Realms est
retiré. Le menu Échap doit donner accès à Statistics, Advancements, Progression,
à la carte et aux autres fonctions disponibles. La disposition se recompose
à mesure des déblocages et selon la taille d'écran. Le bas du menu accueille
les charges de faction et le solde du coffre-fort, ce dernier en bas à gauche.
Ces indicateurs demandent leurs véritables systèmes serveur avant affichage.
Le bouton de l'inventaire à la place du livre de recettes, B et les accès du
menu Échap sont les **accès proposés** à cette interface commune. Leur mise en
page reste à éprouver ; il ne faut pas créer trois applications concurrentes.
## Aptitudes déjà demandées
| Aptitude | Intention | Détail encore ouvert |
| --- | --- | --- |
| Noms des mobs | Afficher les noms des créatures. | Registres de noms et coût ; l'ancienne version fournit une référence procédurale. |
| Vie des mobs | Un overlay révèle les points de vie. | Le geste évoqué semble être l'accroupissement ; cible, portée et présentation à préciser avant ce lot. |
| S'asseoir | Aptitude débloquée de base, disponible dès l'arrivée sans achat ni coût d'XP. | Geste et positions admises ; l'ancien double accroupissement reste une référence. |
| Minimap | Accès à la petite carte. | Contrôle des accès et compatibilité Xaero. |
| Grande carte | Accès à la carte plein écran. | Contrôle des accès et partage des découvertes. |
| Marqueurs | Utilisation des marqueurs cartographiques. | Création, transmission et connaissances nécessaires. |
| Catalogue de recettes | Consultation des recettes révélées. | Intégration JEI et présentation Blocodex. |
Enchantement, alchimie, waystones, noms, shop, pouvoir actif du familier et
autres déblocages retrouvés en 26.2 sont des candidats historiques ; leur
présence dans l'ancien code ne décide ni leur reprise ni leur prix.
## Histoire commune, ciel et site
Le ciel commence sans étoiles. La première arrivée d'un habitant crée son
étoile ; les advancements Minecraft réalisés par chaque habitant enrichissent
le ciel partagé, avec des étoiles adjacentes selon l'accomplissement. La
rotation stellaire doit accomplir un tour en sept jours réels. Organisation
par habitant ou par advancement, géométrie des groupes, quantité d'étoiles
adjacentes et traitement des cycles restent ouverts.
Le mod et le site doivent partager les identités et le sens des faits :
habitant, personnage/cycle, faction, lieu, découverte, transmission,
accomplissement, expansion, document et étoile. Le bouton Historique donnera
accès aux événements pertinents, notamment ceux de Demeure et de la carte.
La connexion au Web doit permettre des conséquences dans les deux sens, avec
validation des changements du jeu par le serveur.
Certaines révélations ouvrent un contenu Web pour tous ; les connaissances
personnelles gardent leurs règles de transmission. La portée de publication
appartient donc à chaque événement. Les solutions d'énigmes et détails de la
quête finale ne sont pas inclus dans ce ticket de socle.
L'actuel [historique matériel](blocodex.md) est agrégé par jour, sans auteur ni
lieu. Il ne permet pas de reconstruire la timeline demandée. Le futur journal
devra conserver les identifiants, participants, date, contexte et causalité
utiles, éviter les doublons après reprise et fonctionner sans disponibilité
permanente du site. Le contrat d'événements détaillé reste à écrire.
## Audit des mods communautaires
Lecture de l'API publique Modrinth le **12 septembre 2026**, avec filtres exacts
`loaders=["fabric"]` et `game_versions=["26.3-pre-2"]`. Le pack courant ne
référence que Fabric API en dépendance externe. Cet audit vérifie des
déclarations de distribution ; il ne constitue pas un essai d'exécution et
n'exclut pas une distribution différente sur un autre canal.
| Projet | Fichiers déclarés pour la cible exacte | Dernière publication Fabric observée |
| --- | --- | --- |
| JEI | 0 | `30.32.0.215`, Minecraft 26.2 |
| Xaero's Minimap | 0 | `fabric-26.2-26.5.0`, Minecraft 26.2 |
| Xaero's World Map | 0 | `fabric-26.2-1.46.0`, Minecraft 26.2 |
| Sodium | 0 | `mc26.3r1-0.9.2-beta.1-fabric`, Minecraft 26.3-rc-1 |
| Iris | 0 | `1.11.3+26.1-fabric`, Minecraft 26.126.1.2 |
Sources API interrogées : [JEI](https://api.modrinth.com/v2/project/jei/version?loaders=%5B%22fabric%22%5D&game_versions=%5B%2226.3-pre-2%22%5D),
[Minimap](https://api.modrinth.com/v2/project/xaeros-minimap/version?loaders=%5B%22fabric%22%5D&game_versions=%5B%2226.3-pre-2%22%5D),
[World Map](https://api.modrinth.com/v2/project/xaeros-world-map/version?loaders=%5B%22fabric%22%5D&game_versions=%5B%2226.3-pre-2%22%5D),
[Sodium](https://api.modrinth.com/v2/project/sodium/version?loaders=%5B%22fabric%22%5D&game_versions=%5B%2226.3-pre-2%22%5D),
[Iris](https://api.modrinth.com/v2/project/iris/version?loaders=%5B%22fabric%22%5D&game_versions=%5B%2226.3-pre-2%22%5D).
Le premier lot natif peut avancer indépendamment. L'intégration de chaque mod
demande ensuite un fichier compatible, ses dépendances, puis des essais de
ses accès et de sa coexistence avec Sanctuary. Un changement de version
Minecraft constitue un lot distinct avec vérification du monde existant.
## Premier résultat jouable retenu pour beta.003
**Parcours : créer sa fiche → arriver → ouvrir le Blocodex → acheter une
première amélioration et Noms → retrouver cette progression après mort et reconnexion.**
1. Construire le HELLO_WORLD et la mémoire d'habitant : fiche, couleur stable,
reprise après interruption et message d'accueil unique.
2. Donner une première forme commune au Blocodex et au menu Échap, en
conservant les connaissances de blocs déjà disponibles. La faculté de
s'asseoir fait partie des aptitudes acquises dès l'arrivée.
3. Appliquer le départ 3/3/3, présenter les améliorations et permettre un
premier achat serveur. Le premier rang de vie à **1 niveau** est le réglage
de prototype proposé depuis l'ancienne courbe, à tester en jeu.
4. Enregistrer les premiers faits nécessaires : arrivée initiale et achat,
consultables dans l'historique. Définir leur contrat avant l'écriture.
Ce parcours éprouve ensemble identité, interface, achat et persistance. Il
n'exige pas de créer les factions, la boutique, les visiteurs ou le site.
La demande du 13 septembre inclut dès ce lot **Noms des mobs**, importé de
26.2 avec listes serveur personnalisées par type. L'overlay de vie des mobs
reste ultérieur. S'asseoir n'est pas un achat de progression. L'intégration
des cartes et recettes suit la disponibilité des dépendances.
### Vérification attendue
- Sur un serveur de développement neuf, aucune apparition ni annonce
d'arrivée avant validation de la fiche ; interruption et reconnexion sûres.
- Deux créations concurrentes ne prennent pas la même couleur. Étendre la
palette conserve les couleurs existantes.
- Un nouvel habitant peut s'asseoir sans XP ni achat d'aptitude.
- Départ 3/3/3 cohérent entre serveur, effets de jeu et affichage. Vérifier
aussi alimentation, respiration et récupération de vie avec ces capacités.
- L'achat retire le coût annoncé une seule fois, refuse un solde insuffisant,
applique le rang et le conserve après respawn, reconnexion et redémarrage.
- Le Blocodex existant reste lisible ; les nouvelles interfaces ont leurs
libellés FR/EN et restent utilisables aux différentes échelles de GUI.
- Historique sans double arrivée ni double achat après reprise.
Le prototype laisse 70 % des points d'XP non dépensés en orbes vanilla,
récupérables par tous, avec `deathXpFraction` configurable. `keepInventory`
conserve son comportement. Ce réglage reste à équilibrer en jeu.
L'implémentation est vérifiée dans des mondes de développement neufs.
L'adoption d'une partie existante suit le contrat additif lié en tête ; aucune
installation personnelle n'est modifiée par cette livraison.
Pour livrer du code : `./gradlew check build`, puis `./gradlew assemblePack`
pour la distribution, avec les versions mod/pack incrémentées en `beta.003`.
Les résultats et le MRpack local sont consignés dans les notes de livraison.