Particule SDK
Posté le 10/07/2025 15:13
Ce topic est dédié au développement
Hello les gens !
Je prends un moment pour vous partager une grosse mise à jour sur ParticuleEngine, et surtout sur tout l'écosystème autour. Si vous suivez un peu le projet, vous savez que c'était jusque-là un moteur modulaire inspiré d’Unity, avec ses GameObjects, ses Components, sa logique multiplateforme…
Mais là, on passe à la vitesse supérieure : le SDK (version beta) est dispo, avec un installateur propre, une doc, des outils, et un vrai système de build.
C’est quoi le "SDK Particule" maintenant ?
C’est devenu plus qu’un simple moteur : c’est un ensemble d’outils pour créer des jeux et applis multiplateformes, avec une architecture claire, des conventions solides, et une compilation qui s’adapte à chaque cible automatiquement.
Le SDK est divisé en plusieurs modules :
ParticuleCore : la couche bas niveau qui gère le rendu, l’audio, les entrées… selon la distribution (Windows, Linux, Casio, etc.)
ParticuleEngine : le moteur de jeu haut niveau avec les GameObjects, les Composants, les Scènes, etc.
ParticuleCraft : le système de build qui fusionne les configs de chaque distribution pour générer des Makefiles adaptés.
ParticuleTools : les outils de dev intégrés (éditeur de sprites, éditeur de Makefile JSON, installateur graphique, etc.)
Et du coup, qu’est-ce qu’on peut faire avec ?
- Installer le SDK facilement avec un installateur graphique
- Utiliser ParticuleCraft en ligne de commande ou en version GUI pour créer et gérer vos projets
- Importer vos sprites depuis un petit éditeur maison
- Compiler pour différentes plateformes sans changer votre code (grâce à la séparation Core/Engine)
- Consulter une documentation intégrée en local
C’est stable ? C’est utilisable ?
Oui et non.
On peut déjà construire des applications complètes, comparables à ce qu'on ferait avec Gint, et ça fonctionne sur toutes les distributions supportées. Le cœur (ParticuleCore) est quasi terminé, il reste juste quelques petites choses à peaufiner, mais rien de bloquant.
En revanche, ParticuleEngine (la partie haut niveau avec les GameObjects/Composants/etc.) est encore en chantier. Il est prévu, les bases sont posées, mais il n’est pas encore exploitable.
Cela dit, je tenais à publier le SDK, pour ceux qui veulent déjà l’essayer ou contribuer !
Je rappelle qu'il existe un serveur Discord dédié à Particule (notamment une partie bêta-testeur) :
https://discord.gg/pQgRuEtdRA
Comment commencer ?
Tout est expliqué dans le fichier README.md du dépôt, mais en gros :
Cloner le repo :
https://github.com/leofarhi/ParticuleSDK
Lancer Setup.py (il installe tout automatiquement)
Créer un projet avec ParticuleCraft create
Lancer un build, ou utiliser l’interface graphique si vous préférez
Si vous avez des questions, bugs, suggestions ou juste envie de tester, n’hésitez pas
Citer : Posté le 12/08/2025 16:15 | #
Perso je n'ai jamais remarqué cet effet "cathodique", même quand j'ai vraiment beaucoup de sprites affichés.
Je ne vois donc pas trop de quoi il s'agit.
Pour l'amélioration, je parlais juste que tout sera affiché ainsi en étendant le buffer.
Citer : Posté le 12/08/2025 18:35 | #
Fahri, quand tu parle d'effet "cathodique", c'est du tearing que tu décris?
Citer : Posté le 12/08/2025 18:52 | #
Non c'est l'effet où l'image apparaît progressivement. Ça fait partie du design, c'est inévitable sauf si on trouve un moyen de mettre en pause le rafraîchissement de l'écran (ça se peut en vrai).
Merci Farhi, je regarde ça plus en détail dès que je peux, ce week-end hopefully. C'est bien que tu aies pu faire le début de l'intégration en tous cas.
Comme tu as vu y'a des limites sur la taille de la file de commandes. Tant que tu mets que des commandes "pas chères" même si tu remplis la file ça va pas trop trop dégénérer. Après ça peut partir en vrille autant qu'en rendu VRAM. Tout le système repose sur l'existence de shaders optimisés. Si tu essaies de dessiner une image à coup de pixels tu verras que ça part vite en vrille (et plus lent que la VRAM).
Edit : oui y'a un système de tri mais c'est surtout pour pouvoir dessiner le haut de l'écran d'abord, l'envoyer, ensuite le milieu, etc.