- GDScript 68%
- Python 19.7%
- JavaScript 11.3%
- Shell 1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| assets | ||
| docs | ||
| scenes | ||
| scripts | ||
| tests | ||
| tools | ||
| .gitignore | ||
| CLAUDE.md | ||
| export_presets.cfg | ||
| icon.svg | ||
| icon.svg.import | ||
| project.godot | ||
| README.md | ||
STUDIO SEPT VALLÉES
FRACTURE : Après la Brèche
RPG d'exploration isométrique au tour par tour, dans l'univers de FRACTURE.
Version Godot 4.7 · export natif Linux et Windows
La nuit du 14 au 15 octobre 2040, à Val-Seuil, l'expérience du Projet SEUIL ouvre quelque chose sous le massif. Ce dépôt est le portage complet vers Godot du jeu écrit à l'origine en JavaScript (apres-la-breche), qui reste la référence tant que le portage n'a pas atteint la parité.
Le lore, les personnages et les règles d'écriture viennent de la bible de l'univers : fracture-bible.
Où en est le portage
Le moteur de jeu est entièrement porté et vérifié contre le JavaScript d'origine ; il reste à construire ce qui se voit et s'entend.
| Étape | Contenu | État |
|---|---|---|
| Noyau | hasard déterministe, tas binaire, bruit, A* | ✅ identique au JS |
| Règles du personnage | caractéristiques, compétences, professions, traits, valeurs dérivées, accords | ✅ 89 fiches comparées |
| Données | 53 tables du jeu (objets, bâtiments, PNJ, quêtes, dialogues, recettes…) | ✅ exportées par script |
| Carte | terrain et occupation, prologue et nuit | ✅ case par case |
| Moteur | exploration, quêtes, inventaire, artisanat, survie, santé, combat, IA de l'Essaim | ✅ 88 états et 6 sauvegardes comparés |
| Dialogues | fonctions de dialogue transpilées automatiquement | ✅ 1 444 nœuds et 2 071 choix comparés |
| Sauvegarde | état de la partie, emplacements, export et import au format du JS | ✅ identique au JS, parties échangeables |
| Rendu | isométrique 2D, sprites rendus par Blender | 🟡 premier jet : sol, bâtiments, décor, personnages, créatures ; manquent les lumières de nuit et les aides de combat |
| Interface | création du personnage, inventaire, dialogues, combat | 🟡 prototype jouable (dialogues, fouille, combat à la souris) ; le reste à faire |
| Son | bruitages et musique | ⬜ à faire |
| Windows | exécutable exporté, jamais lancé | ⬜ à tester sur une vraie machine |
Comment on sait que le portage est fidèle
Chaque morceau porté est comparé au JavaScript d'origine, pas relu à l'œil :
flowchart LR
JS["JS d'origine<br/>(apres-la-breche)"] -->|tools/gen-fixtures-*.js| F["valeurs de référence<br/>tests/fixtures/*.json"]
JS -->|tools/export-*.js| D["tables de données<br/>scripts/data/*.json"]
JS -->|tools/transpile-fns.js| G["fonctions de dialogue<br/>js_fns_gen.gd"]
D --> M["moteur GDScript<br/>scripts/core/"]
G --> M
F -->|mêmes opérations, mêmes états| T{{"tests/run.gd"}}
M --> T
- Tables : exportées du JS par script, jamais recopiées à la main.
- Fonctions de dialogue : transpilées automatiquement (sous-ensemble de JS volontairement petit : une construction inconnue fait échouer la génération).
- Moteur : des scénarios (survie, combats, santé, quêtes) sont joués dans le JS puis rejoués ici ; l'état doit être identique après chaque opération, jusqu'aux messages et au hasard.
- Dialogues : chaque nœud est comparé dans 19 états de jeu, ainsi que l'effet de chaque choix.
Lancer, tester, exporter
Prérequis : Godot 4.7 (sans C#) ; Node.js uniquement pour régénérer les valeurs de référence.
godot --path . # lancer le jeu
godot --headless --path . --import # une fois (et après tout nouveau class_name)
godot --headless --path . --script tests/run.gd # tests : code de sortie 1 en cas d'échec
mkdir -p dist/linux dist/windows
godot --headless --path . --export-release Linux
godot --headless --path . --export-release Windows
Régénérer les références depuis le JS (clone de apres-la-breche à côté, dans ../FRACTURE-RPG) :
node tools/export-regles.js && node tools/export-jeu.js && node tools/transpile-fns.js
node tools/gen-fixtures.js && node tools/gen-fixtures-map.js && node tools/gen-fixtures-game.js && node tools/gen-fixtures-dialogues.js
Organisation
scripts/core/ moteur sans nœud ni interface : Game, GameMap, Regles, Rng, Pathfinder…
scripts/data/ tables exportées (JSON), chargeurs, fonctions de dialogue générées
scripts/ui/ interface (à venir)
scenes/ scènes Godot
tests/ tests et valeurs de référence
tools/ scripts Node : export, transpilation, génération des références
docs/ code JS d'origine des fonctions portées
CLAUDE.md décrit les règles de portage et tient à jour le tableau d'avancement détaillé.
Droits
Projet privé du Studio Sept Vallées. Les images, textes et personnages appartiennent à leurs auteurs ; l'origine et les droits de certaines illustrations restent à documenter (voir la bible).