Bilan des 2 ans de collaboration Ryzom/Khaganat
En septembre 2014 nous avions annoncé le début d’une collaboration entre Khaganat et Ryzom, à laquelle Ryzom Core s’est aussi associé (même s’ils sont toujours timides et ne le disent pas trop fort).
Je laisserai chacun compléter ce bilan ; je parle ici au nom de Khaganat et de moi-même.
Avant tout, je suis vraiment satisfaite de cette collaboration. Pour moi, elle est vraiment positive et a permis à tout le monde de bien avancer. Bien sûr, ce n’est pas parfait, car il n’y a pas assez d’actifs, que ce soit sur Ryzom, Ryzom Forge, Ryzom Core ou Khaganat. Donc nous sommes tous surchargés de travail tout en ayant l’impression de ne pas avancer. Mais si, ça avance !
Côté Ryzom
Aujourd’hui, ajouter des objets de décor ou des objets tenus en main est possible et relativement facile. C’était les deux premières étapes côté Ryzom. Des gens ont proposé des objets ; je ne sais pas si c’est en place côté Ryzom. De mémoire, merci à Aileya et Remigra (Ryzom), Osquallo (Ryzom-Khaganat) et YannK (Khaganat) qui ont exhumé des objets oubliés dans les assets, proposé de nouvelles textures, créé des objets de zéro. J’ai probablement oublié des gens (ma mémoire n’est plus ce qu’elle était), je fais confiance aux lecteurs pour corriger mes oublis.
Les deux étapes suivantes ne sont pas encore possibles. Pour mémoire, il s’agissait de proposer des plans d’armes et des rites de tribus, et de créer une nouvelle zone de jeu. L’ARK permet sur Ryzom d’ajouter des rites, mais les équipes d’animations ont déjà fort à faire. L’ajout de plan n’est pas encore complètement maitrisé ; Depyraken (Ryzom) a cependant bien avancé dans la compréhension du système et a proposé l’ajout de la pêche et du bucheronnage, avec des compétences et des plans. Des impératifs personnels l’ont interrompu en plein travail et donc avant que ce soit en place en jeu, mais ce qu’il a fait est disponible en ligne pour qui veut le continuer ; sinon il faudra attendre son retour.
Côté Khaganat
Côté Khaganat, notre apport se fondait sur trois points, même si nous avons un peu débordé. Je reprends ce qui était décrit :
- Notre expérience du travail dans le monde libre : fédérer des bonnes volontés parfois brouillonnes, souvent dispersées, et en faire un tout cohérent et efficace.
Nous avons pris du temps pour discuter, en particulier avec Tamarea, des questions d’organisation, de ce qu’on pouvait attendre des bénévoles, etc. Je pense que tout cela a dû avoir un certain effet, car des échos que j’ai eus, la communication en interne est plus fonctionnelle et apaisée. Personnellement, je regrette que Winchgate reste encore beaucoup dans une logique d’entreprise propriétaire alors qu’elle s’appuie sur le travail gratuit de bénévoles, mais c’est parce que je suis une libriste anarchiste assez fanatique. Ça ne nous empêche pas de travailler ensemble et d’avoir de bonnes relations donc tout va bien. :)
- Partager notre année d’expérimentation et notre savoir-faire sur le moteur de jeu.
Sur ce point, nous avons publié au fur et à mesure ce que nous pouvions, et nous continuons à le faire. Nous avons aussi recopié une partie de la documentation servant aux buts de Ryzom Forge dans le wiki de Ryzom Forge. Je reviens sur le sujet plus bas, car cette documentation se révèle être l’enjeu premier de la collaboration.
- Donner la première impulsion de contribution via la participation des membres de Khaganat, en espérant que d’autres nous rejoindront ensuite.
Là-dessus, je dirais que le résultat est en demi-teinte. Le démarrage de Ryzom Forge a été bon. Les exemples de participation que nous avons donnés ont été suivis et repris par des membres de Ryzom (joueurs, membres de l’équipe). Il y a encore aujourd’hui une participation correcte. Mais j’avais espéré que la communauté de Ryzom s’emparerait plus de la possibilité qui lui était offerte. Je comprends aussi pourquoi le mouvement n’a pas été plus suivi : les outils ne sont pas toujours accessibles, en particulier pour les graphistes ; les propositions mettent longtemps avant d’être examinées sans parler d’être acceptées, ce qui décourage les plus enthousiastes. Ce n’est la faute de personne : c’est surtout la faute au manque de moyens humains. Il n’y a pas assez de monde pour la validation et ça embouteille ; il n’y a pas assez de gens compétents et maitrisant les outils, aussi, pour valider ce qui demande des compétences (tel que les ajouts de datasheets, les propositions de modifications du gameplay, l’ajout de zone, d’objets 3D). Khaganat n’avait pas pour but de fournir du contenu à Ryzom, même si certains de ses membres en ont quand même fourni ; le but était de montrer ce qui pouvait être fait. Nous sommes, de notre côté, tout autant bloqués par le manque de personnes et les outils dysfonctionnels.
La documentation
Je reviens sur la documentation. Au moment de la mise en place du partenariat, nous avions dans notre équipe un développeur très compétent (Madi), ce qui nous avait permis de comprendre et d’expérimenter un certain nombre de choses avec le code de Ryzom Core. C’était assez pour mettre en place des tutoriels comme “comment ajouter un objet équipable” ; ce savoir-faire, nous voulions évidemment le partager afin que tous les projets utilisant ce moteur de jeu puissent en bénéficier, et comme je l’ai dit plus haut, cela a permis l’ajout de contenu dans Ryzom, en rendant la manipulation plus accessible aux néophytes. Mais il y avait aussi beaucoup de choses que nous ne comprenions pas.
Il faut savoir qu’entre les déboires de Nevrax et les divers rachats de Ryzom, beaucoup de documentation et de savoir-faire ont été perdus. Quelques personnes sur Ryzom et Ryzom Core maitrisent assez bien l’ensemble ou certains morceaux précis (je pense notamment à Kervala, SFB, Kaetemi, Dfighter, Nimetu, Ulukyn et VL), mais soit ils passent déjà tout leur temps à coder et faire tenir l’ensemble, soit des impératifs personnels et professionnels leur prennent du temps. Et souvent, c’est un peu des deux ! Bref, ils font un super boulot et sans eux rien ne tournerait, mais ils n’ont pas le temps de transmettre leur savoir et de documenter.
De notre côté, sur Khaganat, nous ne sommes pas dev. On aimerait bien, mais rares sont ceux parmi nous qui parlent le C++ et autres langages bizarres. Déjà qu’on ne parle pas bien anglais… Nous partons de zéro et nous apprenons au fur et à mesure. Dès le début du projet, notre objectif a donc été de baliser pour les suivants, en documentant tout, y compris les choses les plus triviales. Je le disais déjà à l’époque, et c’est toujours aussi vrai : “Notre but est de documenter chaque étape afin d’en faciliter la reproduction à l’avenir.”
La reproductibilité est une des valeurs fondamentales de notre projet. Nous créons le monde de Khanat comme “proof of concept”, mais Khanat n’est pas important en soi. Ce que nous désirons, c’est que chacun puisse réaliser ce que son imaginaire invente. Nous rêvons de voir des projets d’univers variés fonctionnant sur ce superbe moteur. Pour nous, Ryzom est un de ces univers, au même plan que Khanat. Chaque fois que nous documentons quelque chose, ce n’est pas juste pour Khanat, mais pour tout le monde.
Nous avons posé beaucoup de questions sur #ryzom, perturbant les personnes citées plus haut, mais ce qu’ils disaient était ensuite noté, mis en forme, afin de faire de la documentation. Avec le partenariat, nous avons pu accéder à encore plus d’information, déjà en ayant des moyens pour embêter, heu questionner, Ulukyn plus souvent, mais aussi en ayant plus d’information sur des exemples qui n’étaient pas libérés (car ils contenaient des choses qui enlevaient du mystère à Ryzom), mais qui permettaient de mieux comprendre certains mécanismes du moteur et comment créer plus. Cela a entre autres donné lieu à une longue liste de définitions des .sitem et primitives ; il y a d’autres choses en brouillons sur l’ordinateur de l’un de nos archéo-codologue, mais après ce morceau il est devenu un peu dingue et bave beaucoup.
Au départ de la collaboration, nous espérions dupliquer la documentation, afin d’augmenter la participation des gens. Malheureusement, cela représente aussi énormément de travail. Il y a un an, j’avais d’ailleurs demandé l’avis des gens sur ce sujet 1). Je ne reviendrai pas sur ce qui est déjà expliqué dans ce post, car ça n’a pas trop changé. Côté Ryzom, Zorroargh, Zendae, Glorf et Vaiatua qui ont fait un énorme travail sur les wikis. Lyne, qui jongle entre Ryzom et Khanat, a aussi traduit beaucoup de choses. J’ai moi-même fait ce que je pouvais avant de craquer.
Dans un monde idéal, j’aimerais que la doc soit disponible au moins dans 3 langues : allemand, français et anglais, les deux premières, car c’est là que j’ai trouvé les plus gros contributeurs dans le monde du libre et sur Ryzom, la dernière parce que ça reste une langue passerelle qui est pratique. Je pense que nous aurions aussi énormément à gagner à intégrer les communautés espagnoles, portugaises, russes, chinoises et coréennes ; j’ai là aussi rencontré des gens et des projets passionnants et il y a probablement un vivier de contributeurs sous-exploité. D’après mon expérience, les gens contribuent plus et plus facilement s’ils peuvent le faire dans leur langue maternelle, car cela fait tomber une des difficultés. Documenter reste assez ennuyeux ; si en plus il faut traduire dans une langue qui n’est pas la sienne, on est vite découragé. Bref, je parle bien de monde idéal : dans la pratique, nos pauvres traducteurs ne sont pas du tout motivés par la doc technique, et pas assez nombreux. Tant que la doc existe… Il m’arrive d’utiliser Yandex pour traduire de l’allemand, que je comprends à peine, sur des logiciels que j’aime beaucoup ; si je peux le faire, je pense que d’autres peuvent aussi le faire. Je préfère une documentation existante, même en cyrillique, à pas de doc du tout.
Dans un monde idéal, la documentation serait aussi dupliquée sur Ryzom Core et Ryzom Forge. Cela améliorerait sa résilience. Si un des serveurs tombe, il en resterait encore 2 autres avec la documentation. Dans les faits, transférer la documentation entre des systèmes ayant un fonctionnement et une syntaxe différente n’est pas si évident. Ce n’est pas complexe, mais ça prend du temps. Je note que le sujet cité plus haut a soulevé les foules : 8 avis. Je me souviens qu’à l’époque, j’avais un peu l’impression de bosser pour rien et que ça ne m’a pas aidée de voir le nombre de gens qui se sentaient un minimum concernés par la question. Au fond, la documentation existe, et c’est (encore une fois) tout ce qui compte. Elle est transférable par quiconque pense que ça peut valoir le coup : il n’y a aucune restriction pour ça.
Le problème se pose en terme de forces vives, tant pour les traductions que les duplications. Sur Khaganat, nous sommes une petite dizaine, personne n’étant à plein temps et chacun de nous ayant déjà de quoi s’occuper largement. Il en est de même sur Ryzom, de ce que je sais : les bénévoles croulent sous le travail et n’ont pas vraiment de temps pour faire plus. Puisque nous n’avons pas les moyens, il faut faire avec ce qu’on a, même si c’est imparfait. On peut revenir sur un travail imparfait, l’affiner et le polir, même des années plus tard ; par contre, quand le travail n’est pas fait, on ne peut que le faire. Dans le monde du libre, on parle parfois de “do-it-cratie” (faisocratie en français, c’est encore plus moche), ou “yakafokon”, “c’est celui qui dit qui fait (et qui décide comment il le fait)”. Toutes ces notions expriment qu’il ne sert à rien de se plaindre et que si quelque chose ne nous va pas, alors il faut agir et faire. Comme moi avec le site web de Khaganat : je n’avais pas envie de m’y mettre, mais je savais qu’un site web correct, avec de bons outils de communication et de collaboration était important pour le projet, je m’y suis donc mise et ça marche, même si c’est avec beaucoup de rustines.
L’équipe Khaganat actuelle
Quand on ne passe pas son temps à faire le bot sur le canal #khanat, ce n’est pas évident de savoir “qui” nous sommes. J’invite Ryzom Core, Ryzom et Ryzom Forge à présenter leurs membres actifs à l’heure actuelle aussi : je trouve important de mettre en lumière les petites fourmis que nous sommes. Cela permet aussi de se rendre compte qu’il y a beaucoup de boulot pour peu de monde…
- Shepeng et Dremor travaillent principalement sur le côté sysadmin, c’est-à-dire la gestion de nos serveurs web. Pour être plus précis, Shepeng, qui consacre par ailleurs beaucoup de temps à Ryzom (c’est quelqu’un que vous avez sans doute croisé en jeu) est sysadmin de métier. J’ai toujours des remords à faire travailler quelqu’un bénévolement sur ce qui est par ailleurs son gagne-pain, et puis c’est un excellent raconteur d’histoire et je préfèrerais que son temps soit employé à travailler sur notre univers. Mais Shepeng est un professeur extraordinaire et grâce à lui, je me forme peu à peu sur ce côté sysadmin, j’y prends même goût. Dremor, quant à lui, ne vient pas de Ryzom, mais a été attiré par le côté libriste de notre projet. Il a commencé à travailler sur l’empaquetage du client pour les diverses plates-formes Linux, car pour le moment Ryzom ne s’installe via les dépôts que chez Ubuntu. Face à divers petits problèmes techniques et voyant comme on galérait avec le code, il nous a proposé de mettre en place un système pour favoriser la participation des devs. Je ne vous perds pas dans les détails techniques, mais en gros, depuis ce moment, il gère notre Gitlab, une forge logicielle. Ça n’a pas d’impact direct sur Ryzom : j’espère juste qu’en offrant la possibilité de bosser sous git (très populaire auprès des devs libristes), nous aurons plus de dev à un moment, et donc nous pourrons faire remonter ce qui concerne le système général à Ryzom Core.
- Lyne, que vous connaissez sous un autre nom en jeu, est avant tout une merveilleuse conteuse. Elle nous écrit donc des textes, de même qu’elle fait du RP sur Ryzom ; c’est une de ces personnes qui font vivre les mondes. Quasiment tous les lundis, elle traduit la réunion de Ryzom Forge en anglais et français ; elle travaille par ailleurs sur diverses traductions pour Ryzom (en jeu, sur le wiki…) . Du coup, quand on veut lui faire traduire la doc sur Khaganat, elle dit qu’elle n’a plus le temps… Ça me semble logique :D
- Siela1915 est un autre joueur très actif de Ryzom, qui vient aider chez nous. Sa spécialité, c’est la compilation du client pour toutes les plates-formes : Linux, Windows, Mac. Côté Ryzom, Kervala fait déjà ce travail avec une grande efficacité. Pour moi, Siela1915 est comme un padawan marchant dans les traces du Maître Kervala. Il est bon et compétent, passionné de C++, même s’il lui manque encore de l’expérience sur certains domaines (mais il apprend vite) ; je n’ai pas de doute que dans quelques années, il sera un des contributeurs actifs de la constellation Ryzom Core, osant soumettre plus de commit :)
- Deed est joueur sur Ryzom depuis 2005 et un autre de nos dev, même s’il n’ose pas se donner ce titre. Il y a un an, je crois que Deed n’avait rien fait de plus complexe en informatique que d’installer Ryzom sur Windows. Partant de zéro ou pas loin, il s’est acharné sur ses heures de loisir à percer les mystères du code, à coup d’essais et d’erreurs, le tout sans parler anglais. Je peux l’avouer maintenant : quand il a commencé à poser des questions sur Ryzom Core, je pensais qu’il allait se faire virer tellement il était noob. Mais il a progressé avec les informations qu’il grappillait et c’est finalement lui qui a trouvé comment relancer un serveur fonctionnel. Ça n’a pas d’impact pour Ryzom même, puisque les participants à Ryzom Forge peuvent faire des tests sur Yubo et que le serveur officiel n’est pas duplicable, mais c’est bien utile quand on veut ajouter des fonctionnalités. À présent, Deed explore les fonctionnalités du serveur, mettant en application la documentation qu’on exhume et en créant lui-même. Il participe aussi au leveldesign sur Ryzomforge. C’est un serial testeur. Il documente aussi quand il trouve un chemin praticable pour faire les choses ; mais en français, vu qu’il ne parle toujours pas anglais :)
- Osquallo, alias le Scoui, est un peu notre mascotte. Il n’a pas le temps pour participer vraiment, mais vient nous encourager régulièrement, ce qui fait du bien. Il a aussi de bonnes connaissances sur la partie 3D, ce qui nous permet parfois de comprendre des détails obscurs. Enfin, c’est un des plus anciens joueurs de Ryzom et il a accumulé au fil des ans beaucoup de connaissances sur le jeu et sur ce qui s’est passé autour : grâce à lui, nous avons retrouvé de la documentation perdue.
- Link Mauve, arrivé il y a peu de temps, vient du monde de Jabber/XMPP. C’est un expert dans ce domaine, en fait. Il pense que le moteur de jeu gagnerait à utiliser ce protocole pour les conversations ; après de longues discussions et des tests, nous sommes tombés d’accord avec son analyse. XMPP remplacera donc le système de chat actuel pour Khaganat, le jour où il aura le temps de voir ça ; nous enverrons la modification à Ryzom Core, qui verra si ça les intéresse ou non, et si cette fonctionnalité intéresse Ryzom aussi, ce sera peut-être mis en jeu. En tout cas, ce travail sera disponible pour qui souhaite l’utiliser.
- Balor, qui nous accompagne depuis le début, a peu de temps à consacrer à Ryzom et Khaganat, car il a un boulot de fou (je ne suis pas sûre qu’il dorme) : il nous fait de jolis dessins à l’occasion et c’est un de nos donateurs les plus prodigues.
- YannK est un des gros contributeurs sur des domaines variés. Il ne travaille à Khaganat qu’entre 20h et 23h : quand je vois la masse de choses qu’il arrive à faire dans un temps si court, je rêve de pouvoir le payer à bosser toute la journée pour nous. Il analyse ce qu’Osquallo et Deed trouvent, ce que Kervala, Ulukyn et les autres membres de Ryzom Core disent, et ce qu’il arrive à lire dans le code (il n’est pas codeur, même s’il s’est formé à python depuis qu’il a commencé Khaganat). Il est à l’origine de la plupart de la documentation technique qu’on peut voir sur Khaganat. Pour se détendre, il s’est aussi formé à Blender et fait des objets en 3D. Il en a proposé un certain nombre à Ryzom ; je ne sais pas si vous les avez en jeu ou non. Il a aussi exhumé dans les datas plusieurs objets quasi finis (avec les datasheets et tout) et les a signalés à l’équipe d’animation.
- Enfin, il y a moi, Zatalyz. Mon rôle principal au sein de l’équipe est de motiver tout le monde et de veiller à la bonne ambiance, ainsi que de communiquer (un peu) à l’extérieur. Je me suis formée à l’administration de serveur et de site web par nécessité, car personne d’autre n’était dispo. Je suis convaincue que les bons outils facilitent le bon travail, c’est pourquoi Khaganat héberge divers services que je juge de bonne qualité : etherpad, gitlab, dokuwiki pour les plus importants. La maintenance de tout ça me prend du temps ; je documente ce que je fais autant que possible, qu’il s’agisse de management, de gestion de communauté ou de la partie sysadmin, afin que d’autres personnes puissent reproduire ce que nous faisons. Je suis assez fière de mes choix, car malgré le peu de monde, le tout avance peu à peu et sans heurt.
Voici nos 10 plus-ou-moins actifs ; il y a d’autres personnes qui viennent parfois, puis repartent, parfois rapidement et parfois en restant quelques mois. Certains laissent derrière eux une empreinte : une histoire, une idée, des informations, comme TychoBrahe qui est venu il y a peu nous expliquer les bonnes pratiques en sécurité (d’ailleurs, maintenant, il faut que je fasse un document de ce qu’il a dit). D’autres sont spectateurs, souvent motivateurs à travers l’intérêt qu’ils portent à notre travail.
Je sais de source sûre que YannK et moi serions ravis de consacrer plus de temps à ce travail, je pense que c’est aussi le cas pour Shepeng et Deed. Je crois que les autres sont heureux que Khaganat reste un hobby, même s’ils ne sont pas contre une gratification. Pour nous quatre, la quantité de temps consacré à Khaganat dépend fortement de ce que nous gagnons par ailleurs.
Aussi, j’en profite pour vous signaler que vous pouvez aider à la réalisation de ce rêve, en faisant un don à Khaganat via Liberapay : https://liberapay.com/Khaganat/
Tous les gens inscrits dans l’équipe se partagent les dons reçus au nom de l’équipe. Si certains d’entre nous arrivaient à avoir assez pour payer les factures, notre temps consacré à Khaganat serait démultiplié. Bonus : vous pouvez nous soutenir à la hauteur de vos moyens, même en payant 1 centime par semaine (il faut quand même mettre un minimum de 15€ sur Liberapay, mais ça fait donc 1 500 semaines à 1 centime par semaine ^^ ).
À titre personnel, je fais ce que je peux pour gagner de l’argent, ce qui fait que forcément, je travaille de moins en moins pour Khaganat. Si j’étais réaliste, j’arrêterais de travailler pour Khaganat, mais je suis de ces personnes qui ont besoin de rêve pour vivre et ne peuvent pas se contenter de manger et dormir. Je gagne bien moins que 800€ par mois, en partie à cause du fait que j’ai une maladie assez handicapante qui ne me permet pas de faire n’importe quel boulot. J’adorerais pouvoir consacrer tout mon temps à Khaganat un jour :)
Voilà pour le tour d’horizon, n’hésitez pas si vous avez des questions, j’adore répondre aux questions !