En constructionIngénierie logicielle
P-E-R-R-Y
janvier 2023 — Aujourd'hui · P-E-R-R-Y
Un écosystème C++ bâti sur des interfaces : le jeu ne connaît jamais son moteur de rendu. Deux briques sont finies, testées et documentées — le reste est en chantier, et je le dis.
- C++
- CMake
- GitHub Actions
- GoogleTest
- LaTeX
- Raylib
- SFML
Les briques
ecs
Moteur Entity-Component-System minimaliste.
- C++
i18n
Internationalisation résolue à la compilation.
- C++
- cxx11/20
- CMake

procedurals
Génération procédurale déterministe : bruit, Worley, Wave Function Collapse.
- C++
- CMake
igraphic
Une interface, deux implémentations chargées en dll/.so.
- C++
- Raylib
- SFML
Ce qui est fiable
- ecs — moteur Entity-Component-System minimaliste et performant. Fini, testé, documenté. Né de R-Type, un projet d’école, puis sorti de son contexte et repris proprement.
- i18n — internationalisation résolue à la compilation, type-safe, C++11 et C++20. Fini, testé, documenté.
- procedurals — génération procédurale déterministe en C++20 : bruit de valeur, fBm, ridge, domain warp, Worley, Simplex, échantillonnage Poisson-disk, et Wave Function Collapse avec règles d’adjacence. PRNG par hash, aucune dépendance à <random> : même seed, même sortie, sur n’importe quelle machine.
- GitHub Actions fait tourner les tests GoogleTest et déploie la documentation — c’est ce qui rend le « testé, documenté » vérifiable plutôt que déclaratif.
Ce qui est en chantier
- La couche modules et interfaces — imodule, iapp, igraphic, avec raygraphic (Raylib) et sfmlgraphic (SFML) comme implémentations chargées dynamiquement en dll/.so.
- Plusieurs briques sont prêtes ou presque, mais l’ensemble ne tient pas encore debout comme je le veux.
Où je veux aller
Une architecture à la Blender : n'importe qui implémente une interface de façon statique, puis charge son implémentation dynamiquement. L'idée est là, le code propre qui me convienne n'y est pas encore — je n'ai pas eu le temps, et je préfère laisser en chantier que livrer un truc bancal.