Aller au menu du forum Aller au contenu du forum Aller à la recherche dans le forum
Logo Khaganat
Menu principal
Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Messages - YannK

25 Octobre 2022 à 18:15:24
Cliquez pour afficher le message
Bonjour à toutes,

pour celles qui ont eu la joie de bosser un peu dans les dépôts d'assets de Ryzom, il est certainement apparu qu'il est complexe d'organiser les choses pour que la contribution artistique soit aisée et les manipulations fluides d'un bout à l'autre de la production, depuis la création par l'artiste jusqu'à l'intégration en jeu. La cohérence des versions utilisées pour générer les objets finaux est souvent complexe (voir par exemple les différentes armatures incompatibles entre elles utilisées pour les humanoïdes dans Ryzom). C'est un sujet très épineux pour beaucoup de studios, d'autant que les compétences nécessaires pour appréhender ces questions ne sont pas si fréquentes, surtout pour les animations.

Richard Lico, ce héros
Pour notre plus grand bonheur, un vétéran de l'industrie extrêmement talentueux (Richard Lico, le sus-nommé) a décidé de prendre la question à bras le corps. Il s'agissait pour lui de faciliter la gestion des données d'un bout à l'autre du pipeline, avec le moins de maintenance possible. Et de chercher une façon pour que les animatrices soient les plus libres possible tout en ayant une rapidité de travail décuplée. D'un autre côté, il n'avait pas le choix, il venait de devenir indépendant et se retrouvait tout seul sur de nombreux aspects pour un gros projet :D (le jeu Moss pour les curieuses, qui lui a donc valu de nombreuses récompenses.)

Aparté : Si certaines sont intéressées, deux conférences où il parle de son travail sur Moss, justement : Animating Quill: Creating an Emotional Experience (sur lequel il y aurait d'autres choses à dire, mais j'y reviendrai à un autre moment) et Animation Workflow Siggraph 2018

Brad Clark, ce héros (parce que lui aussi le vaut bien)
Sur ce, Brad Clark un gars devenu référence mondiale dans son domaine (le rigging) depuis des années (le genre qui a bossé sur le motion capture de Gollum pour « Le seigneur des anneaux » il y a 20 ans...), et qui a décidé de se plonger dans Blender parce qu'il s'est dit qu'il y avait du potentiel inutilisé (vous avez deviné pourquoi il me plaît tant ? ^^ ), s'est dit qu'il faudrait trouver comment pousser ce genre de pratique. Et il fait alors la connaissance de deux frangins, qui se sont dits dans leur coin que ce serait cool d'avoir des outils de ce type dans un addon Blender (Rig On the Fly). Et paf, voilà, ça veut dire que Blender peut le faire et qu'en plus des gens planchent à rendre ça plus aisé.

Aparté : une vidéo revient sur ce processus de rencontres qui s'est fait peu à peu : Meet The Expert: BRAD CLARK (Rigging Dojo)

Tout cela m'a semblé extrêmement intéressant pour nous, qui n'avons pas les moyens de créer et de maintenir un pipeline de production trop lourd, ni de créer plein d'outils pour toutes les contributrices qui pourraient venir de temps en temps.

Ce que je vais dire ci-dessous l'est dans un contexte où ce sont les animations qui sont concernées, mais il faudrait voir comment l'étendre peut-être à d'autres pans de la contribution artistique, à étudier.

Le premier point est de simplifier le plus possible la gestion des ressources. Donc l'idée (du moins pour tout ce qui est résultat d'un workflow destructif, comme l'est l'animation) est de n'avoir qu'un format à gérer, celui qui est nécessaire au moteur (à savoir glTF dans notre cas). Le but d'une contributrice est donc de fournir un fichier glTF qui contient une animation pour l'armature de déformation d'un objet animé. Seule l'armature de déformation, et le skinning du mesh correspondant, ont besoin d'être fournis et versionnés. Vu que le rig de contrôle est ce qui est le plus complexe à faire, et le plus difficile à s'approprier et parfois s'avère limitant pour certaines opérations souhaitées par l'animatrice, on n'a plus à se préoccuper de sa maintenance et de sa cohérence tout au long du pipeline. Ainsi, ajouter un nouvel emplacement dans le dos pour fixer un sac ne pose pas de souci, c'est juste un bone dans l'armature de déformation. Pas besoin de reprendre tout le travail préalable où celui-ci n'est pas inclus et de le propager partout pour maintenir la cohérence du rig de contrôle, cet ajout sera simplement pris en compte lors du prochain import avec les scripts habituels afin d'être pris en charge. Car dans l'approche professée par Richard Lico, le rig de contrôle est généré à la volée par l'animateur via des scripts personnalisés (d'où l'intérêt de l'addon Rig on the Fly qui en fournit un certain nombre prêts à l'emploi), depuis l'armature de déformation, en se basant sur les keyframes déjà en place. Du coup, on a directement la ressource utile et on repart toujours toujours d'elle quand on veut faire des modifications, peu importe comment on fait cette dernière et les modifications qu'elle a pu connaître entretemps, on a forcément toujours la dernière version d'édition entre les mains.

Le seul gros point noir à cette façon d'opérer est que l'animation demande alors quand même pas mal de connaissances théoriques en rigging et en scripting, ou au moins une très grande aisance avec l'outil qu'on utilise. Ce qui veut dire que la marche d'entrée pour contribuer me semble un peu plus haute. Mais son gros avantage est que celles qui contribueront perdront moins d'énergie à maintenir des outils plus ou moins adaptés (voire à les adapter au nouvelles venues) et bien plus à réellement fabriquer du contenu, ce qui est plus motivant. Par ailleurs, on peut plus rapidement obtenir des résultats de très bonne qualité.

J'ai étudié la façon dont on pourrait déployer ça dans notre pipeline Blender > Godot et je pense avoir trouvé comment faire pour que les animations puissent être réalisées une par une pour un même modèle et les importer séparément comme ressource dans Godot. J'ai commencé à noter ça dans le Guide de développement. On testera ça in vivo pour le premier client dès que Godot 4 sera un peu stabilisé.

Si vous avez des avis, des remarques, des questions...
20 Octobre 2022 à 12:30:00
Cliquez pour afficher le message
J'aime bien que ce soit les sujets visibles surtout, et vérifier vite fait si le message nous intéresse avant de cliquer, c'est nickel.
19 Octobre 2022 à 22:34:41
Cliquez pour afficher le message
Nan mais quel talent  :D
19 Octobre 2022 à 22:32:36
Cliquez pour afficher le message
Pendant que j'y pense, dans les trucs que je trouverais sympa, il y aurait le fait que les images trop larges soient redimensionnées pour ne pas avoir de barre de scroll en bas, qu'elles s'adaptent à la largeur de l'affichage. Vu que je poste souvent des images et qu'elles dépassent souvent, ce serait cool de les avoir automatiquement non coupées avec du scroll :)
Aucune idée si ce serait compliqué à avoir, mais je profite de l'occasion pour faire ma liste  O:-)
Cliquez pour afficher le message
Bonjour à toutes,
j'ai bossé à une silhouette pour le premier personnage joueur que nous implémenterons. j'ai tenté de me rapprocher des formes de Ryzom en prenant comme bases leurs personnages et proportions. Mon but est d'arriver à un ra qui ne soit pas sexuée aisément et dont la tenue puisse être un mix tcara/ucikara afin de ne pas être trop techno ni trop peu. Ça s'affinera avec les détails et les textures, le but est dans un premier temps d'avoir une silhouette générale qui convienne à toutes puis d'itérer en peaufinant. Je m'attaquerai aux animations quand on aura terminé le modèle, et une grande partie de ses caractères perçus pourront aussi passer par ce biais.

Je vous laisse quelques jours pour faire des retours si vous voyez des modifs à apporter, faute de quoi j'avancerai sur cette base.


17 Octobre 2022 à 23:04:25
Cliquez pour afficher le message
Bonjour à toutes,
la boutique est créée, mais encore faut-il y avoir des choses à y proposer.

Alors on peut aisément faire des objets avec le logo de Khanat, afin de diffuser l'image, mais ce serait sympa aussi d'avoir des objets qui existeraient aussi dans le Khanat, utilisé par des ra. Merci de dire ici vos idées, vos envies... afin qu'on puisse concevoir les premières propositions.

Voici la liste de ce qu'il est possible d'y faire :

  • T-shirt
  • Robe
  • Sweat-shirt
  • Sweat à capuche
  • Coque /skin téléphones
  • Housse d'ordinateur
  • Impressions murales
  • Coussin
  • Mug
  • Horloge
  • Bloc acrylique
  • Tenture
  • Plaid
  • Housse de couette
  • Couvre-lit
  • Rideau de douche
  • Dessous de verre
  • Sac à cordon
  • Foulard
  • Tote bag
  • Mug isotherme
  • Pochette
  • Gourde
  • Chaussettes
  • Badges
  • Stickers
  • Cartes de vœux
  • Cahier à spirale
  • Carnet cartonné

En fonction des premiers retours, je vous posterai des visuels de ce qu'il est possible de façonner chez RedBubble.
14 Octobre 2022 à 16:50:26
Cliquez pour afficher le message
Une première sélection pour orienter les choix, j'ai tenté de faire un peu varié et il y a peut-être 2-3 blagues dans le lot, je ne garantis rien :p

CC BY Lorc, http://lorcblog.blogspot.com



CC BY Delapouite, https://delapouite.com



Comme j'ai les .svg, on peut aisément mélanger/adapter/uniformiser
Cliquez pour afficher le message
Vite fait, avant de formaliser une réponse réelle, je copie/colle depuis le site Plume les principes jugés importants pour l'exercice de la démocratie selon Jo Freman dans son texte La tyrannie de l'absence de structure :

  • La délégation démocratique d'un pouvoir limité, pour des tâches délimitées, à une ou des personnes compétentes
  • Les personnes qui ont reçu du pouvoir sont responsables devant les personnes qui lui ont donné : ce dernier peut donc être révoqué
  • Disperser le pouvoir entre un grand nombre de personnes afin d'éviter les monopoles
  • Rotation des postes assez souvent pour que le pouvoir ne soit pas approprié, pas trop souvent pour que les personnes puissent monter en compétences
  • Donner le pouvoir aux personnes qui ont les compétences et non par sympathie, favoriser une formation préalable plutôt qu'un apprentissage sur le tas
  • Diffuser l'information à tout le monde, à l'intérieur et à l'extérieur. L'information c'est le pouvoir.
  • Accès égalitaire aux ressources, les compétences et les connaissances sont des ressources
17 Août 2022 à 10:29:42
Cliquez pour afficher le message
Citation de: Zatalyz le 17 Août 2022 à 09:29:58
La première chose qui m'aiderait, c'est que vous me pointiez des forums où vous êtes actifs. Rien que de pouvoir voir leur ergonomie sera déjà utile. Si, en plus, vous pouvez analyser vos usages, voir ce qui fait que votre participation est fluide, ce qui vous plait, c'est encore mieux. À ce stade, c'est pour moi le plus important.
Pour moi, le plus important, c'est que la fonction « Voir les messages non lus depuis la dernière fois» fonctionne correctement :)

Citation
- Traduction française : plein de choix de termes qui sont foireux ("soumettre" plutôt que "poster", "réponse" au lieu de "répondre"...)
OK avec ça

Citation
- Enlever la réponse rapide. Nous ne sommes pas sur un chat, le but est justement d'être moins dans l'immédiateté.
- Smiley : va nécessiter un plugin... pas possible dans l'admin d'assigner des raccourcis à des smileys, de configurer leur titre et alt. Bon point : les alt sont renseignés. Question : sont-ils lisibles ? Par ailleurs, je préfèrerais un bouton pour déplier la liste de smiley, pouvoir les organiser en catégorie, en ajouter, etc... Oui le smiley est vital sur forum !
OK avec ça

Citation
Menu et global :
- Lien vers les messages non lus. Configurer pour que lors de la création du compte, tous les messages soient lus (oui c'est bête mais...). 
- Ajouter aussi un bouton "messages des dernières 24h" ? Probable que ce soit redondant et moins utile, pourtant je m'en sers plus que les non-lus sur le forum de ryzom.
OK avec ces deux propositions

Citation
- Lien vers flux RSS facile à trouver. À noter qu'il existe un plugin pour s'abonner spécifiquement à un/des sous-forum via RSS : cela vous semblerais utile ou de toute façon ce sera du "tout suivi" ?
Je ne sais pas trop, je n'utilise pas tant le RSS que ça

Citation
- Améliorer la visibilité de l'option "s'abonner au forum" (=> notification de tout nouveau message par mail).  Ajouter l'option pour le faire sur l'ensemble du forum, sans cliquer dans chaque sous-forum...
Ce serait pratique, mais pas essentiel selon moi

Citation
- "Rechercher" est redondant (deux boutons). Champ en haut => rapide mais n'affiche pas les options. Bouton plus bas => lien vers les options. Garder celui-ci, je crois...
Oui, un seul endroit me semble mieux

Citation
- Séparer les colonnes "réponse" et "vues". Je ne sais pourquoi, mais ça passe mieux. Cependant, le nombre de vue me semble une donnée vraiment inutile sauf pour l'ego...
C'est parfois utile de savoir si une éventuelle absence de réponse est dû à une non lecture par manque de vues.

Citation
- "Démarré par" : Alléger un max, "Par" suffit amplement, voir juste le pseudo.
- L'en-tête des colonnes doit être clairement séparé de la liste des messages (fond de couleur par exemple)
Pas trop d'opinion là-dessus, il faudra voir en réel ce que ça donnera

Citation
- Si il y a du nouveau : peut-être juste mettre le titre en gras ; l'icone "nouveau" a un coté assez lourd.
Personnellement j'aime bien la présence de l'icône, elle aide à bien voir.

Citation
- Séparer la colonne "messages" et "sujets". "Sujets" doit être en premier
- En-tête des colonnes avec "Sujets, message, dernière réponse" ; ces infos n'ont rien à faire sur les lignes (c'est hyper redondant).
- Dernier message : $titre par $répondant, (retour ligne) $date $heure. Uniquement le titre cliquable. Mieux, toute la zone est un lien cliquable vers la réponse.
Là aussi, à voir ce que ça donnera à l'usage

Citation
- Par défaut, abonnement et notification mail à toute réponse à un sujet où on a participé. Chacun peut aussi régler ça chez soi ensuite.
Je suis aussi pour cette option

Citation
- Les icones de "nouveau messages" restent-elles allumées après qu'on aie vue le message ? Ça hélas on va le découvrir après migration, j'ai du mal à reproduire le bug.
OK, à voir en effet, c'est important :)
16 Août 2022 à 18:43:44
Cliquez pour afficher le message
Références (quasi archéologique) :

Ça fait longtemps qu'on n'en a pas parlé (presque 10 ans, ce n'est rien du tout  :music:), mais je viens de voir une implémentation du PvP que je trouve intéressante (dans une vidéo sur le MMORPG à venir Ashes of Creation).

Il se base sur un État du joueur qui peut varier et qui a des conséquences sur le loot possible de ton inventaire à sa mort. Si j'ai bien compris, cela pourrait être un fonctionnement de ce type, schématiquement :

- Vert : tu n'as porté aucun coup à aucun joueur et n'en a tué aucun. Résultat : à ta mort, tu ne proposes au loot que très peu de choses, très accessoires (genre quelques matériaux ramassés sans grande valeur) voire rien du tout
- Violet : tu as tué un personnage joueur de statut Violet/Rouge ou porté des coups à un personnage joueur de statut Vert sans le tuer pour autant. Résultat : à ta mort, tu proposes plus de choses de ton inventaire, dont certains objets peuvent être de valeur
- Rouge : tu as tué un personnage joueur Vert. Résultat : à ta mort, tout ton inventaire peut être looté

J'aime bien cette idée de prise de risque qui entraîne une réflexion sur les conséquences de son acte en terme de GP. Qu'en dites-vous, sur le principe, dans l'échelle de gradation de Statut qui pourrait exister et des répercussions pour chacun d'eux ?
08 Août 2022 à 13:31:20
Cliquez pour afficher le message
Bonjour à toutes,
comme l'alpha de Godot 4 approche à grands pas, il faudrait qu'on réfléchisse à la façon dont on va implémenter le premier milestone et arrêter juste de faire mumuse avec les nouvelles fonctionnalités :)

D'où ma question : quelle technologie va-t-on utiliser pour les terrains ?

Je résume très grossièrement ci-dessous pour celles qui ne connaissent pas nos options.

Option 1 : Heightmaps

Il s'agit d'une solution qui calcule le relief d'une plaque de terrain découpée en petits carrés à partir d'une texture en noir et blanc, et qui va soulever chaque petit carré plus ou moins haut en fonction du niveau de blanc/noir qui correspond à sa position sur la texture.

Ses avantages :

- facile à mettre en œuvre techniquement
- peut-être relativement léger en terme de puissance de calcul
- aisé de créer des textures pour avoir des terrains avec les formes souhaitées, facile de les retoucher/modifier

Ses inconvénients :
- pas de possibilité de faire des tunnels, grottes ou surplombs, il faut y ajouter des objets pour créer ce genre d'effets
- pas simple de superposer des niveaux les uns au-dessus des autres, il faut prévoir des objets passerelle
- nécessité d'uniformiser la façon dont les plaques se joignent les unes aux autres pour éviter les « crevasses »

Option 2 : Voxels


Il s'agit d'une solution qui défini l'espace en 3D et qui conserve la trace de savoir pour chaque point s'il est plein ou vide, quelles sont ses matériaux etc.

Ses avantages :

- continuité de toutes les zones entre elles, pas de système de plaques reliées
- aisé de créer des grottes, passages souterrains, superpositions, etc.

Ses inconvénients :

- plus complexe techniquement à tous points de vue (collisions, shading...)
- plus lourd en terme de puissance de calcul et complexe à optimiser
- besoin d'un outil de génération pour contrôler parfaitement le résultat ?

Option 3 (ou pas) : Courbes
Il pourrait y avoir une option 3, qui est celle retenue par Ryzom, et que Halo utilisait aussi, qui est de créer par courbes dans l'éditeur et de laisser le moteur transformer ensuite le résultat en triangles. Je ne sais pas si cela a déjà été implémenté dans Godot. Si quelqu'un a des pistes, on peut se l'ajouter comme option.

Je tiens à préciser que entre l'option 1 et l'option 2, on a des pistes d'implémentations déjà existantes pour Godot, grâce au fabuleux Zylann :)
- Heightmap : https://github.com/Zylann/godot_heightmap_plugin
- Voxel : https://github.com/Zylann/godot_voxel

Donc la question est plutôt d'anticiper la façon dont on arrivera à s'emparer de la technologie et à l'adapter au client de jeu Khanat en 3D que de se demander comment on va faire à court terme, car grâce à Zylann, dans les deux cas, il y a des bases :)

EDIT du 10/08/2022 :
- Conseils sur l'usage des voxels dans la documentation du plugin voxel de Zylann, pour référence : Is Voxel tools for you ?
Cliquez pour afficher le message
C'est super, je trouve ça très clair (et inquiétant quand je me dis qu'il va falloir calculer tout ça dans le shader :D )

J'aime beaucoup l'idée qu'on puisse se repérer dans le jeftu grâce au moment où samayun et le soleil se placent l'un par rapport à l'autre. Et les quasi éclipses se semblent mieux que de vraies éclipses comme c'était envisagé dans je ne sais plus quelle hypothèse.

Bref, j'aime bien cette proposition et je trouve cette vidéo excellente, je valide pour la suite :)
25 Avril 2022 à 21:32:02
Cliquez pour afficher le message
Faisant suite à mon message d'hier sur l'architecture des services, j'ai mis au propre une proposition des exécutables sur lesquels nous devront nous pencher, et les dépôts Git qui y sont liés. Une partie de ces derniers seront communs, via des addons Godot qui permettront de partager les données entre les différents projets. Certains existent déjà, d'autres pas encore.



J'ai rassemblé les différents exécutables serveur sous un seul terme, « Ensemble serveur ».

Le « Khréateur » désigne ce qui servira aux level designers d'ajouter du contenu en jeu, de préparer les éléments, objets, missions, textes et cartes qui seront ensuite envoyés sur le serveur pour y être instanciés.

« L'oeil de la reine » servira à intervenir en direct sur le contenu en jeu : mise en place d'événements temporaires, action directe sur certaines données de jeu, modération en temps réel... Il pourrait même intégrer des caméras IG qui retransmettent des endroits.

Le client 3D est le premier à être envisagé, permettant de parcourir le Khanat en 3D.

Là encore, c'est une proposition qui est là pour être discutée, retravaillée etc. et mon svg est dispo pour celles qui veulent le reprendre.
24 Avril 2022 à 22:31:12
Cliquez pour afficher le message
Ça fait un petit moment que je réfléchis à ce que l'on devrait mettre en place comme infrastructure technique et je me suis décidé à mettre ça un peu au propre. Si vous y voyez de très fortes inspirations d'OpenNeL, c'est normal, c'est basé dessus dans ses concepts. Par ailleurs, je trouve chouette d'essayer de garder au max leurs termes, pour rendre hommage à leur boulot qui demeure une source énorme d'inspiration pour Khaganat.

J'ai essayé de voir ce qui nous serait nécessaire à terme et de penser en modules qui pourraient eux-mêmes ensuite être découpés de nouveau, voire répartis sur plusieurs machines (dans ce cas il faudrait y ajouter de nouveaux gestion de load-balancing et de cohésion de la structure, mais on en est pas encore là).

J'ai donc fait un petit schéma simplifié pour vous proposer une base d'architecture et commencer à poser le vocabulaire (histoire de savoir de quoi on parle et ce qu'on met dans chaque terme). L'idée est aussi qu'on ait quelques billes en tête quand Godot 4 sera sorti et qu'on pourra vraiment commencer à implémenter le client de démo non multijoueur. On a intérêt à anticiper pour ne pas avoir à tout refaire pour le moment où on introduira le multijoueur. En sachant comment les services s'articuleront, on peut déjà commencer à bosser nos modules/classes et méthodes pour que leur déport soit ensuite facilité.



Il n'y a rien de révolutionnaire, c'est une structure épurée de ce que proposait le NeL, qui devrait nous offrir tout ce dont on aura besoin à moyen terme, sans gêner la montée en charge. Je ne sais pas encore ce que ça représenterait en terme d'exécutables à générer et/ou de machines à envisager pour le moment. Il me semble que se mettre d'accord sur ce qu'on va bâtir est un préalable avant de voir comment tout ça pourrait se générer via Godot.

Pour le client du milestone 0.1, on n'aurait qu'à se soucier de quelques classes et méthodes de l'Entity Game Service et du Global Position Manager Service, en gros.

Pour celles qui veulent, je peux partager mon .svg si vous voulez jouer avec  :)

Et pour celles qui veulent avoir quelques billes sur ce qu'on avait trouvé dans OpenNeL :
- https://khaganat.net/wikhan/fr:serveur_tour
- https://khaganat.net/wikhan/fr:commandes_serveur_ai_share
- https://khaganat.net/wikhan/fr:commandes_egs

Cliquez pour afficher le message
Moi je suis d'accord avec comme elle a dit Zatalyz.

Mais je ne suis pas aliéné  :balai:
Licences Mentions légales Accueil du site Contact