Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| fr:mmorpg:client:iris:developpement [09 June 2026 à 14:51:22] – [Principes de développement] YannK | fr:mmorpg:client:iris:developpement [04 August 2026 à 12:40:10] (Version actuelle) – [data_definition] YannK | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| En InGame, il est prévu pour faire tourner [[https:// | En InGame, il est prévu pour faire tourner [[https:// | ||
| + | |||
| + | ===== La hiérarchie des dossiers ===== | ||
| + | < | ||
| + | treeView-beta | ||
| + | "res:/ /" | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | ==== autoloads ==== | ||
| + | Dans ce répertoire sont enregistrés scènes et scripts des classes enregistrée comme //Globals// dans le projet. | ||
| + | |||
| + | ==== data ==== | ||
| + | Répertoire où sont stockés les assets, les Resources. Ce répertoire sera alimenté à l’avenir par un autre système, par le biais du Khreator, quand celui-ci sera effectif. Il s’agit de toutes les data nécessaires pour le jeu. | ||
| + | |||
| + | ==== data_definition ==== | ||
| + | Scripts servant à la création des classes de données du répertoire //data// et de tous les autres objets dérivés de la classe // | ||
| + | |||
| + | ==== i18n ==== | ||
| + | Fichiers servant à la traduction : fichiers .po par langue proposée et .pot pour le template. | ||
| + | ==== scenes ==== | ||
| + | Scènes utilisées pour le jeu, avec leur script lié s’il est unique. Le sous-répertoire accueille les widgets qui sont réutilisés de nombreuses fois. | ||
| + | |||
| + | ==== scripts ==== | ||
| + | Scripts qui ne sont liés ni à une scène //.tscn// ni héritant de la classe Resource. | ||
| + | |||
| + | ==== scripts_template ==== | ||
| + | [[https:// | ||
| + | |||
| + | Pour l’instant, | ||
| + | |||
| + | ===== Le système de son ===== | ||
| + | |||
| + | Tout ce qui est audio dans le client est géré par un Global, une scène en autoload appelé AudioManager ('' | ||
| + | |||
| + | Pour le moment, il existe 5 bus pour le son: | ||
| + | - Master, qui se superpose aux 4 autres, pour la gestion générale. Il ne reçoit aucun flux direct, seulement les quatre autres. | ||
| + | - Music, qui gère la musique non diégétique. | ||
| + | - Gui, qui propose les sons d’interface. | ||
| + | - SFX, qui s’occupe des sons émis par les éléments 3D avec une spatialisation de leur émission (position et direction). | ||
| + | - Ambient, qui s’occupe des sons qui sont présents dans une zone 3D sans avoir un point précis d’émission. | ||
| + | |||
| + | Chaque sous-sytème est une node fille du système de gestion général. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Ces sous-systèmes proposent chacun un certain nombre de paramètres pour gérer le sound design: | ||
| + | |||
| + | {{ : | ||
| + | * Bus Name: le nom du bus qui gérera les sons émis par ce manager | ||
| + | * Pool size: le nombre de MediaPlayer simultanés qui seront utilisés par ce manager | ||
| + | * Cache size : le nombre de Resources stockées en cache parmi les plus fréquemment appelées | ||
| + | * Use 3D: pour différencier les systèmes placés dans l’espace de jeu 3D de ceux qui ne le sont pas | ||
| + | * Sound Path: le répertoire où les Resources utilisées par ce système sont placées | ||
| + | |||
| + | Depuis le code, pour émettre un son, il suffit d’appeler le submanager audio dédié et le nom de fichier de la Resource à émettre (sans son suffixe) et le son sera pris en charge. Pour le moment, seuls les sons d’interface (gui) sont implémentés correctement et la musique de façon minimale. | ||
| + | |||
| + | Exemples: | ||
| + | |||
| + | Pour émettre un son de click, indiquer: | ||
| + | < | ||
| + | AudioManager.gui.play_sound(" | ||
| + | </ | ||
| + | |||
| + | Pour lancer le thème principal du jeu: | ||
| + | < | ||
| + | AudioManager.music.play_sound(" | ||
| + | </ | ||
| + | |||
| + | ===== L’interface ===== | ||
| + | |||
| + | Le système de préférences ’géré par le Global Settings ('' | ||
| + | |||
| + | ==== L’interface OutGame ==== | ||
| + | |||
| + | Une scène ('' | ||
| + | |||
| + | ===== L’internationalisation ===== | ||
| + | |||
| + | L’internationnalisation se base sur l’usage de [[https:// | ||
| + | |||
| {{tag> | {{tag> | ||





