207 lines
13 KiB
Markdown
207 lines
13 KiB
Markdown
# 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 40–50 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.1–26.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.
|