NwN2, Sons & UI

Répondre
Partager Rechercher
Bonjour,

Nous avons déjà pu voir différentes idées concernant la musique et les UIs, aujourd'hui c'est l'équipe de Lyncya qui vous présente son joujou.

Basé sur les idées du système de musique d'erethil et du système d'UI avec les touches du clavier, nous avons crée un petit système permettant de jouer des sons à partir des touches du clavier et cela depuis une UI.

Pour ça, nous utilisons un hak pack disponible sur le vault que l'on a modifié pour notre sauce.

Ce petit projet est issu d'un travail d'équipe dont je remercie les participants

- Joh187 (mon cousin ) -> Enregistrement des sons
- Vicayne Vrae -> .XML et .TGA
- Fets et Sylvain9610 -> Soutien moral et test

Voici une petite vidéo de démonstration de la version pré-alpha expérimentale Le système est donc encore en cours de création et il sera peut être mis à disponibilité de tous lors de sa version final. Nous travaillons notamment sur l'enregistrement des notes et leurs moyens de diffusion dans le jeu afin d'avoir le meilleur rendu possible en jouant. Bien entendu, d'autres instruments sont prévus

Player

Je pense que le plus dur fut d'encoder les sons .wav pour les rendre compatible avec NwN2. Quelques outils sont disponibles pour transformer des .mp3 en .bmu comme MP3toBMU ou celui ci mais après avoir essayé les 2 solutions. Le jeu ne semblait toujours pas vouloir lancer les sons avec la fonction PlaySound.

Du coup, j'ai du farfouiller sur le net et j'ai trouvé un post D'obsidian par hasard ou ils indiquaient la procédure qu'ils exécutaient pour encoder leurs sons.

Code:
lame -S --quiet -t %1.wav %1.mp3
echo BMU V1.0 > "\WavFolder\%1.wav"
type %1.mp3 >> \DifferentWaveFolder\%1.wav"
del /f /q %1.mp3
Bien entendu, fidèle à eux même, Obsidian a communiqué un code qui ne fonctionne évidement pas.

Après analyse, voici le principe pour que ça fonctionne :

1. - encoder un .wav en .mp3
2. - recoder le .mp3 pour fixer son bitrate
3. - créer un nouveau .wav et lui mettre les informations du format BMU V1.0 en header
4. - ajouter le fichier .mp3 dans et la suite du nouveau .wav

Et voici ce que fait le code d'Obsidian :

1. - encoder le .wav en .mp3 (il fixe pas le bitrate donc déjà la c'est grillé)
2. - ajout des informations du format BMU V1.0 en header dans un fichier .wav d'un dossier WavFolder
3. - ajout du fichier .mp3 encodé dans un fichier .wav dans un dossier DifferentWavFolder

Au final, on se retrouve avec 2 fichiers .wav (chacun dans un dossier différent -_-') et aucuns des deux ne fonctionnent. L'un est le header BMU et l'autre le .mp3. Désolé de souligner ça mais bon ils pourraient faire un effort minimum dans ce qu'ils distribuent...

Après un moment de dépit, j'ai donc crée un petit outil de conversion nommé WAV4NWN2 qui convertit des .wav en .wav compatible avec NwN2. Une fois les .wav convertis, il vous suffit de les mettre dans Override ou un Hak afin de les jouer depuis la fonction PlaySound. (Ne pas oublier de retirer l'extension au fichier et de mettre le AssignCommand ^^)

Nom du fichier : test.wav
Code:
AssignCommand(oPlayer, PlaySound("test"));
L'outil est très simple, il est composé de LAME, un encodeur open source et d'un BATCH fait maison.

il vous suffit de mettre le dossier WAV4NWN2 dans c:\

De mettre vos .wav dans c:\WAV4NWN2 et de lancer le wav4nwn2.bat

Attention les .wav ne doivent pas avoir d'espace dans leurs noms.

Le script vous créera un dossier ayant pour nom la date d'exécution du .bat et y mettra les .wav converti avec le même nom que ceux donnés à convertir.

Voici le code du .bat pour les curieux :

Code:
@Echo off
echo ### 
echo ### ---
echo ### WAV4NwN2
echo ### ---
echo ### EXE by LAME©
echo ### http://lame.sourceforge.net/
echo ### ---
echo ### BATCH by Mythyzyn
echo ### http://www.lyncya.fr
echo ### ---
echo ### 
pause 
echo ### ---
set hh=%time:~0,2%

if "%time:~0,1%"==" " set hh=0%hh:~1,1%
set yymmdd_hhmmss=%date:~6,4%_%date:~3,2%_%date:~0,2%_%hh%_%time:~3,2%_%time:~6,2%

mkdir %yymmdd_hhmmss%

dir %cd%\dir /w /b %cd% > temp_list.txt

for /f "delims=" %%i in ('type "temp_list.txt" ^|findstr /i /r ".wav"') do echo %%i >> wav_list.txt

for /f %%a in (%cd%\wav_list.txt) do ( 
echo ### 
echo ### Traitement du fichier : %%a
echo ### 
lame.exe --quiet %%a %%a.mp3
lame.exe -b 64 --quiet -a -t %%a.mp3
del %%a.mp3
echo BMU V1.0 > %yymmdd_hhmmss%\%%a
type %%a.mp3.mp3 >> %yymmdd_hhmmss%\%%a
del %%a.mp3.mp3
echo ### 
echo ### %%a converti.
echo ### 
echo ### ---
)
del temp_list.txt
del wav_list.txt
echo ###
echo ###
echo ### Fini.
echo ###
echo ###
pause
Et le lien pour télécharger le package :

WAV4NWN2.zip
Grand merci, cela devrait s'avérer très pratique, surtout pour les doublages de dialogue et autres, souvent encodé à des bitrates maison par les différents micros / webcam / pocketPC et autres dopnt on peut disposer.
Citation :
Publié par eMRaistlin
Grand merci, cela devrait s'avérer très pratique, surtout pour les doublages de dialogue et autres, souvent encodé à des bitrates maison par les différents micros / webcam / pocketPC et autres dopnt on peut disposer.
Omg il y a des modules/pw doublés et tout? j'adorerais voir ça, je trouve que ça rajoute énormément à l'immersion comme dans MotB.
ça me fait penser à ce qu'a développé Adam Miller pour sa campagne Dark Waters et qui m'avait beaucoup amusé : l'adaptation pour NWN du célèbre jeu console Guitar Hero. Je sais pas si votre système ressemble à ça mais en tout cas ce type d'idée est vraiment fun. bien joué !

La demo de Luth hero
De rien

Oui, nous sommes au courant de LuteHero, mais ce sera l'étape suivante et dans une variable du principe je pense.

Pour ce qui est de la flûte actuelle, elle sert uniquement à jouer de façon totalement libre

Le fait de pouvoir ajouter simplement des sons avec la fonction PlaySound ouvre effectivement de nouvelles possibilités telles que la doublure audio des dialogues comme cités plus haut mais aussi, par exemple, la possibilité de créer un jukebox avec des musiques personnalisées, de rajouter des sons pour les cris des monstres, des sons d'ambiances pour les zones, des sons pour les emotes (quel nain n'a jamais rêvé de pouvoir lâcher une caisse dans une taverne de Padhiver xD) et autres possibilités pour lesquelles votre imagination pourrait vous guider
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés