On voit bien la différence de fonctionnement entre la communauté et l'industrie. C'est comme la Bazar vs la Cathédrale, sauf que là la Cathédrale est construite uniquement pour être rentable, on la laisse à l'abandon une fois que la messe est dite (et que l'argent de la quête est collecté, évidemment).
Oui dans ce sens là. Parce que l’aspect qu’Eric Raymond semble oublier (mais ma lecture est très lointaine donc c’est peut-être moi qui oublie) c’est que la cathédrale médiévale n’est généralement pas finie par celui qui l’initie. Comme un arbre, elle met plusieurs générations à pousser, elle est pensée pour ceux qui viennent après, les plans changent en cours de route selon la géopolitique, les modes ou même l’état de l’art, certaines parties sont refaites. Et pendant tout ce temps, les gens vivent dans la cathédrale en chantier, avec les ouvriers, où se déroulent les cultes et les danses et la cathédrale médiévale est en réalité un véritable bazar. La cathédrale décrite par Eric Raymond est vraiment spécifique à notre époque, et ça dit quelque chose...
Quand Notre-Dame de Paris a brûlé et qu’Emmanuel Macron est partie en mode « je la rebâtirai en (削除) trois jours (削除ここまで)cinq ans » je me suis dit « non, s’il-vous-plaît, faites-nous un vrai chantier centenaire avec des supers métiers », non pas un chantier moderne où tout est fermé pendant la construction, et mettez en valeur l’artisanat !
Bref, je reviens au sujet du jeu vidéo... Oui ça correspond au modèle cathédrale tel que décrit par Eric Raymond, et c’est du jetable à usage unique, un peu comme certaines infrastructures de jeux olympiques (pour filer la métaphore des grand-messes contemporaines). Et comme c’est du jetable à usage unique, tu as genre les fermetures à clips que tu ne peux pas ouvrir de l’extérieur, non pas que ce soit pour t’en empêcher, mais que le fait de le réouvrir après fermeture n’était pas dans le cahier des charges et a été sacrifié sur l’autel (haha) de l’économie.
Des forks ont été faits et ont eu beaucoup de succès mais chacun a dû être maintenu indépendamment dans une communauté qui a déjà peu de ressources. Beaucoup de gens ont été découragés et il y a eu beaucoup de projets morts-nés [...]
Voilà c’est ça, le premier problème est le manque de main d’œuvre et de temps, donc toutes les économies faites pour livrer un produit qui ne devait pas durer deviennent des montagnes, et le coût est plus cher après qu’avant. C’est comme si une cabane qui coûte 100 avec 3 poutres peut tenir 3 ans mais que la maison qui coûte 120 avec 4 poutres peut tenir 30 ans, mais qu’une fois que la cabane avec 3 poutres est livrée, et qu’il faut tenir plus de 3 ans, il faut re-dépenser 50 pour faire les modifications. Toutes ces petites économies coûtent beaucoup plus cher que ce qu’elles économisent à la base, mais pour les trois ans d’exploitation prévue ça fait le boulot (je ne dis pas que les jeux id Software étaient prévus pour trois ans, c’est une analogie).
[...] mais d'un autre côté sans l'intervention d'un gros acteur comme id au moment des balbutiements de l'opensource, est-ce que le monde du jeu libre aurait autant de contributeurs aujourd'hui ?
Je ne sais pas. Il y aurait une un énorme vide de jeux libres à cette époque comparé à ce qu’on a eu, certainement.
On pourrait dire qu’il y a bien eu des moteurs écrit from-scratch comme le moteur Cube, mais quand je vois que l’auteur de Cube a nommé son format de modèle IQM pour Inter Quake Model, je suppose que les jeux d’id Software ont eu une grosse influence, et probablement leur libération aussi, car le besoin d’un format commun entre Cube 2 et des forks libres de Quake requiert que des forks libres de Quake existe.
Par contre un projet comme Godot aurait probablement existé même si id Software n’aurait rien libéré ni même jamais existé. Et donc au pire on aurait manqué plein de jeux et dérivés, mais probablement pas Godot ou un truc similaire, peut-être à un autre moment dans le temps. Rien ne dit d’ailleurs qu’un projet comme Godot ne serait pas apparu plus tôt.
Il y a eu plein de projets « from scratch », s’ils n’y avait pas eu le rouleau compresseur des codes id Software, certains auraient forcément eu plus de chance.
Donc l’uchronie est difficile à peindre, mais m’est avis que plus le temps passe, et moins l’impact d’id Software sera décisif sur notre présent. À un moment dans le temps un autre acteur aurait sorti des jeux de ce niveau, un autre acteur aurait sorti un moteur libre (peut-être communautaire dès le début), on a peut-être déjà passé le temps où le scénario le plus défavorable (où l’absence des actes d’id Software aurait provoqué un retard) serait rattrapé.
Maintenant qu'id Software ne libère plus de jeux, et que la vieillesse des moteurs darkplaces/QFusion/ioquake3/Daemon se fait de plus en plus ressentir (incapacité à tirer convenablement parti du multicore, par exemple), quel est le plan / quels sont les pronostics ?
Quake 3 a un héritage avec Quake, Doom avec Quake 3, et c’est probablement toujours vrai aujourd’hui. id Software n’a pas réécrit ses moteurs à partir de rien, parfois la réécriture remplaçait quasi tout au final, mais ça a toujours été itératif à ce que je sache, donc techniquement rien n’empêche la branche Dæmon ou la branche RBDOOM3-BFG d’évoluer vers ce que font les derniers moteurs d’id Software, qui sont tout à fait actuels.
Est-ce qu'il faut coder from scratch le nouvel idTech X ?
Donc je ne pense pas qu’il faille partir de rien. La nature des communautés open source, la nature humaine elle-même, et la nature du travail font qu’il est toujours plus raisonnable d’avancer de manière incrémentale.
Tu peux lire "Things You Should Never Do, Part I" par Joel Spolsky sur le sujet de la réécriture depuis la feuille blanche. À part que j’ai une nuance à ajouter quand il dit qu’il est plus facile de lire du code que de l’écrire, je suis intimement convaincu que ceci vient des notre système d’éducation et autres pratiques de notre industrie. En tant que contributeur de logiciel libre mon expérience est toute contraire, parce que ma première approche est de contribuer à de l’existant et c’est le passage quasi obligé, avant de pouvoir écrire depuis une page blanche je ne modifie (écrit) que ce que j’ai préalablement lu.
Ou est-ce que tu crois que Godot pourra répondre à tous les besoins d'un Xonotic ou d'un Unvanquished ?
Je vais être honnête, je ne connais pas assez bien Godot. Mais je ne vois rien qui par principe puisse empêcher de faire évoluer Godot pour qu’il puisse répondre aux besoins d’un jeu comme Xonotic ou Unvanquished.
La grosse différence c’est surtout que Godot est aussi une plate-forme de création. La plate-forme de création autour des moteurs id Tech est en très mauvaise état, avec des forks pires que les moteurs, j’ai donné un exemple pour un éditeur de niveau, mais c’est toute la chaîne de production qui est fragile.
Tandis que certains outils de création peuvent être encore un peu frustres, il y a un écosystème complètement libre autour d’Unvanquished et d’autres jeux libres ouverts amis pour créer des niveaux, des modèles, des textures, des effets sonores, et pour les distribuer de manière adéquate avec des formats efficaces.
Je me suis rendu-compte après, par l’expérience, que j’avais oublié une point qui n’est pas prêt. On a des contributeurs qui ont modelé et animé des modèles avec Blender, donc oui ça c’est bon. Il y a un greffon pour exporter du Blender vers du IQM et d’autres l’ont fait donc a priori c’est bon aussi (mais ça je n’ai pas encore fait moi-même). Il existe des outils pour visualiser des modèles IQM et parfois faire de petites retouches que j’ai pu faire moi-même donc ça c’est bon aussi. Par contre quand il a fallu transformer le modèle du nouveau "lasgun" en vue à la première personne pour être utilisable à la première personne... je n’ai pas réussi. Pour une raison que j’ignore encore le modèle qui a fonctionné à la troisième personne fut un modèle MD3 (le format historique de Quake 3) et c’est peut-être que notre moteur doive-t-être amélioré pour pouvoir utiliser proprement des MD3 à la première personne, mais voilà, il a fallu faire un MD3, un format utilisé par tous les projets dérivés de Quake3 depuis 1999 (on est en 2021, ça fait donc bientôt 22 ans qu’on manipule ce format), eh bien celui qui nous a transformé le modèle et fait les ajustements a utilisé 3DS Max qui a su gérer ce format selon nos besoins. Peut-être que Blender peut faire aussi bien ? Je ne sais pas, mais c’est la première fois depuis mes premières participations au projet (2013?) que je rencontre un cas d’usage spécifique qui a été résolu avec un logiciel propriétaire. C’est dire combien c’est rare, mais ça signifie qu’il existe encore dans les coins des zones d’ombres qui peuvent nous surprendre.
Godot est aussi une plate-forme de production, donc une partie d’elle est sensée être au point avec les capacités du moteur lui-même. À un moment il faut bien importer des formats depuis Blender ou autre chose, et prendre en charge des formats intermédiaires (si possible standardisés. Mais du côté des logiciels id Tech, la plate-forme de production souffre autant sinon plus que le moteur de jeu. Un jeu sera considéré comme libre si le code et les données sont couvertes par une licence libre, même si le logiciel produisant les données n’est pas libre, ça peut peut-être expliquer pourquoi il y a encore moins d’attention, de soin et de collaboration (et de survie des outils) du côté des outils de productions.
Comment tu verrais une uchronie dans laquelle id Software ne libère pas son code ? Est-ce que la communauté du libre développe ses moteurs dans son coin et arrive au même résultat ? Est-ce que ça prend plus de temps ? Est-ce que le code est de meilleure qualité ? Quand tu regardes les FPS pas basés sur un moteur issu de l'industrie (RedEclipse...), qu'est-ce que ça t'inspire ?
Je ne sais pas si ça aurait pris plus de temps, le code aurait pu être pensé différemment (pour les générations suivantes) certainement, de meilleure qualité peut-être pas. Je ne connais pas le code du moteur de RedEclipse (généalogie Cube / Sauebraten) mais il me semble que freem a un avis assez mitigé (euphémisme) sur la qualité du code de RedEclipse/Blue Nebula.
Je n’arrive pas à accrocher à ces jeux, mais c’est une affaire de goût. Je peux d’ailleurs expliquer le principal problème très peu rationnel qui m’a le plus inconsciemment détourné de Sauebraten : la faible combinaison de modèles et surtout de son (les mêmes pour tout les personnages) et le fait que ces sons m’insupportent m’ont toujours donné une impression de démo technique et m’ont toujours gâché le plaisir. Au final le code n’est pas en cause. J’imagine que la physique de chaque jeu a aussi un impact sur mes préférences, mais c’est encore une affaire de goût et ce n’est pas une question de qualité de code ni même de fonctionnalité. La démo jouable de Tesseract (toujours l’héritage Sauerbaten) ne m’a rebuté en rien, je jouerai sans problème à un jeu de ce genre.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: Bilan ?
Posté par Thomas Debesse (site web personnel, Mastodon) . En réponse à la dépêche Bâtir une communauté comme un service. Évalué à 4.
Oui dans ce sens là. Parce que l’aspect qu’Eric Raymond semble oublier (mais ma lecture est très lointaine donc c’est peut-être moi qui oublie) c’est que la cathédrale médiévale n’est généralement pas finie par celui qui l’initie. Comme un arbre, elle met plusieurs générations à pousser, elle est pensée pour ceux qui viennent après, les plans changent en cours de route selon la géopolitique, les modes ou même l’état de l’art, certaines parties sont refaites. Et pendant tout ce temps, les gens vivent dans la cathédrale en chantier, avec les ouvriers, où se déroulent les cultes et les danses et la cathédrale médiévale est en réalité un véritable bazar. La cathédrale décrite par Eric Raymond est vraiment spécifique à notre époque, et ça dit quelque chose...
Quand Notre-Dame de Paris a brûlé et qu’Emmanuel Macron est partie en mode « je la rebâtirai en
(削除) trois jours (削除ここまで)cinq ans » je me suis dit « non, s’il-vous-plaît, faites-nous un vrai chantier centenaire avec des supers métiers », non pas un chantier moderne où tout est fermé pendant la construction, et mettez en valeur l’artisanat !Bref, je reviens au sujet du jeu vidéo... Oui ça correspond au modèle cathédrale tel que décrit par Eric Raymond, et c’est du jetable à usage unique, un peu comme certaines infrastructures de jeux olympiques (pour filer la métaphore des grand-messes contemporaines). Et comme c’est du jetable à usage unique, tu as genre les fermetures à clips que tu ne peux pas ouvrir de l’extérieur, non pas que ce soit pour t’en empêcher, mais que le fait de le réouvrir après fermeture n’était pas dans le cahier des charges et a été sacrifié sur l’autel (haha) de l’économie.
Voilà c’est ça, le premier problème est le manque de main d’œuvre et de temps, donc toutes les économies faites pour livrer un produit qui ne devait pas durer deviennent des montagnes, et le coût est plus cher après qu’avant. C’est comme si une cabane qui coûte 100 avec 3 poutres peut tenir 3 ans mais que la maison qui coûte 120 avec 4 poutres peut tenir 30 ans, mais qu’une fois que la cabane avec 3 poutres est livrée, et qu’il faut tenir plus de 3 ans, il faut re-dépenser 50 pour faire les modifications. Toutes ces petites économies coûtent beaucoup plus cher que ce qu’elles économisent à la base, mais pour les trois ans d’exploitation prévue ça fait le boulot (je ne dis pas que les jeux id Software étaient prévus pour trois ans, c’est une analogie).
Je ne sais pas. Il y aurait une un énorme vide de jeux libres à cette époque comparé à ce qu’on a eu, certainement.
On pourrait dire qu’il y a bien eu des moteurs écrit from-scratch comme le moteur Cube, mais quand je vois que l’auteur de Cube a nommé son format de modèle IQM pour Inter Quake Model, je suppose que les jeux d’id Software ont eu une grosse influence, et probablement leur libération aussi, car le besoin d’un format commun entre Cube 2 et des forks libres de Quake requiert que des forks libres de Quake existe.
Par contre un projet comme Godot aurait probablement existé même si id Software n’aurait rien libéré ni même jamais existé. Et donc au pire on aurait manqué plein de jeux et dérivés, mais probablement pas Godot ou un truc similaire, peut-être à un autre moment dans le temps. Rien ne dit d’ailleurs qu’un projet comme Godot ne serait pas apparu plus tôt.
Il y a eu plein de projets « from scratch », s’ils n’y avait pas eu le rouleau compresseur des codes id Software, certains auraient forcément eu plus de chance.
Donc l’uchronie est difficile à peindre, mais m’est avis que plus le temps passe, et moins l’impact d’id Software sera décisif sur notre présent. À un moment dans le temps un autre acteur aurait sorti des jeux de ce niveau, un autre acteur aurait sorti un moteur libre (peut-être communautaire dès le début), on a peut-être déjà passé le temps où le scénario le plus défavorable (où l’absence des actes d’id Software aurait provoqué un retard) serait rattrapé.
Quake 3 a un héritage avec Quake, Doom avec Quake 3, et c’est probablement toujours vrai aujourd’hui. id Software n’a pas réécrit ses moteurs à partir de rien, parfois la réécriture remplaçait quasi tout au final, mais ça a toujours été itératif à ce que je sache, donc techniquement rien n’empêche la branche Dæmon ou la branche RBDOOM3-BFG d’évoluer vers ce que font les derniers moteurs d’id Software, qui sont tout à fait actuels.
Donc je ne pense pas qu’il faille partir de rien. La nature des communautés open source, la nature humaine elle-même, et la nature du travail font qu’il est toujours plus raisonnable d’avancer de manière incrémentale.
Tu peux lire "Things You Should Never Do, Part I" par Joel Spolsky sur le sujet de la réécriture depuis la feuille blanche. À part que j’ai une nuance à ajouter quand il dit qu’il est plus facile de lire du code que de l’écrire, je suis intimement convaincu que ceci vient des notre système d’éducation et autres pratiques de notre industrie. En tant que contributeur de logiciel libre mon expérience est toute contraire, parce que ma première approche est de contribuer à de l’existant et c’est le passage quasi obligé, avant de pouvoir écrire depuis une page blanche je ne modifie (écrit) que ce que j’ai préalablement lu.
Je vais être honnête, je ne connais pas assez bien Godot. Mais je ne vois rien qui par principe puisse empêcher de faire évoluer Godot pour qu’il puisse répondre aux besoins d’un jeu comme Xonotic ou Unvanquished.
La grosse différence c’est surtout que Godot est aussi une plate-forme de création. La plate-forme de création autour des moteurs id Tech est en très mauvaise état, avec des forks pires que les moteurs, j’ai donné un exemple pour un éditeur de niveau, mais c’est toute la chaîne de production qui est fragile.
Dans la dépêche sur la libération des dernières données non-libres d’Unvanquished j’ai écrit :
Je me suis rendu-compte après, par l’expérience, que j’avais oublié une point qui n’est pas prêt. On a des contributeurs qui ont modelé et animé des modèles avec Blender, donc oui ça c’est bon. Il y a un greffon pour exporter du Blender vers du IQM et d’autres l’ont fait donc a priori c’est bon aussi (mais ça je n’ai pas encore fait moi-même). Il existe des outils pour visualiser des modèles IQM et parfois faire de petites retouches que j’ai pu faire moi-même donc ça c’est bon aussi. Par contre quand il a fallu transformer le modèle du nouveau "lasgun" en vue à la première personne pour être utilisable à la première personne... je n’ai pas réussi. Pour une raison que j’ignore encore le modèle qui a fonctionné à la troisième personne fut un modèle MD3 (le format historique de Quake 3) et c’est peut-être que notre moteur doive-t-être amélioré pour pouvoir utiliser proprement des MD3 à la première personne, mais voilà, il a fallu faire un MD3, un format utilisé par tous les projets dérivés de Quake3 depuis 1999 (on est en 2021, ça fait donc bientôt 22 ans qu’on manipule ce format), eh bien celui qui nous a transformé le modèle et fait les ajustements a utilisé 3DS Max qui a su gérer ce format selon nos besoins. Peut-être que Blender peut faire aussi bien ? Je ne sais pas, mais c’est la première fois depuis mes premières participations au projet (2013?) que je rencontre un cas d’usage spécifique qui a été résolu avec un logiciel propriétaire. C’est dire combien c’est rare, mais ça signifie qu’il existe encore dans les coins des zones d’ombres qui peuvent nous surprendre.
Godot est aussi une plate-forme de production, donc une partie d’elle est sensée être au point avec les capacités du moteur lui-même. À un moment il faut bien importer des formats depuis Blender ou autre chose, et prendre en charge des formats intermédiaires (si possible standardisés. Mais du côté des logiciels id Tech, la plate-forme de production souffre autant sinon plus que le moteur de jeu. Un jeu sera considéré comme libre si le code et les données sont couvertes par une licence libre, même si le logiciel produisant les données n’est pas libre, ça peut peut-être expliquer pourquoi il y a encore moins d’attention, de soin et de collaboration (et de survie des outils) du côté des outils de productions.
Je ne sais pas si ça aurait pris plus de temps, le code aurait pu être pensé différemment (pour les générations suivantes) certainement, de meilleure qualité peut-être pas. Je ne connais pas le code du moteur de RedEclipse (généalogie Cube / Sauebraten) mais il me semble que freem a un avis assez mitigé (euphémisme) sur la qualité du code de RedEclipse/Blue Nebula.
Je n’arrive pas à accrocher à ces jeux, mais c’est une affaire de goût. Je peux d’ailleurs expliquer le principal problème très peu rationnel qui m’a le plus inconsciemment détourné de Sauebraten : la faible combinaison de modèles et surtout de son (les mêmes pour tout les personnages) et le fait que ces sons m’insupportent m’ont toujours donné une impression de démo technique et m’ont toujours gâché le plaisir. Au final le code n’est pas en cause. J’imagine que la physique de chaque jeu a aussi un impact sur mes préférences, mais c’est encore une affaire de goût et ce n’est pas une question de qualité de code ni même de fonctionnalité. La démo jouable de Tesseract (toujours l’héritage Sauerbaten) ne m’a rebuté en rien, je jouerai sans problème à un jeu de ce genre.
ce commentaire est sous licence cc by 4 et précédentes