Table des matières

Emote

BROUILLON

Comment rajouter un emote en jeu.

Cet article concerne les détails techniques et sont propres à la base Nel et le client Ryzom associé. Voir aussi l'article de gamedesign sur les emotes et celui sur leur gameplay pour l'implémentation en jeu.

Server

liste

2 fichiers dans les data du server :leveldesign/game_element/emotes/
list.emot :
C'est la liste brute des emotes

      <ATOM Value="drunk"/>

list.text_emotes
C'est le detail des emotes pour la difference entre ciblé personne , une creature ou soi meme

  <STRUCT>
        <ATOM Name="Phrase With Target To The Crowd" Value="EMOTE_DRUNK_TARGET"/>
        <ATOM Name="Phrase With Target To The Actor" Value="EMOTE_DRUNK_TARGET"/>
        <ATOM Name="Phrase With Target To The Target" Value="EMOTE_DRUNK_TARGET"/>
        <ATOM Name="Phrase Without Target To The Crowd" Value="EMOTE_DRUNK_NOBODY"/>
        <ATOM Name="Phrase Without Target To The Actor" Value="EMOTE_DRUNK_NOBODY"/>
        <ATOM Name="Phrase Self Target To The Actor" Value="EMOTE_DRUNK_SELF"/>
        <ATOM Name="Phrase Self Target To The Crowd" Value="EMOTE_DRUNK_SELF"/>
        <ATOM Name="Access Path" Value="uiEM_Emotes|uiEM_NeuGes|uiEM_Drunk"/>
        <ATOM Name="EmoteId" Value="Drunk"/>
        <ATOM Name="Animation" Value="drunk"/>
      </STRUCT>

Traduction

- code\ryzom\server\data_shard\language\phrase_en.txt

Anime

- code\ryzom\common\data_leveldesign\leveldesign\game_element\anim\anim_set\homin

leveldesign/DFN/game_elem/_anim/animation_set.dfn
leveldesign/DFN/game_elem/_anim/animation_state.dfn

leveldesign/game_element/anim/anim_set/homin/fy_hof/fy_hof_default.animation_set
leveldesign/game_element/anim/anim_set/homin/fy_hom/fy_hom_default
.animation_set

<STRUCT Name="drunk">
      <ARRAY Name="animations">
        <STRUCT>
          <ATOM Name="filename" Value="fy_hof_emote_drunk.anim"/>
          <ATOM Name="head controlable" Value="false"/>
        </STRUCT>
      </ARRAY>
    </STRUCT>

Common

Une liste d'émotes avec correspondance est établie dans la partie Common :

code/ryzom/common/src/game_share/scenario.cpp

void CEmoteBehavior::load() const
{
 
		_EmotesMap["Absentminded"] =  "afk" ;
		_EmotesMap["Adventurous"] =  "impatient" ;
		_EmotesMap["Aggressive"] =  "roar" ;
		_EmotesMap["Agree"] =  "agree" ;
		_EmotesMap["Alert"] =  "alert" ;
		...

Cela semble être redondant avec leslistes établies dans la datasheet list.text_emotes

...
      <ATOM Name="EmoteId" Value="Adventurous"/>
        <ATOM Name="Animation" Value="impatient"/>
...

Il faudrait voir si on ne peut pas construire ce dictionnaire dynamiquement par cette fonction. Pour éviter que les émotes puissent être accessibles directement à tous, celles qui sont réservées à des usages précis (objets consommables par exemple), on peut les exclure aisément car il existe dans list.text_emotes un champ de discrimination :

      <ATOM Name="Usable From Client UI" Value="false"/>

À l'étude

Client

Liste

- code\ryzom\common\src\game_share\emote_list_parser.cpp

Traduction

- en.uxt in the client, data/gamedev.bnp

Liste des animations emotes et appel

Pour les emotes “basiques”, la nomenclature actuelle se base sur le modèle fyros (fy_), soit femelle (hof_) soit mâle (hom_), puis la précision d'un objet tenu en main ou nom (_a_ ou rien) et enfin le nom de l'animation.

La liste ci-dessus liste les emotes courants, déjà disponibles dans ryzom. Il y a d'autres animations disponibles qui pourraient être transformé en emote mais ça demandera peut-être un peu plus de boulot ?

Liste en cours, ne mettez pas ça tel quel en jeu.

Ce qu'il y a à voir :

  • garde-t-on la même nomnclature, ou renomme-t-on les animations ?
  • Définir la commande primaire, en anglais, et la traduction (via les alias) en français.
  • Organiser ces emotes en groupes pour le chat en jeu ?
  • Lors de la création des emotes ⇒ pas de texte, elles sont par défaut des animations sans texte ! Les gens peuvent se faire des macros ensuite, genre “ /salut salue l'assemblée ” pour combiner animation et texte sur le chat. Cela laisse plus de liberté et limite le spam “de base” en alentours lié aux emotes.

Femmes

Avec objet tenu en main droite/sans objet

Animations ayant une version “avec objet tenu en main droite” et une version “sans objet tenu” ; pour les quelques unes où il manque “sans objet tenu”, le fait d'avoir un poing serré ne gêne pas.

Raccourcis à adapter.

.anim pour femme avec objet tenu .anim pour femme sans objet Raccourci anglais Raccourci français
fy_hof_emot_a_afk_loop.anim fy_hof_emot_afk_loop.anim afk afk
fy_hof_emot_a_afk.anim fy_hof_emot_afk.anim sleep somnole
fy_hof_emot_a_angry.anim fy_hof_emot_angry.anim angry colere
fy_hof_emot_a_appeler.anim fy_hof_emot_appeler.anim come viens
fy_hof_emot_a_blush.anim fy_hof_emot_blush.anim blush timide
fy_hof_emot_a_bow.anim fy_hof_emot_bow.anim bow incline
fy_hof_emot_a_bye.anim fy_hof_emot_bye.anim bye salut
fy_hof_emot_a_calme.anim fy_hof_emot_calme.anim calm calme
fy_hof_emot_a_cheer.anim fy_hof_emot_cheer.anim cheer acclame
fy_hof_emot_a_chut.anim fy_hof_emot_chut.anim shh chut
fy_hof_emot_a_cry.anim fy_hof_emot_cry.anim cry pleure
fy_hof_emot_a_dance.anim fy_hof_emot_dance.anim dance danse
fy_hof_emot_a_folow.anim fy_hof_emot_folow.anim folow suivez
fy_hof_emot_a_gesture.anim fy_hof_emot_gesture.anim threaten menace
fy_hof_emot_a_giggle.anim fy_hof_emot_giggle.anim giggle moquer
fy_hof_emot_a_impatient.anim fy_hof_emot_impatient.anim impatient impatient
fy_hof_emot_a_kiss.anim fy_hof_emot_kiss.anim kiss bisou
fy_hof_emot_a_kneel.anim fy_hof_emot_kneel.anim kneel genou
fy_hof_emot_a_laisse_moi.anim fy_hof_emot_laisse_moi.anim shoo ouste
fy_hof_emot_a_non.anim no non
fy_hof_emot_a_oui.anim yes oui
fy_hof_emot_a_pointer.anim fy_hof_emot_pointer.anim point pointer
fy_hof_emot_a_roar.anim fy_hof_emot_roar.anim roar rugit
fy_hof_emot_a_rofl.anim fy_hof_emot_rofl.anim laugh rire
fy_hof_emot_a_shootpoussiere.anim shoot coupdepied
fy_hof_emot_a_smile.anim fy_hof_emot_smile.anim proud fier
fy_hof_emot_a_sorry.anim fy_hof_emote_sorry.anim sorry excuse
fy_hof_emot_a_veto.anim fy_hof_emote_veto.anim veto refus
fy_hof_emot_a_victory.anim fy_hof_emote_victory.anim victory victoire
fy_hof_emot_a_yea.anim fy_hof_emot_yea.anim cool cool

Uniquement sans objet tenu

.anim pour femme sans objet Raccourci anglais Raccourci français
fy_hof_emote_alert.anim
fy_hof_emote_ashemed.anim
fy_hof_emote_beta_testeur.anim
fy_hof_emote_burp.anim
fy_hof_emote_cold.anim
fy_hof_emote_danse_russe.anim
fy_hof_emote_danse_yeye.anim
fy_hof_emote_discreet.anim
fy_hof_emote_doubtful.anim
fy_hof_emote_dramatic.anim
fy_hof_emote_drunk.anim
fy_hof_emote_exercise.anim
fy_hof_emote_fearful.anim
fy_hof_emote_firm.anim
fy_hof_emote_guilty.anim
fy_hof_emote_heroic.anim
fy_hof_emote_hungry.anim
fy_hof_emote_indifferent.anim
fy_hof_emote_interested.anim
fy_hof_emote_over.anim
fy_hof_emote_petulant.anim
fy_hof_emote_playfull.anim
fy_hof_emote_pointback.anim
fy_hof_emote_pointleft.anim
fy_hof_emote_pointright.anim
fy_hof_emote_pompous.anim
fy_hof_emote_praying.anim
fy_hof_emote_puzzled.anim
fy_hof_emote_relaxed.anim
fy_hof_emote_relieved.anim
fy_hof_emote_revengeful.anim
fy_hof_emote_rice.anim
fy_hof_emote_righteous.anim
fy_hof_emote_serious.anim
fy_hof_emote_shifty.anim
fy_hof_emote_shocked.anim
fy_hof_emote_silly.anim
fy_hof_emote_sincerely.anim
fy_hof_emote_sleepy.anim
fy_hof_emote_smack.anim
fy_hof_emote_squeamish.anim
fy_hof_emote_surprised.anim
fy_hof_emote_suspicious.anim
fy_hof_emote_thirsty.anim
fy_hof_emote_unwilling.anim
fy_hof_emote_victory02.anim
fy_hof_emote_welcome.anim
fy_hof_emote_wicked.anim
fy_hof_emote_youandme.anim

Animations faciales

.anim pour femme Raccourci anglais Raccourci français
fy_hom_emo_angry.anim
fy_hom_emo_kiss.anim
fy_hom_emo_sad.anim
fy_hom_emo_smile.anim
fy_hom_emo_surprised.anim
fy_hom_emo_unhappy.anim
fy_hom_emo_wink.anim

Hommes

Avec objet tenu en main droite/sans objet

.anim pour homme avec objet tenu .anim pour homme sans objet Raccourci anglais Raccourci français
fy_hom_emot_a_afk_loop.anim fy_hom_emot_afk_loop.anim afk afk
fy_hom_emot_a_afk.anim fy_hom_emot_afk.anim sleep somnole
fy_hom_emot_a_angry.anim fy_hom_emot_angry.anim angry colere
fy_hom_emot_a_appeler.anim fy_hom_emot_appeler.anim come viens
fy_hom_emot_a_blush.anim fy_hom_emot_blush.anim blush timide
fy_hom_emot_a_bow.anim fy_hom_emot_bow.anim bow incline
fy_hom_emot_a_bye.anim fy_hom_emot_bye.anim bye salut
fy_hom_emot_a_calme.anim fy_hom_emot_calme.anim cheer acclame
fy_hom_emot_a_cheer.anim fy_hom_emot_cheer.anim shh chut
fy_hom_emot_a_chut.anim fy_hom_emot_chut.anim cry pleure
fy_hom_emot_a_cry.anim fy_hom_emot_cry.anim dance danse
fy_hom_emot_a_dance.anim fy_hom_emot_dance.anim folow suivez
fy_hom_emot_a_follow.anim fy_hom_emot_follow.anim threaten menace
fy_hom_emot_a_gesture.anim fy_hom_emot_gesture.anim giggle moquer
fy_hom_emot_a_gigle.anim fy_hom_emot_giggle.anim impatient impatient
fy_hom_emot_a_impatient.anim fy_hom_emot_impatient.anim kiss bisou
fy_hom_emot_a_kiss.anim fy_hom_emot_kiss.anim kneel genou
fy_hom_emot_a_kneel.anim fy_hom_emot_kneel.anim shoo ouste
fy_hom_emot_a_laisse_moi.anim fy_hom_emot_laisse_moi.anim no non
fy_hom_emot_a_non.anim yes oui
fy_hom_emot_a_oui.anim point pointer
fy_hom_emot_a_pointer.anim fy_hom_emot_pointer.anim roar rugit
fy_hom_emot_a_roar.anim fy_hom_emot_roar.anim laugh rire
fy_hom_emot_a_rofl.anim fy_hom_emot_rofl.anim shoot coupdepied
fy_hom_emot_a_shootpoussiere.anim proud fier
fy_hom_emot_a_smile.anim fy_hom_emot_smile.anim sorry excuse
fy_hom_emot_a_sorry.anim fy_hom_emot_sorry.anim veto refus
fy_hom_emot_a_veto.anim fy_hom_emot_veto.anim victory victoire
fy_hom_emot_a_victory.anim fy_hom_emot_victory.anim cool cool
fy_hom_emot_a_yeah.anim fy_hom_emot_yeah1.anim

Uniquement sans objet tenu

.anim pour homme sans objet Raccourci anglais Raccourci français
fy_hom_emote_alert.anim
fy_hom_emote_ashemed.anim
fy_hom_emote_beta_testeur.anim
fy_hom_emote_burp.anim
fy_hom_emote_cold.anim
fy_hom_emote_danse_russe.anim
fy_hom_emote_danse_yeye.anim
fy_hom_emote_discreet.anim
fy_hom_emote_doubtful.anim
fy_hom_emote_dramatic.anim
fy_hom_emote_drunk.anim
fy_hom_emote_exercise.anim
fy_hom_emote_fearful.anim
fy_hom_emote_firm.anim
fy_hom_emote_guilty.anim
fy_hom_emote_heroic.anim
fy_hom_emote_hungry.anim
fy_hom_emote_indifferent.anim
fy_hom_emote_interested.anim
fy_hom_emote_over.anim
fy_hom_emote_petulant.anim
fy_hom_emote_playfull.anim
fy_hom_emote_pointback.anim
fy_hom_emote_pointleft.anim
fy_hom_emote_pointright.anim
fy_hom_emote_pompous.anim
fy_hom_emote_praying.anim
fy_hom_emote_puzzled.anim
fy_hom_emote_relaxed.anim
fy_hom_emote_relieved.anim
fy_hom_emote_revengeful.anim
fy_hom_emote_rice.anim
fy_hom_emote_righteous.anim
fy_hom_emote_serious.anim
fy_hom_emote_shifty.anim
fy_hom_emote_shocked.anim
fy_hom_emote_silly.anim
fy_hom_emote_sincerely.anim
fy_hom_emote_sleepy.anim
fy_hom_emote_smack.anim
fy_hom_emote_sorry.anim
fy_hom_emote_squeamish.anim
fy_hom_emote_surprised.anim
fy_hom_emote_suspicious.anim
fy_hom_emote_thirsty.anim
fy_hom_emote_unwilling.anim
fy_hom_emote_victory.anim
fy_hom_emote_victory02.anim
fy_hom_emote_welcome.anim
fy_hom_emote_wicked.anim
fy_hom_emote_youandme.anim
fy_hof_emote_unwilling.anim
fy_hof_emote_victory02.anim
fy_hof_emote_welcome.anim
fy_hof_emote_wicked.anim
fy_hof_emote_youandme.anim

Animations faciales

.anim pour homme Raccourci anglais Raccourci français
fy_hom_emo_angry.anim
fy_hom_emo_kiss.anim
fy_hom_emo_sad.anim
fy_hom_emo_smile.anim
fy_hom_emo_surprised.anim
fy_hom_emo_unhappy.anim
fy_hom_emo_wink.anim

Proposition d'organisation

La hiérarchie suivante, proposée pour le client, demande à être affinée, et il faudra trouver les bons noms pour chaque section. Les noms sont ceux des .anim sans les mentions de race, genre, etc.