Nouvelle version 2.3 de la bibliothèque francophone pour I6

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Sam Sep 06, 2008 8:21 am

Bonjour à tous !

J'ai de le plaisir de vous annoncer la finalisation et la diffusion de la version 2.3 de la bibliothèque francophone pour Inform 6, qui présente des améliorations notables par rapport à la précédente version 2.2.

Le site officiel http://informfr.tuxfamily.org et le kit de démarrage ont été mis à jour, vous pouvez donc y télécharger la nouvelle version.

Parmi la liste des changements listés ci-dessous, vous noterez en particulier la refonte des verbes de communication (parler, demander, dire, etc...) dont le comportement est devenu plus logique que dans la version 2.2. Cela a impliqué cependant quelques changements importants, dont la création d'une nouvelle action spécifique à inform en français : ParlerSansPrecision, qu'il ne faudra pas oublier de gérer sur les personnages non joueurs doués de parole.

J'ai écrit un petit topo sur le sujet : viewtopic.php?f=3&t=629

Le jeu ascenseur, dont le code et le binaire sont disponibles ici : http://ifiction.free.fr/telechargement/ ... ascenseur/ a été conçu comme un exemple d'utilisation des actions de communication avec les personnages.



Voici la liste des changements, issue du fichier lisezmoi_InformLibFR.txt
- Modification de la réponse standard pour fouiller, selon qu'on tente de fouiller un animé ou un inanimé.
- Correction de crashs liés aux verbes parler, demander et interroger.
- Amélioration et modification des verbes de communication avec les personnages :
-- Création de l'action "ParlerSansPrecision" permettant des formulations telles que : "parler à personnage". C'est une spécificité de la lib francophone car une telle action n'existe pas en anglais par défaut. Il est INDISPENSABLE de gérer cette action pour les personnages non joueurs, en plus des actions traditionnelles Ask, Tell et Answer. Y penser en cas de compilation d'un jeu ancien avec cette version (ou ultérieure) de la bibliothèque francophone.
-- ajout des équivalents ? et ! pour interroger et parler, ainsi que compréhension des commandes "? sujet" et "! sujet", signifiant respectivement "interroger sur sujet" et "parler de sujet"
-- Comme dans la version anglaise le verbe demander renvoie l'action AskFor si suivi d'un nom (noun) reconnu par le jeu, en revanche s'il est suivi d'un texte non reconnu (topic), cela devient l'action Answer, comme pour le verbe dire.
- Saluer est maintenant un verbe transitif : "saluer personnage" est maintenant une formulation reconnue, avec un message par défaut ("Vous saluez le personnage.").
- suppression des verbes peler, éplucher, décortiquer, qui renvoyaient Take, en tant que traduction de "peel off". Remplacés par le verbe "décoller" (un post-it, un chewing gum...).
- ajout d'un verbe : version fr / vf / version francaise indiquant quelle version de la bibliothèque francophone est utilisée.
- Pour le verbe dire et quelques autres, lorsque le destinataire est déterminé automatiquement, affichage de la préposition "->" au lieu de "à" qui pose problème pour "à le barman" ou "à le conducteur".
- Ajout de "regarder autour" équivalent à "regarder"
- Version passé à la première personne du singulier (1PSP, issue de lieux communs, sauf erreur) : la version French1PSP.h est maintenant à peu près au niveau de la version standard, même si elle n'est pas aussi neutre dans les formulations. Suppression de FrenchG1PSP.h, fusionné avec FrenchG.h. Pour utiliser la forme 1PSP, il suffit d'inclure French1PSP.h au lieu de French.h
- ajout des verbes utiliser et creuser sans rien preciser (actions VagueDo et VagueDig) : ils ne font que demander au joueur d'utiliser une formulation plus précise.
- Correction du message par défaut pour l'action Drink : l'action demande toujours un objet, le message "Il n'y a rien de buvable ici" n'était donc pas adapté et souvent faux. Remplacé par "Ceci n'a rien de buvable".
- Lorsqu'on tente de "goûter" un animate, on a maintenant le message "Cela ne serait pas très convenable." plutôt que "Vous ne remarquez rien de particulier" qui suggère qu'on l'a effectivement goûté.
- message misc 49 : "Pouvez-vous préciser le nom de l'objet à utiliser ?^" changé en "Pouvez-vous préciser l'objet concerné par cette action, ou à utiliser ?^"
- action "Rub" (frotter) : différenciation entre l'action selon qu'elle est sur un animate ou un objet, et passage du message au futur pour ce dernier (vous n'arriverez à rien comme ça) pour éviter de suggérer que l'action a réussi.
- Modification du verbe "chercher" qui était équivalent à "fouiller" dans la pratique. Comme on peut vouloir utiliser le verbe chercher un peu différemment (exemple : chercher des puces dans le chien) et que chercher est un verbe pas assez terre à terre (un peu comme "trouver" ou "résoudre"), il renvoie maintenant VagueSearch qui dit "utilisez plutôt 'fouiller'"
- amélioration de la grammaire du verbe "grimper/escalader/gravir" avec ajout des prépositions suivantes en plus de 'sur' : à, a, au, aux, par (exemple : grimper aux arbres, grimper à l'échelle. La préposition par n'est pas indispensable mais ne fait pas de mal au cas où on pourrait la rencontrer)
- modification de la grammaire du verbe "fouiller" pour qu'on puisse "fouiller dans" quelque chose
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Eriorg le Sam Sep 06, 2008 3:17 pm

Eh bien, bravo pour ton travail acharné, stormi !

Une ou deux questions sur des petits détails :

stormi a écrit:- ajout d'un verbe : version fr / vf / version francaise indiquant quelle version de la bibliothèque francophone est utilisée.

N'était-ce pas possible de le préciser dans la réponse à "version", plutôt que de créer un nouveau verbe ? En tout cas, ils l'ont fait dans Inform en allemand et en espagnol, par exemple ; voici les réponses à "version" de jeux dans ces langues :

Das Kopialbuch

Das nächtliche Abenteuer eines Schreibers
Beitrag zur textfire.de-Competition 2005
Copyright (c) 2005 by Maximilian Kalus

Release 1 / Serial number 050330 / Inform v6.30 Library 6/10 (deutsch)
Standard interpreter 1.1 (4F) / Library serial number 991120(bp)
Offizielle deutsche Inform-Library, Release 22, Serial 050212


El archipiélago
Una aventura de la mente.
Por Depresiv.
Teclea AYUDA para acceder al menú de Instrucciones.
Revisión 1 / Número de serie 040518 / Inform v6.21 Librería 6/10E
Estándar del intérprete 1.1 (4F) / Número de serie de la librería 021025(bp)
Librería Española InformATE! 021025


stormi a écrit:- action "Rub" (frotter) : différenciation entre l'action selon qu'elle est sur un animate ou un objet, et passage du message au futur pour ce dernier (vous n'arriverez à rien comme ça) pour éviter de suggérer que l'action a réussi.

Par "ce dernier", je suppose que tu veux dire l'animate, pas l'objet ? Si c'est le cas, la phrase n'est pas très claire. (Je n'en aurais sans doute pas fait la remarque si c'était juste un message du forum, mais comme ce texte semble devoir servir pour la documentation officielle...)
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 819
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Sam Sep 06, 2008 3:23 pm

Eriorg a écrit:
stormi a écrit:- ajout d'un verbe : version fr / vf / version francaise indiquant quelle version de la bibliothèque francophone est utilisée.

N'était-ce pas possible de le préciser dans la réponse à "version", plutôt que de créer un nouveau verbe ?

En fait il y a les deux. C'est précisé dans la réponse par défaut de "version" mais "version fr" permet d'avoir juste la version pour la lib francophone.
[Edit : ah non je dis une bêtise, ce n'est pas ajouté à la réponse à "version" simple. On pourra l'envisager pour la prochaine version.]

stormi a écrit:- action "Rub" (frotter) : différenciation entre l'action selon qu'elle est sur un animate ou un objet, et passage du message au futur pour ce dernier (vous n'arriverez à rien comme ça) pour éviter de suggérer que l'action a réussi.

Par "ce dernier", je suppose que tu veux dire l'animate, pas l'objet ? Si c'est le cas, la phrase n'est pas très claire. (Je n'en aurais sans doute pas fait la remarque si c'était juste un message du forum, mais comme ce texte semble devoir servir pour la documentation officielle...)

Non ce dernier c'est l'objet. Pour les animés c'est "Tenez donc vos mains tranquilles."
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Otto Grimwald le Lun Sep 08, 2008 8:08 pm

Félicitation Stormi pour ce travail !
J'ai mis en ligne la nouvelle version :
http://informfr.tuxfamily.org/#toc8

ainsi que le kit de démarrage.

Je vais voir ce que je peux rajouter dans le code pour Inform 7 (il est inclus dans l'archive et n'a pas toutes ces fonctionnalités pour le moment, mais j'y travaille)

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3008
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Mar Sep 16, 2008 10:19 am

Bonjour,
je jette un coup d'œil rapide sur la Version 2.3 du 05/09/2008 de la librairie française d'Inform 6.
Quelques propositions:

_Verb 'sortir': ajouter "par"
Sortir par la fenêtre

_Verb 'aller': ajouter "chez"
Aller chez le coiffeur, chez Toto

_Verb 'grimper': ajouter "dans"
Grimper dans l'arbre

_Verb 'poser': ajouter "par terre"
* multiheld 'par' 'terre' -> Drop
(mais aussi poser au/sur le sol?!)

_Verb 'mettre': ajouter "en marche/route" et "par terre"
* noun 'en' 'marche'/'route' -> switchon reverse;
* noun 'par' 'terre' -> Drop;
(mais aussi mettre "le feu" à ... ?!)

_Verb 'oui' : ajouter 'accepter' 'ok'
_Verb 'non' : ajouter 'refuser'

_Verb Actionner n'est pas gérer. Pourtant, comme "utiliser" c'est un verbe familier des joueurs d'aventure "point & click."

_Verb 'manger'
Est-ce que manger de l'ananas, manger l'orange fonctionnent?

Verb 'tirer' 'pousser'
Est-il possible de pousser/tirer "dans" le trou?

_Verb 'fermer': ajouter "à clef/clé" (seul)
Fermer la porte à clef

[SlockSub; <lock noun (second = noun.with_key)>; ];
Verb 'fermer'
* noun 'à'/'a' 'clé'/'clef'/'cle' -> SLock;
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Mar Sep 16, 2008 1:07 pm

Merci pour ces suggestions. Avant d'y répondre, je tiens à préciser que nous cherchons à faire évoluer la bibliothèque francophone de la manière la moins intrusive possible, et surtout d'une manière qui n'introduise pas une charge supplémentaire de travail pour les auteurs. Cela implique que nous ajoutons très rarement de nouvelles actions au jeu d'actions existantes. En revanche faire évoluer la reconnaissance des différentes formulations est souvent sans danger.

auraes a écrit:_Verb 'sortir': ajouter "par"
Sortir par la fenêtre

Il existe déjà "passer par" qui donne l'action Enter. En revanche, "sortir par" n'est pas reconnu, en effet.
Au plus simple, "sortir par la fenêtre" pourrait donner l'action <Enter fenêtre>. Ce serait donc équivalent à "passer par la fenêtre".
La difficulté, c'est qu'on ne sait pas dire si le joueur est à l'intérieur ou à l'extérieur, mais vu qu'on reconnaît déjà "Entrer par la fenêtre" comme équivalent à "Passer par la fenêtre" indifféremment qu'on soit à l'intérieur ou à l'extérieur, je ne vois pas de raison de refuser cette formulation. Je l'ajoute donc, ainsi que "sauter par la fenêtre".

Peut-être faudrait-il juste afficher un petit message si une telle action est utilisée ?
Exemple d'ordre incohérent, rattrapé par le message entre parenthèses :
> Sortir par la fenêtre
(passer par la fenêtre)

Vous vous faufilez à l'intérieur de la maison en passant par la fenêtre.

Qu'en pensez-vous, les uns et les autres ?


auraes a écrit:_Verb 'aller': ajouter "chez"
Aller chez le coiffeur, chez Toto

Ça me semble trop relever d'un besoin ponctuel pour être intégré par défaut à la bibliothèque, surtout que je ne vois pas à quelle action existante on pourrait rattacher cette formulation. À mon avis c'est à laisser faire aux auteurs au cas par cas (quitte à réaliser une petite extension si tu vois plus précisément comment elle devrait se comporter).



auraes a écrit:_Verb 'grimper': ajouter "dans"
Grimper dans l'arbre

Bien vu, j'ajoute.


auraes a écrit:_Verb 'poser': ajouter "par terre"
* multiheld 'par' 'terre' -> Drop
(mais aussi poser au/sur le sol?!)

Je me rappelle d'un auraes qui me disait qu'il ne fallait pas tout chercher à gérer avec les prépositions :P
J'ajoute la grammaire pour "par terre" et pour "au sol". "Sur le sol" était déjà géré car l'action PutOn sur l'objet d_obj donne l'action Drop au final.


auraes a écrit:_Verb 'mettre': ajouter "en marche/route" et "par terre"
* noun 'en' 'marche'/'route' -> switchon reverse;
* noun 'par' 'terre' -> Drop;
(mais aussi mettre "le feu" à ... ?!)
.
- OK pour mettre en marche/route (mais pourquoi reverse dans la grammaire ?).
- OK pour mettre par terre.
- OK pour mettre le feu (et mettre feu).


auraes a écrit:_Verb 'oui' : ajouter 'accepter' 'ok'
_Verb 'non' : ajouter 'refuser'

Il faudrait vérifier que les actions Yes et No sont vraiment utilisées dans ce sens (je ne les ai jamais utilisées personnellement)

auraes a écrit:_Verb Actionner n'est pas gérer. Pourtant, comme "utiliser" c'est un verbe familier des joueurs d'aventure "point & click."

OK, c'est maintenant un synonyme de utiliser.


auraes a écrit:_Verb 'manger'
Est-ce que manger de l'ananas, manger l'orange fonctionnent?

A priori oui.


auraes a écrit:Verb 'tirer' 'pousser'
Est-il possible de pousser/tirer "dans" le trou?

Non, mais j'ai du mal à voir les applications pratiques. Peux-tu développer ?


auraes a écrit:_Verb 'fermer': ajouter "à clef/clé" (seul)
Fermer la porte à clef

[SlockSub; <lock noun (second = noun.with_key)>; ];
Verb 'fermer'
* noun 'à'/'a' 'clé'/'clef'/'cle' -> SLock;

Je n'ai pas testé, mais il me semble qu'inform se débrouille déjà pour trouver la bonne clef si on l'a dans l'inventaire, non ? Si ce n'est pas le cas, tu peux noter une demande d'évolution sur flyspray pour ne pas qu'on oublie d'étudier cette proposition : http://informfr.tuxfamily.org/flyspray/ sur le projet informfr. L'inscription nécessite une validation de notre part mais elle sera rapide.
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Otto Grimwald le Mar Sep 16, 2008 8:01 pm

ces suggestions me semblent pleines de bon sens. Je suis en train de travailler sur Inform 7 en ajoutant le plus de tout cela.

> Sortir par la fenêtre
(passer par la fenêtre)

Vous vous faufilez à l'intérieur de la maison en passant par la fenêtre.

Qu'en pensez-vous, les uns et les autres ?


Cela me semble très bon. Ne pas oublier que si quelqu'un tape "sortir par la fenêtre" alors qu'il est à l'extérieur, il a délibéremment tapé une commande un peu absurde. Transformer cela en "passer par la fenêtre" permet de montrer que l'interpréteur n'est pas trop bête, et je ne vois pas dans quel cas cela pourrait déranger.
Par contre maintenant que j'y pense, cela va donner quoi avec une porte ? "Enter door" n'est pas reconnu il me semble.

Verb 'aller': ajouter "chez"


comme Stormi, je pense que c'est trop ciblé pour être utile : même si on l'ajoute, cela ne permettra pas d'implémenter dans le jeu une commande magique qui fera aller directement le joueur dans la bonne direction. Par contre on peut envisager de rajouter un "aller chez [topic]", qui dirait une phrase type genre "veuiller indiquer une direction avec les points cardinaux". Mais si un auteur veut l'implémenter pour son jeu, cela lui fera plus de souci (remplacement de bibliothèque). Personnellement cela ne me dérangerait pas que cela soit rajouté, à voir.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3008
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Mar Sep 16, 2008 9:34 pm

Otto Grimwald a écrit:Par contre on peut envisager de rajouter un "aller chez [topic]", qui dirait une phrase type genre "veuiller indiquer une direction avec les points cardinaux". Mais si un auteur veut l'implémenter pour son jeu, cela lui fera plus de souci (remplacement de bibliothèque). Personnellement cela ne me dérangerait pas que cela soit rajouté, à voir.

C'est tentant, à condition de trouver un message qui reste valable quel que soit le mode de déplacement choisi par l'auteur dans son jeu : points cardinaux, avancer/reculer (comme dans Gun Mute), directions sur un navire, ...
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Sam Sep 20, 2008 11:14 am

bonjour,
stormi a écrit:auraes a écrit:_Verb 'aller': ajouter "chez"
Aller chez le coiffeur, chez Toto
< Entrer chez > plutôt que < Aller chez >.

Verb 'asseoir' 'allonger' 'coucher'
! * 'vous' -> GoIn ! s'asseoir
Pourquoi ne pas renvoyer tout les VagueGo, VagueDig... sur un même VagueSaisie qui demanderait de préciser/compléter la saisie.
//-----------------------
Avant de modifier la grammaire d'un verbe il faut systématiquement vérifier son fonctionnement dans les fichiers verblibm.h et french.h. Pourquoi?
Code: Tout sélectionner
Verb 'regarder'
* noun                                  -> Examine
* 'sur' noun                            -> Examine
* 'dans'/'atravers' noun            -> Search
* 'sous' noun                           -> LookUnder
 * 'derriere' noun                       -> Search ! à la place de Turn

<Regarder objet> et <Regarder sur Objet> renvoient au même verbe: Examiner. Or ce sont deux actions très differentes.
La routine [SearchSub;(voir plus bas)] gère notamment les attributs supporter container transparent.
Donc "sur" pourrait être fusionner avec * 'dans'/'atravers'/'sur' noun -> Search
Et "derriere" pourrait être fusionner avec * 'sous'/'derriere' noun -> LookUnder
Code: Tout sélectionner
 
//-----------  Fichier verblibm.h
[ LookUnderSub;
    if (location == thedark) return L__M(##LookUnder, 1);
    L__M(##LookUnder, 2);
];
[ SearchSub f;
    if (location == thedark) return L__M(##Search, 1, noun);
    if (ObjectIsUntouchable(noun)) return;
    f = VisibleContents(noun);
    if (noun has supporter) {
        if (f == 0) return L__M(##Search, 2, noun);
        return L__M(##Search, 3, noun);
    }
    if (noun hasnt container) return L__M(##Search, 4, noun);
    if (noun hasnt transparent && noun hasnt open) return L__M(##Search, 5, noun);
    if (AfterRoutines() == 1) rtrue;

    if (f == 0) return L__M(##Search, 6, noun);
    L__M(##Search, 7, noun);
];

//----------- Fichier French.h
 LookUnder: switch (n) {
        1:  "Mais il fait noir !";
        2:  "Vous ne trouvez rien d'intéressant.";
 }
 Search: switch (n) {
        1:  "Mais il fait noir !";
        2:  "Il n'y a rien sur ", (the) x1, ".";
        3:  print "Sur ", (the) x1, ", vous voyez ";
            WriteListFrom(child(x1),
                TERSE_BIT + ENGLISH_BIT + CONCEAL_BIT);
            ".";
        4:  if (x1 has animate) "Tenez donc vos mains tranquilles.";
            else "Vous ne trouvez rien d'intéressant.";
        5:  "Vous ne pouvez pas voir à l'intérieur, puisque ", (the) x1, " ",
            (isorare) x1, " fermé",(es) x1,".";
        6:  print_ret (The) x1, " ", (isorare) x1, " vide",(s) x1,".";
        7:  print (The) x1;
            if (x1 has pluralname) print " contiennent ";
            else print " contient ";
            WriteListFrom(child(x1),
                TERSE_BIT + ENGLISH_BIT + CONCEAL_BIT);
            ".";
}

Il me semble que les messages par défaut devraient être le plus neutre et le plus sobre possible. Ils risquent d'entrer en conflit avec le "style" du jeu. Si le concepteur du jeu doit revoir tous les messages par défaut cela n'a plus de sens.
Exemple de message par défaut:
>> "Il est malheureusement fermé."
Pourquoi "malheureusement"; on ignore le contexte du jeu; c'est peut-être une chance qu'il soit fermé!
>> "Il est fermé."
Autres exemples:
>>"Vous ne pouvez pas sortir " / "Vous ne pouvez pas aller par là."
>>"Vous êtes incapable de gravir " / "Vous êtes incapable de descendre par "
Peut-être faut-il faire des choix dans les formulations, pour que les réponses soient plus homogènes. "Vous ne pouvez pas... (ou) Vous êtes incapable de..." ("incapable" est un mot assez antipathique!)
>>"Vous ne pouvez pas gravir..." / "Vous ne pouvez pas descendre par... "

Autre exemple:
"Vous chantez un morceau de la première chanson qui vous vient à l'esprit.";
Cette réponse est trop contextuelle pour être un message par défaut. Contexte dont on ne connait rien.
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Lun Sep 22, 2008 1:34 pm

Bonjour Auraes.

auraes a écrit:< Entrer chez > plutôt que < Aller chez >.

Le problème reste le même : aucune action ne convient. Imaginons que je suis à côté d'un ménestrel : si je tape "Entrer chez le menestrel", quelle action cela devra-t-il donner ? Enter ? Dans ce cas inform va comprendre que je veux entrer dans le ménestrel, cela n'est pas souhaitable. Une autre action que Enter est donc nécessaire, et cela relève soit d'une extension, soit d'un développement à faire par l'auteur d'un jeu qui veut gérer cette formulation.

auraes a écrit:Pourquoi ne pas renvoyer tout les VagueGo, VagueDig... sur un même VagueSaisie qui demanderait de préciser/compléter la saisie.

J'ai regardé : les messages sont très différents et bien plus clairs dissociés que tous dans un même VagueSaisie.


auraes a écrit:Verb 'regarder'[...]
Donc "sur" pourrait être fusionner avec * 'dans'/'atravers'/'sur' noun -> Search
Et "derriere" pourrait être fusionner avec * 'sous'/'derriere' noun -> LookUnder

Pour regarder derrière, j'ai fait cette suggestion sur le fil dédié aux discussions sur la bibliothèque francophone : viewtopic.php?f=3&t=221 mais nous n'avons pas encore atteint une décision, c'est pourquoi la proposition est toujours ouverte sur flyspray : http://informfr.tuxfamily.org/flyspray/ ... task_id=56

Pour regarder sur, il faut qu'on étudie la question, donc j'ai ouvert aussi une demande sur flyspray : http://informfr.tuxfamily.org/flyspray/ ... task_id=60

auraes a écrit:Il me semble que les messages par défaut devraient être le plus neutre et le plus sobre possible. Ils risquent d'entrer en conflit avec le "style" du jeu. Si le concepteur du jeu doit revoir tous les messages par défaut cela n'a plus de sens.
Exemple de message par défaut:
>> "Il est malheureusement fermé."
Pourquoi "malheureusement"; on ignore le contexte du jeu; c'est peut-être une chance qu'il soit fermé!
>> "Il est fermé."

D'accord sur le fait que les messages doivent être le plus neutre possibles.
Cependant le message de cet exemple intervient lorsqu'on tente de prendre un objet d'un conteneur fermé. Le malheureusement, quoique un peu fort, est lié au fait que le joueur a manifesté par une commande l'intention de prendre cet objet, or c'est (malheureusement) impossible.

auraes a écrit:Peut-être faut-il faire des choix dans les formulations, pour que les réponses soient plus homogènes. "Vous ne pouvez pas... (ou) Vous êtes incapable de..." ("incapable" est un mot assez antipathique!)
>>"Vous ne pouvez pas gravir..." / "Vous ne pouvez pas descendre par... "

Je pense que "incapable de" avait dû être retenu au départ comme traduction de "unable to", il faudrait voir au cas par cas, dans le contexte et en comparant aux messages en anglais, si c'est toujours pertinent.
Quand aux réponses homogènes, j'ai l'opinion inverse : je suis pour des messages hétérogènes car cela ennuie moins vite.

auraes a écrit:Autre exemple:
"Vous chantez un morceau de la première chanson qui vous vient à l'esprit.";
Cette réponse est trop contextuelle pour être un message par défaut. Contexte dont on ne connait rien.

Tiens, ça devait être de moi ça, j'avais trouvé ce message plus neutre que le message précédent "Vous chantez abominablement faux.". Pourquoi est-ce trop contextuel ? Et si ça l'est, que mettre à la place ?
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Dim Sep 28, 2008 4:08 pm

stormi a écrit:Pour regarder derrière, j'ai fait cette suggestion sur le fil dédié aux discussions sur la bibliothèque francophone : viewtopic.php?f=3&t=221 mais nous n'avons pas encore atteint une décision, c'est pourquoi la proposition est toujours ouverte sur flyspray : http://informfr.tuxfamily.org/flyspray/ ... task_id=56

Pour regarder sur, il faut qu'on étudie la question, donc j'ai ouvert aussi une demande sur flyspray : http://informfr.tuxfamily.org/flyspray/ ... task_id=60


La librairie anglaise le gère. (look on -> Search)
Verb 'look' 'l//'
* 'inside'/'in'/'into'/'through'/'on' noun -> Search
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Dim Sep 28, 2008 5:08 pm

En effet "look on" renvoie Search. J'ai effectué la correction.
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Dim Oct 12, 2008 11:27 am

J'ai noté la présence de l'extension " temporiser.h " dans les dépots.
La fonction marche de la manière suivante :
- si vous ne mettez rien en argument, le jeu attend simplement
que le joueur appuie sur une touche.
- si vous mettez un premier argument, il s'agira du texte affiché
par le jeu en attendant que le joueur appuie sur une touche.
- si vous mettez un second argument, il s'agira du nombre maximum de dixièmes de secondes que le jeu attendra.

Pourtant les fonction KeyDelay( time ), à peu près équivalente, existe depuis la version 6/11 de la librairie pour Inform6 (Z-machine et Glulx).
(ainsi que la fonction KeyCharPrimitive(),...)
Simplement pour rappeler de penser à lire le document " Inform Release Notes " qui énumère les apports de la version 6/11 de la librairie pour Inform6.
http://www.inform-fiction.org/source/library/functions.html
ReleaseNotes.pdf :
http://www.ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6.html
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Sam Oct 25, 2008 9:25 pm

Quelques suggestions - et critiques - pour les librairies:
/*** French.h ***/
il y a une espace entre les deux mots?!
Code: Tout sélectionner
Constant BUT1__WD     = 'mais pas';

Pour les menus : P aligné sous Q
Code: Tout sélectionner
Constant PKEY__TX     = "     P = précédent";
Constant QKEY1__TX    = "        Q = retour";
Constant QKEY1__TX    = "     Q =    retour";

Majuscule accentuée
Code: Tout sélectionner
Constant RKEY__TX     = "ENTREE = lire sujet";
Constant RKEY__TX     = "ENTR@'EE = lire sujet"; ! ENTRÉE

La présence de la propriété 'article' pour les objets CompassDirection ne semble pas justifiée.
Code: Tout sélectionner
CompassDirection -> in_obj "intérieur"
                    with door_dir in_to, name 'dedans' 'interieur',
                    article "l'";
CompassDirection -> in_obj "intérieur"
                    with door_dir in_to, name 'dedans' 'interieur',

ê î manquent: ( ae oe Î...)!?
Code: Tout sélectionner
[ LanguageContraction text;
    if (text->0 == 'a' or 'e' or 'é' or 'è' or 'i' or 'o' or 'u' or 'h'
                    or 'A' or 'E' or 'I' or 'O' or 'U' or 'H') return 1;
    return 0;
];

Et la table de pronoms ne fonctionne toujours pas.

/*** FrenchG.h ***/
Ajout de la préposition 'contre' : jetter, lancer, fraper, pousser... 'contre'
Ajout de Nager 'vers'
Ajout de 'mourir', présent dans la lib anglaise, comme synonyme de 'Quit'
Code: Tout sélectionner
Verb meta 'quit' 'q//' 'die' *      -> Quit;

Un peu de rigueur dans la programmation et la lisibilité des documents serait la bien venu.
Au hasard :
Code: Tout sélectionner
[ TexteComprenantEt mot ok;  ! pourquoi ok?!
    ok = false;
    do
    {
        mot = NextWordStopped();
        if (mot == 'et') ok = true;
    }
    until (mot == -1);
    if (ok) return GPR_PREPOSITION;
    else return GPR_FAIL;
];
[ TexteComprenantEt mot;
    do {
        mot = NextWordStopped();
        if (mot == 'et') return GPR_PREPOSITION;
    } until (mot == -1);
    return GPR_FAIL;
];

Il est possible - il me semble - de déployer une grammaire sur plusieurs lignes, ce qui permet de garder les " -> Verbe " alignés. Ce qui facilite la lecture, surtout celle de l'impression papier du document.
Code: Tout sélectionner
Verb 'parler' 'discuter' 'causer'
  * 'a'/'à' 'propos' 'de'/'du'/'des'/'d^' topic
    'avec'/'à'/'a'/'au'/'aux' creature           -> Tell reverse
;

J'ouvre mon bloc avec "Verb" et je le referme avec ";" ce qui facilite les ajouts, corrections... plus besoin de déplacer sans cesse le point-virgule.
Code: Tout sélectionner
Verb 'xxx'
   *                        -> Xxxx
;
Verb 'yyy'
   *                        -> Yyyy
   *                        -> Zzzz
;

Il serait souhaitable d'indiquer dans l'entête des librairies l'encodage avec lequel les documents ont été sauvegardés ( UTF-8, ISO-8859-1, ...)

Appeler la version 2.3 des librairies une version "stable" c'est pas un peu abuser !?
http://fr.wikipedia.org/wiki/Phases_de_d%C3%A9veloppement
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Otto Grimwald le Dim Oct 26, 2008 2:42 pm

Appeler la version 2.3 des librairies une version "stable" c'est pas un peu abuser !?
http://fr.wikipedia.org/wiki/Phases_de_ ... eloppement


Si je lis l'article de wikipedia cité, je trouve "Quand un logiciel peut accomplir toutes les tâches prévues, il arrive à sa version « finale » ou « stable »."

Il me semble qu'inform et les bibliothèques associées peuvent parfaitement accomplir toutes les tâches pour lesquelles ils ont été prévus.
Bien entendu il est toujours possible d'améliorer, c'est ce qui est fait continuellement, mais il faut bien décider de tester et figer des versions à un moment donné.

Pour le coup de "J'ouvre mon bloc avec "Verb" et je le referme avec ";" " cela me semble une bonne idée. On peut le rajouter au fur et à mesure.

Pour l'alignement des menus, il me semble que c'est justement corrigé par rapport à avant, pour que l'alignement soit fait tout à droite.

Pour ENTRÉE en majuscule, on peut l'écrire tel quel. C'est corrigé.

Pour l'article de "l'intérieur", je pense que cela a été ajouté pour pour écrire "l'intérieur" en entier. Je n'ai pas testé avec ou sans.

Pour "mourir", je ne vois pas trop l'intérêt. Si je joueur veut quitter, qu'il taper "quitter", on ne va pas non plus encourager le suicide :) De toute façon cela a été retiré dans la version anglais pour inform 7.

pour "il y a une espace entre les deux mots?!" je ne sais pas à quoi sert ce "mais pas", mais de toute façon cela s'écrit bien ainsi.

pour "LanguageContraction" à priori c'est valable seulement pour le début des mots. On peut effectivement rajouter ê (ce que je viens de faire). Pour les "oe" il me semble qu'inform gère cela très mal, donc on ne peut pas l'utiliser dans un jeu de toute manière.

Pour "nager vers", aucun verbe connu ne gère cela de base, alors le rajouter dans les entrées possibles ne servira pas je pense, ou alors il faudrait l'utiliser en synonyme de "go", avec les contraintes que cela implique. "Swim" a d'ailleurs été retiré d'inform 7.

Pour 'contre', je peux le rajouter.

Pas la peine de préciser l'encodage de ces fichiers, Inform 6 ne supporte pas UTF-8 de toute façon, et il faut impérativement rester en iso8859.

Merci de tes remarques, propositions d'amélioration, et critiques, par contre on aimerait bien voir un de tes jeux à l'occasion ;)

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3008
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Dim Oct 26, 2008 3:13 pm

Otto Grimwald a écrit:Pour l'alignement des menus, il me semble que c'est justement corrigé par rapport à avant, pour que l'alignement soit fait tout à droite.
Oui, mais "Q" n'est plus aligné sous "P". Avec < Constant QKEY1__TX = " Q = retour"; > l'alignement reste à droite mais "Q" saligne sous "P", ce qui me semble plus gracieux.

Otto Grimwald a écrit:Pour "nager vers", aucun verbe connu ne gère cela de base, alors le rajouter dans les entrées possibles ne servira pas je pense, ou alors il faudrait l'utiliser en synonyme de "go", avec les contraintes que cela implique. "Swim" a d'ailleurs été retiré d'inform 7.
<Nager vers> ou <marcher vers> ou <voler vers> ne change que le milieu dans lequel on évolue.

Otto Grimwald a écrit:Pour l'article de "l'intérieur", je pense que cela a été ajouté pour pour écrire "l'intérieur" en entier. Je n'ai pas testé avec ou sans.
Cela semble inutile, ainsi que pour Est, Ouest...

Otto Grimwald a écrit:pour "il y a une espace entre les deux mots?!" je ne sais pas à quoi sert ce "mais pas", mais de toute façon cela s'écrit bien ainsi.
Non, c'est une erreur. Le parser décompose la saisie en mots par les espaces qui la compose. Il comprendra "mais", "pas"; certainement pas "mais pas".

auraes a écrit:Merci de tes remarques, propositions d'amélioration, et critiques, par contre on aimerait bien voir un de tes jeux à l'occasion
Et moi les votres. :P

J'ai ajouté à ma librairie French.h à l'Array LanguageDescriptors table : au aux du
Code: Tout sélectionner
Array LanguageDescriptors table
   'au'     $$100000100000    DEFART_PK       NULL   
   'aux'    $$000110000110    DEFART_PK       NULL   
   'du'     $$100000100000    DEFART_PK       NULL
;
Il est possible aussi de les transformer au niveau de la saisie :
'au' devient 'à' 'le'
'aux' devient 'à' 'les'
'du' devient 'de' 'le'
'des' ('de' 'les') et déjà considéré comme un article indéfini pluriel dans l'Array LanguageDescriptors table.
Après tout ce sont des articles. Plus besoin des 'au'/'aux' 'du' dans la grammaire. (En Beta Test :mrgreen: )
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar auraes le Lun Oct 27, 2008 8:00 am

Getoff n'est pas utilisé dans FrenchG.h !?
Pourtant, < descendre de/du/des noun > devrait renvoyer vers un '->GetOff ' et non pas vers un '->Exit'.
Code: Tout sélectionner
Verb 'descendre'  * 'de'/'du'/'des' noun  -> Exit
Verb 'descendre'  * 'de'/'du'/'des' noun  -> GetOff

Ce qui est cohérant avec les routines Inform :
Code: Tout sélectionner
Verblibm.h :
[ GetOffSub;
    if (parent(player) == noun) <<Exit>>;
    L__M(##GetOff, 1, noun);
];
French.h :
GetOff:         "Mais vous n'êtes pas sur ", (the) x1, " en ce moment.";
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 317
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Lun Oct 27, 2008 9:22 am

auraes a écrit:
auraes a écrit:Merci de tes remarques, propositions d'amélioration, et critiques, par contre on aimerait bien voir un de tes jeux à l'occasion
Et moi les votres. :P

Pas de problème !

Pour l'instant je n'en ai qu'un petit (à part Ascenseur qui n'était qu'une démo/exercice) :

http://ifiction.free.fr/index.php?id=jeu&j=036
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Lun Oct 27, 2008 9:52 am

Auraes a écrit:Un peu de rigueur dans la programmation et la lisibilité des documents serait la bien venu.
Au hasard :
Code: Tout sélectionner
[ TexteComprenantEt mot ok;  ! pourquoi ok?!
    ok = false;
    do
    {
        mot = NextWordStopped();
        if (mot == 'et') ok = true;
    }
    until (mot == -1);
    if (ok) return GPR_PREPOSITION;
    else return GPR_FAIL;
];
[ TexteComprenantEt mot;
    do {
        mot = NextWordStopped();
        if (mot == 'et') return GPR_PREPOSITION;
    } until (mot == -1);
    return GPR_FAIL;
];


La version originale : retourne GPR_PREPOSITION pour tout un texte dont un des mots au moins est "et".
La version proposée : retourne GPR_PREPOSITION dès qu'il rencontre le mot "et", laissant en plan la fin de la saisie que le parser ne saura pas évaluer.
La variable ok sert justement à ça, garder en mémoire le fait qu'on a trouvé le mot "et" pour répondre en conséquence une fois l'ensemble de la proposition analysée.
Remarque : ce qu'il faudrait en réalité c'est réussir à ce qu'une grammaire de type : "* noun 'et' noun" fonctionne, c'est certainement possible d'une manière ou d'une autre.


(remarque : si je tutoie ce n'est pas par manque de respect mais simplement parce que sur le forum on se tutoie à peu près tous)
Je vais être franc Auraes : une partie non négligeables de tes propositions est pertinente et intéressante, et nous permet même d'aller plus loin que notre connaissance actuelle d'inform. J'ai cependant un problème avec ta manière de les proposer, j'espère que ce n'est qu'une impression due à un style un peu lapidaire : il donne l'impression que tu assènes une liste de Vérités (avec un grand V), avec la certitude que ce qui a été fait avant toi est faux et que tes proposition sont LA seule manière de faire.
Je sais que notre travail sur les bibliothèques d'inform est loin d'être parfait, et je te suis reconnaissant de nous pointer les erreurs que nous pouvons faire (ou les points que nous n'avons pas encore pris la peine d'améliorer). Cependant je dois réellement faire un effort pour passer outre la première mauvaise impression que me font certains de tes messages pour réussir à réfléchir aux propositions qu'ils contiennent de manière objective.

Cordialement

Samuel
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Nouvelle version 2.3 de la bibliothèque francophone pour I6

Messagepar Stormi le Lun Oct 27, 2008 12:37 pm

Question : quel est le sens de "pousser contre" ? PushDir est une action qui consiste à pousser vers une direction (nord, sud...) afin de déplacer un objet d'une salle à l'autre.
Samuel V.
Riez tant que vous pouvez, vilains bugs, vos créateurs n'auront pas la paix avant qu'ils ne vous aient éradiqués jusqu'au dernier.
Et alors ils recevront le label qualité Mimesis !
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1192
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Suivante

Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron