jeudi 14 mars 2013

[Instant Prog] SFXR++

"SFXR++, mais en Java. Logique, le nom" -Moi

SFXR++, mon petit bijou
Salut à tous! Pour vous faire patienter le prochain test, laissez-moi vous parler de la conception d'un de mes outils : SFXR++. SFXR a été crée au départ par DrPetter pour le 10e Ludum Dare, pour lui générer de petits sons qui pourraient remplacer temporairement le silence de mort que peuvent porter généralement les prototypes...

Cet outil est une vraie manne pour n'importe qui aimant bidouiller les fx, car le résultat est généralement suffisamment old school pour convenir un tant soit peu à vos projets pixelises.
Quelques temps plus tard apparut BFXR, sont petit frère aux stéroïdes. Il comprends des nouveaux types d'ondes sonores, tout plein d'options en plus, et même un mixer pour fusionner plusieurs des FX pour en donner un plus complexe. L'avantage ultime est son système de sauvegarde/chargement. Son défaut est qu'il n'existe absolument aucun port de BFXR sauf ses sources en Flash, mais il existe un de SFXR en Java.
Les sources de ce port sont quasi introuvables, le site original étant mort, j'ai eu beaucoup de chance de tomber directement sur le package. J'ai pu déjà intégrer les sources et les faire fonctionner pour mon platformer, avant de rendre compte que je ne pouvais récupérer les fichiers de bfxr. J'étais donc bien embêté pour implémenter le moteur en entier! Donc le temps de, j'ai utilisé des fichiers sons. Mais ça, c'était avant.

SFXR Le seul ,le vrai.
Je suis en train de mettre au point une alternative à mi chemin entre SFXR et BFXR : SFXR++. Il gardera fondamentalement les options de SFXR, mais en plus aura un système encapsulé correctement, plus des types d'ondes venant tout droit de BXFR et un module de sauvegarde/chargement dans un type de fichier léger + cadeau bonus : export en Wave!

Donc SFXR++ sera non seulement un générateur de FX, mais aussi une interface!! Je suis en train de plancher en parallèle sur une interface interagissant directement avec SFXR++ afin de pouvoir manipuler les options comme sur les deux grands frères! Java oblige : tout système pouvant supporter Java et Swing supporteront mon logiciel!

Mais ce logiciel n'est encore qu'un embryon : le moteur a encore de l'encapsulation à faire, et le code de l'interface est juste abominable, car optimisée à ma réflexion, c'est à dire bordélique!

Ce petit logiciel est pour moi ma première interaction avec un programme "bureautique" : je me mets en même temps à la place d'un dèv' et d'un client. J'observe et je vois ce qui merde et ce qui va mieux. Par exemple, pour le Layou, j'utilise le package MiGLayout qui est vraiment très pratique car simple d'accès et très puissant en définitive.

Il me reste d'autres détails à peaufiner : l'ouverture, l'export en wav, finir d'ajouter les options, des presets, la mutation, et ajouter un petit popup pour dire "C'est à moi, grâce à DrPetter, et enjoy le produit fini"!

Bon, sur ce, je vous laisse, je vais finir de bidouiller ce truc, et essayer de faire fonctionner ZSNES! A plus!

Aucun commentaire:

Publier un commentaire