Il y a en ce moment sur RAIF une discussion très intéressante sur Inform 7 et TADS 3.
J’aurai beaucoup de mal à résumer la discussion avec clarté, mais en gros, TADS 3 a été choisi par un groupe qui cherche à écrire une (ou des) fiction intéractive, après avoir étudié aussi bien TADS 3 que inform 7. Ce groupe est constitué de non-programmeurs.
Bien que les deux langages aient à peu près la même puissance d’expression, plusieurs points ont parlé en la faveur de TADS 3.
Noter que la difficulté d’apprentissage du langage ici n’entre pas en jeu puisque les deux langages semblent déjà assimilés dans une certaine mesure.
Si j’ai bien compris (je reformule et je peux extrapoler quelque peu) :
Ils préfèrent un langage à la syntaxe cohérente, structuré autour d’objets (ce qu’est TADS 3. Inform 7 aussi il me semble, mais ça ne se voit pas bien dans sa syntaxe).
Ils trouvent que la syntaxe d’inform 7 est trop lourde et les « distrait » de leur objectif de penser à leur histoire.
Ils préfèrent la cohérence du langage TADS 3 au mélange entre langage « naturel » et structures logiques de code ([if]… [otherwise]…) dans inform 7 .
contrairement à ce qu’on aurait pu penser, le côté « technique » de TADS 3 ne les rebute pas car une fois maîtrisé ils voient mieux comment réaliser leur objectif.
Le code en TADS 3 leur semble plus simple à relire et à re-modifier, notamment dû au fait de sa syntaxe, justement, et aussi du fait qu’il est basé sur des déclarations d’objets et non de « règles » comme dans inform 7. Il semble qu’inform 7 soit très bien pour écrire « vite » son histoire, mais ils pensent qu’il leur sera plus difficile à maintenir dans le temps.
Je trouve intéressant surtout le fait que TADS 3 ait été préféré à inform 7 par des « non-programmeurs », TADS 3 nécessitant incontestablement de maîtriser le langage de programmation sur lequel il repose (inform 7 aussi bien sûr, mais si j’ai bien compris un des objectifs de sa syntaxe en langage naturel est de rendre l’écriture d’IF plus simple pour des non programmeurs, son aspect langage de programmation est donc un peu masqué).
Personnellement, je n’ai pas accroché à inform 7 (mais je n’ai pas bien fait d’effort pour), et ayant des compétences en programmation TADS 3 m’attire depuis un moment déjà car la contrepartie de sa complexité annoncée est le fait qu’il est bon pour la réalisation d’IF complexes. Connaissez-vous ce système et si oui qu’en pensez-vous ?
oui j’ai vu cela. J’avais cru au début que le gars était enseignant dans une école (ou université), mais apparemment il enseigne à des gens qui ont déjà écrit et publié des livres.
J’ai survolé un peu le sujet sur RAIF. Au niveau de TADS3 contre I7, ne connaissant pas la syntaxe de TADS3 je ne me permettrais pas de juger, en tout cas cela ne m’attire pas énormément, cela semble trop langage de programmation conventionnel. À une époque je m’étais intéressé à Hugo, qui propose plus de choses qu’Inform, mais là aussi, cela rend la traduction longue et fastidieuse. J’ai l’impression que Tads3 a des facilités que l’on n’a pas forcément avec Inform 6, mais est-ce que cela serait transposable au français ? On a maintenant une bibliothèque Inform qui fonctionne plutôt pas mal (à la fois pour I6 et dans une moindre mesure compatible avec I7), cela n’encourage pas trop à aller voir du côté de Tads. Ensuite, quand on voit que la plupart des derniers jeux tads ne sont pas supporté par qtads, cela fait un peu peur, alors que la zmachine et glulx restent relativement compatible avec les vieux interpréteurs.
Enfin, je terminerais sur toujours le même exemple des jeux d’Emily Short, en particulier pour Bronze, le code source est super plaisant à lire, on a aussi l’impression qu’elle a eu du plaisir à l’écrire, c’est super clair, et cela donne des jeux très bien conçus au final (voir le système d’aide de Bronze). Quand je vois la facilité de décrire des scènes, de faire varier du texte avec Inform 7, de rajouter un objet, de créer automatiquement l’autre sortie d’une pièce, je trouve cela très séduisant.
Après, je peux comprendre que tu sois plus attiré par Tads3 qu’Inform 7.
Pour l’instant c’est surtout inform 6 qui m’attire Mais TADS, techniquement, me semble très bon. En revanche, j’ai regardé la license de TADS et QTADS : berk. Du bon gros freeware, impossible de l’inclure dans une distribution linux (et gargoyle non plus par la même occasion) car c’est tout plein de clauses « non-commercial » et « pas de travaux dérivés ». Le compilateur inform, c’est pas bien mieux mais au moins on a des interpréteurs libres, donc il est possible de vendre ton propre jeu + son interpréteur (même si on est loin de le faire, quoique un simple CD vendu 5 euros avec des IFs serait interdit…), mais avec tads impossible de vendre ton jeu + interpréteur linux.
Bref, je suis bien déçu, car je suis sûr que TADS est un excellent système (pour moi le fait qu’il soit proche d’un langage de programmation objet conventionnel est justement un avantage) et j’aurais même été motivé pour le porter en français (plus tard, là je suis bien occupé hein ), mais je ne le ferai pas tant qu’il n’existera pas un interpréteur libre pour toute plateforme.
Il est d’ailleurs inclus dans les paquets officiels Debian dans la partie « libre » (contrairement à tads2 et tads3 qui sont inclus aussi, mais dans la partie non libre)
« non-commercial » et « pas de travaux dérivés », je pense que c’est pour le code source du compilateur seulement. Inform fait pareil, c’est pour éviter les forks que cela pourrait entrainer. Quand on voit angband et nethack, on peut comprendre que les auteurs de tads et inform veulent éviter ce genre de dérive. Néanmoins, dans le cas d’inform, il est possible de créer des bibliothèques différentes pour gérer le jeu (voir platypus) (peut être aussi pour tads). Je ne jugerai pas le bien fondé de la chose, je n’ai pas spécialement d’avis dans un sens comme dans l’autre, en tout cas à ma connaissance la plupart des systèmes de IF fonctionnent ainsi. (enfin si j’ai un peu un avis, la grammaire française n’est pas « libre » non plus, pour garantir son unité, néanmoins dans le cas d’inform et tads je ne sais pas si cela boosterait ou pas leur évolution si c’était en GPL au lieu d’en opensource)
Je suis à peu près sûr d’avoir lu la même chose quelque part (peut-être sur R*IF ou la TADS 3 discussion list), mais pour le moment je n’arrive pas à le retrouver. Par contre, ce message de Mike Roberts sur la TADS 3 discussion list (on peut lire aussi les réponses à ce message) montre qu’il avait un moment envisagé de faire passer TADS 3 en open source, mais je ne sais pas ce qu’est devenue cette idée depuis.
Je ne connais pas beaucoup TADS 3, mais une chose qui m’intéressait dedans, a priori, était la façon que ce langage a de gérer les « grammar rules » (j’en parle dans ce sujet sur rakontointeraktiva), qui devrait permettre de gérer des parsers avec des grammaires compliquées, même dans d’autres langues que l’anglais.
Pour ce qui est de savoir si TADS 3 est mieux ou moins bien qu’Inform 7 (voire 6) : je ne m’y connais de loin pas assez pour donner mon opinion. Mais je suppose que c’est simplement une question de goût personnel. En tout cas, tous permettent de faire de très bons jeux IF, et ils donnent tous une vraie impression de « professionnalisme » – nettement plus que des systèmes pourtant payants comme ADRIFT ou Quest, d’ailleurs, qui ont sans doute leurs côtés sympathiques (du moins ADRIFT) mais font beaucoup plus « bricolés », « amateur ».
Merci pour ces liens, je ne savais pas que la question avait été soulevée, il n’y a pas si longtemps d’ailleurs.
J’aime bien la réponse d’Adam Thornton lists.v-space.org/archive/tads3/ … 00005.html
Dommage que Michel Nizette ait retiré son projet d’internet (j’ai toujours une archive néanmoins), je ne sais pas à quel niveau c’était arrivé.
C’est intéressant l’idée de GrammarProd même si je n’ai pas tout compris.
Quelle est la partie que tu aimes bien ? (je n’ai que survolé sa réponse, hors contexte ça ne m’évoque pas grande chose )
En effet, j’ai confondu avec FrobTADS, du même auteur, qui lui est sous la licence de TADS 3 (et je n’ai trouvé aucun paquet de FrobTADS sur le net). J’ai bêtement déduit que QTADS devait partager la même licence, tant mieux s’il est libre, ça remet TADS au même niveau qu’inform sur ce plan. Je vais pouvoir sans scrupule y porter mon attention, ce serait super si on avait DEUX bon systèmes pour créer des IF, même si ce n’est pas la priorité.
je crois que frobtads utilise le même code que l’interpréteur de base, donc il doit garder la même licence que l’autre. Il est possible que qtads soit dans le même cas d’ailleurs, je viens de voir dans le code source, il y a des dossiers tads3 et tads2 avec les même entetes de licence « pas de dérivé » etc.
À mon avis c’est juste l’interface qui est GPL. Je vais contacter Mike Roberts à ce sujet pour clarifier la situation, je devais d’ailleurs lui poser de questions sur ifdb et babel.
Je viens aussi de regarder le code de QTADS, et comme FrobTADS il repose sur des fichiers sources de TADS, mais dans QTADS la licence pour ces fichiers est double, au choix GPL ou TADS3 !
J’ignore pourquoi il n’a pas fait de même pour FrobTADS.
En effet, dans son cas la GPL ne semble pas convenir. En revanche pour les jeux en eux-même, la clause « virale » de la GPL n’est pas forcément une mauvaise chose en soi je trouve (idem pour la clause SA des CC).
Au passage, quelle est la license de la lib francophone pour inform ? Il faut que ce soit une license qui autorise la liberté de choix des licences pour ses dérivés (nos jeux !), sinon impossible pour nous de choisir la licence de notre choix pour nos productions. Je sais que la licence d’inform, bien que non libre, a une clause disant que nos jeux sont entièrement à nous, mais qu’en est-il pour la version française ?
en suivant le fil donné plus haut, j’ai noté cela :
un peu bizarre, je ne sais même pas si c’est « légal » par rapport à la GPL de faire ça. À l’extrême, je ne sais pas non plus s’il est possible d’avoir un fichier genre interpreteur.c sous gpl, et de compiler avec un fichier genre screen.c sous une licence incompatible avec la gpl (je ne crois pas en fait).
Par certains côtés c’est ce qui est fait en utilisant des bibl. non « libres » (verlib.h « ! Copyright Graham Nelson 1993-2004 but freely usable (see manuals) » dans un jeu dont le reste du code est sous gpl…
Pour la lib francophone, je ne sais pas s’il est possible de mettre une licence gpl sur un dérivé de la bibl. anglaise (toujours le « Copyright Graham Nelson 1993-2004 but freely usable »). À mon avis pour ces bibliothèques on n’a peut être pas trop le droit de les relicencier. Peut-être que je pourrais aussi demander à Graham Nelson ce qu’il en pense
En tout cas si cela ne tenait qu’à moi, je mettrais en BSD, ce qui me semble le plus dans l’esprit.
Il n’est en effet pas possible de mettre la lib francophone en GPL, cela imposerait à tous les jeux qui en dépendent de l’être aussi. J’aime la GPL pour mes (mon) jeux, mais pour une bibliothèque sensée laisser la liberté de choix elle n’est pas adaptée, on est bien d’accord sur ce point.
De toutes façons le copyright est détenu par Graham Nelson. A priori le « Copyright Graham Nelson 1993-2004 but freely usable (see manuals) » de la lib francophone donne cette liberté, en revanche son copyright permet-il la modification comme on l’a fait, au plan strictement légal ? Dans l’esprit, oui puisqu’il a prévu lui-même qu’on adapte ces fichiers, mais qu’en est-il dans les textes des licences ?
Concrètement, oui, pour moi c’est légal. Vu que tout QTADS est GPL, alors la version de tads qu’il contient aussi, et donc si je veux je la reprends, je la modifie, et la redistribue en GPL. Légalement je peux. Ça veut dire qu’un fork EST possible, maintenant que ce code est GPL il n’est pas possible de revenir en arrière (enfin, pour les futures versions si, mais pour la version actuelle ce qui est fait est fait).
Un bon point (pour moi) pour Mike Roberts ! Espérons que dans la pratique il n’y aura PAS de fork.
je voulais dire que je ne pense pas que la gpl autorise à mettre du code sous « gpl » pour un seul logiciel, tout en gardant la restriction pour les autres, à mon avis il y a une contradiction à ce niveau. « a special permission to release that particular port », ou alors il s’est fait « avoir » ne sachant pas bien ce que cela entrainerait pour son logiciel (c’est à dire le passage en gpl de tout l’interpréteur, sans restriction)
Oui en effet j’y vois aussi une contradiction. Enfin, disons que à l’origine il s’agit bien d’une permission spéciale, mais il ne peut pas la restreindre à QTADS.
En revanche le code de TADS 3 diffusé par Mike Roberts, lui est bien sous licence TADS3, il existe ainsi deux versions différentes de TADS, sous deux licences. Mais rien n’empêche d’extraire la version qui est avec QTADS et d’en faire une version concurrente de l’officielle. Je ne sais pas si Mike Roberts a réalisé ce point.
Concernant TADS et Inform, j’ai peu de choses à dire. Je n’ai jamais essayé TADS, préférant Inform. En ce qui concerne I7 et I6, certes I7 est plus pratique pour la description des lieux et la gestion des effets annexes (images, sons, vidéo…) Pour le reste, je préfère I6. I7, avec son mélange code naturel - code classique me pose encore des problèmes… Je dois pourtant dire que j’aime beaucoup l’interface de I7.
c’est quand des développeurs décident de modifier la direction de développement d’un projet en en créant un nouveau sur la base du premier, dans le but de l’améliorer à leur goût, ou de faire suivre une autre politique :
Il s’agissait apparemment de « non-programmeurs » qui ne sont pas allergiques à la programmation, ce qui n’est pas le cas de tous les « non-programmeurs » (et parmi ceux-là, distinguons ceux qui préfèreraient la programmation avec Inform 7, puis ceux qui choisiraient un éditeur comme ADRIFT, et enfin ceux qui n’écriraient qu’avec un traitement de texte, voire un papier et un stylo). En tant que « non-programmeur » qui programme, je préfère Inform 6 mais je n’ai pas vraiment testé Inform 7 à fond.
Pour TADS, je ne sais pas ce qui a empêché sa traduction en français. Soit l’objectif fixé était trop ambitieux (apparemment il était possible de faire une traduction plus simple ou simpliste de la grammaire, mais je n’en suis pas sûr), soit le temps a manqué (en relation avec l’ampleur de l’objectif, peut-être aussi). Pour ma part, je ne sais plus si je connaissais le projet de traduction de TADS au moment où j’ai commencé à traduire Inform. Ce dont je me souviens, c’est que j’avais le choix entre TADS qui avait une note pour les traducteurs de quelques lignes à propos de la gestion des caractères non-ASCII (je ne sais même plus si c’était géré), et Inform qui avait un guide du traducteur d’une vingtaine de pages avec des exemples en français, et plusieurs traductions réussies (dont celle en espagnol). Seul argument en faveur de TADS pour moi à l’époque : sa syntaxe, un peu plus proche du C/C++, un peu moins étrange que celle d’Inform.
Les traductions des bibliothèques Inform héritent probablement de la licence de la bibliothèque en anglais d’Inform. Mais bon, pas simples ces histoires.
Ça devait être vers 2000 : autrement dit, il n’y avait probablement que TADS 2 à l’époque, qui n’était absolument pas conçu pour faciliter la traduction dans d’autres langues, ce qui a été changé pour TADS 3 (qui est, rappelons-le, un langage différent de TADS 2 et incompatible avec lui, même s’il lui ressemble un peu et que l’interpréteur est le même).
Pour l’anecdote, je précise quand même que la communauté russe, à peu près à la même époque, avait choisi TADS 2 malgré tout ; je cite l’interview du traducteur Andrey Grankin, dans SPAG #48 :
Enfin, même aujourd’hui, il n’y a presque pas de vraie documentation pour la traduction de TADS 3 dans d’autres langues, à part les (nombreux) commentaires dans la library elle-même : ce travail devra probablement être fait par le premier à faire la traduction…
Bon, j’ai testé QTADS, mais c’est basé sur une vieille version de TADS3 et donc pas mal de jeux ne passent pas. Je me retrouve donc au point de départ avec aucun interpréteur libre pour linux.