Perry Chouteau
Tous les projets
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

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.