Les corrections dans le projet "Lieux Communs"

Faites ici vos demandes de bêta-test, faites remonter des bogues, ou lancez des nouvelles collaborations et des projets à plusieurs !

Messagepar Otto Grimwald le Mar Juin 05, 2007 9:39 pm

tu as raison, c'est assez frustrant en plus si on est bloqué sans raison, ou parce que l'on n'a pas pensé à fouiller quelque chose etc.
Il me semblait que j'avais prévu de déplacer le cristal dans la seconde partie du jeu si le joueur ne l'avais pas pris avant, mais j'ai dû oublier.
Avez-vous déjà joué aux jeux de Legend entertainment ? Par exemple Death Gate ou Shannarah ? Ces jeux sont assez faciles, et surtout ils ont l'avantage de ne jamais coincer le joueur, chaque partie contient 5 ou 6 lieux, et il faut se débrouiller dans cet espace, mais on ne peut pas continuer si on n'a pas trouvé le bon objet ou résolu telle ou telle autre énigme. Du coup c'est assez linéaire, mais très agréable à jouer je trouve.

J'ai donc un peu modifié l'énigme en ajoutant quelques indications :
"J'avais envie de continuer dans cette direction, mais une intuition me faisait repenser que je n'avais peut-être pas fouillé de fond en comble ce chalet. De plus le chemin était ici bloqué par une végétation sèche et dense." (différentes réponses possibles suivant le contexte).
J'ai également ajouté de nouveaux verbes possibles pour la création de la torche.

N'hésitez pas à faire des remarques de ce genre lorsque cela coince à certains endroits, on verra ce que l'on peut faire pour corriger en conséquence !

(ps : cette scene est maintenant terminée, même si on peut améliorer la fin, la trame est là )

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

Messagepar Stormi le Mar Juin 05, 2007 9:58 pm

Bon, j'avance un peu dans la réflexion, et j'en arrive à une solution qui me semble correcte, mais qui implique certaines choses :

- Interdiction de l'utilisation de la commande "scene" ailleurs que dans le carrefour initial. En dehors, inviter le joueur à d'abord "recommencer" le jeu puis à choisir une scène. Cela simplifie énormément les choses.

- Dans chaque scène, création de fonctions pour gérer la réinitialisation des variables, le retour à la roulotte, etc...

exemple :
Code: Tout sélectionner
!==========================================================
! Routines

! Réinitialisation des variables et des objets
[ReInit190 init_tout;
    sarcophage190.vu_azt=0,
    sarcophage190.vu_egypt=0,
    sarcophage190.vu_nord=0,
    sarcophage190.vu_grece=0,
    fleur190.nb_casses=0;
    momie190.disparition();
    move cles190 to gard190;
    move gardien190 to gard190;
    move livre190 to reser190;
    give porte190 ~open locked;
    give porte_gard190 ~open locked;

    if (init_tout)
    {
        ! reprendre même les objets que le joueur pourrait emporter
        ! avec lui dans la roulotte s'il avait gagné
        remove Bandelette190;
    }
];

! Démarrer la scène : initialisation, compte à rebours et position du joueur.
[Demarrer190;
    ReInit190(false);
    StartTimer(momie190, 29); ! 29 tours avant le retour de la momie :)
    PlayerTo(piece190);
];

! Stopper la scène : réinitialisation, arrêt des timers
[Stopper190 init_tout;
    ReInit190(init_tout);
    StopTimer(momie190); ! Stopper le timer s'il est actif
    ! si le joueur a perdu des objets "portail" dans la scène
    ! les renvoyer dans la roulotte
    DeplacerObjetsImportants();
];

! Perdu
[Perdu190;
    Stopper190(true);
    perdu(); ! affichage message perdu ou retour roulotte
];

! Gagne
[Gagne190;
    Stopper190(false);
    gagne(); ! affichage message gagné ou retour roulotte
];


Remarques :
- une fonction ReInit190 qui fait la réinitialisation des variables et des objets.
- une fonction de démarrage Demarrer190 et une fonction pour l'arrêt Stopper190, qui font appel à ReInit190 et qui gèrent les timers
- On peut sortir de la scène soit par Perdu190, soit par Gagne190. Les deux fonctions font appel à Stopper190() puis aux fonctions génériques gagne() ou perdu(), qui affichent soit un message de fin de jeu, soit ramènent à la roulotte, selon le mode de jeu.
- Dans Stopper190, j'appelle une fonction DeplacerObjetsImportants (pas encore codées, mais l'idée est là) qui s'assure que les objets importants pour la fin, ou les objets qui ont une fonction de portail (carte postale, pendentif, vieux livre...) ne soient pas perdus dans telle ou telle scène. Concrètement, si un tel objet a été obtenu par le joueur PUIS qu'il le perd, on le lui rend ou on le met dans la roulotte, au moment où il y retourne.

Pensez-vous que je peux étendre cette solution aux autres scènes ?

[Edit : au sujet des objets "portail", je propose également qu'ils ne soient "actifs" que lorsqu'on est à la croisée des lieux communs, afin qu'on ne se téléporte pas de la plage au musée par exemple...]

[Edit 2 : une scène pourrait n'être rejouables que tant que la victoire n'a pas été obtenue dans la scène (l'objet portail deviendrait alors inactif en tant que portail)]
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: 1195
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Otto Grimwald le Mar Juin 05, 2007 10:44 pm

cela me semble très bien tout cela, sans restriction, si cela ne risque pas d'occasionner d'autres erreurs plus tard (attention que cela ne soit pas une usine à gaz et que l'on ne se retrouve pas avec trop d'objets à la fin, il faudrait justement pouvoir en épurer un peu au fur et à mesure. Avec le système de points il devrait être possible de tester à la fin si le résultat est correct ou pas, les objets secondaires devenant plus ou moins accessoires. Tu te sens d'attaque pour coder cela ?

(ps : au fait j'ai eu la réponse sur RAIF à propos de la réinitialisation, et ce n'est pas possible. Andrew Plotkin suggère de faire comme on a fait, une fonction pour réinitialiser le tout. Je pense également qu'il doit être possible d'utiliser des outils de déboggage pour avoir une liste auto de toutes les variables)

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

Messagepar Stormi le Mer Juin 06, 2007 7:07 am

Otto Grimwald a écrit:cela me semble très bien tout cela, sans restriction, si cela ne risque pas d'occasionner d'autres erreurs plus tard (attention que cela ne soit pas une usine à gaz et que l'on ne se retrouve pas avec trop d'objets à la fin, il faudrait justement pouvoir en épurer un peu au fur et à mesure. Avec le système de points il devrait être possible de tester à la fin si le résultat est correct ou pas, les objets secondaires devenant plus ou moins accessoires.

De quels objets secondaires parles-tu ? As-tu un exemple ? Pour les objets qui n'ont d'utilité qu'au sein d'une scène et pas dans la scène finale, la fonction ReInit les renverra à leur place dans la scène pour que le joueur ne conserve que ce qui est important. Seuls certains objets pourront être conservés : les objets portail et les objets qui ont une importance. Pour la scène de la plage cela serait donc l'ocarina et l'idole, si je me rappelle bien (et le galet qui est l'objet portail).

Tu te sens d'attaque pour coder cela ?

Oui, je vais mettre cela en place progressivement au fur et à mesure que je tester les scènes (je vais tenter d'être 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: 1195
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Juin 06, 2007 8:55 pm

J'avance. Pas encore de commit, mais ça vient [Edit : je viens de faire le commit, seule la gestion de la scène 190 est totalement en place mais je vais étendre ça aux autres]

J'ai créé une classe ObjetPortail pour tous les objets portail :
Code: Tout sélectionner
! Classe des objets portail
Class   ObjetPortail
with
    obtenu 0, ! 1 si obtenu par le joueur à un moment du jeu
    eviter_perte[;
        ! Si l'objet a été obtenu par le joueur (self.obtenu==1)
        if (self.obtenu==1
        ! Et s'il n'est pas possédé par le joueur
        && (~~IndirectlyContains(player, self))
        ! Et s'il n'est pas dans la roulotte
        && (~~IndirectlyContains(InRoulotte, self)))
        ! Alors le rendre au joueur
        {
            move self to player;
        }
    ],
has scored;


et la fonction DeplacerObjetsPortails est réduite à sa plus simple expression :
Code: Tout sélectionner
[DeplacerObjetsPortails x;
    objectloop(x ofclass ObjetPortail)
    {
        x.eviter_perte(); ! éviter que le joueur ne perde l'objet dans une scène
    }
];
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: 1195
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Otto Grimwald le Dim Juil 15, 2007 1:36 pm

Bon, Mule Hollandaise et JB, vous en êtes où ? Est-ce que vous souhaitez ajouter des choses à Lieux Communs, ou alors on le finit en vitesse dans l'état ?

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

Messagepar Mule hollandaise le Dim Juil 15, 2007 6:23 pm

Pour moi, c'est a priori bon ! :wink:
Mule hollandaise
Grand Ancien
 
Messages: 1079
Inscription: Mar Aoû 29, 2006 10:57 pm

Messagepar Stormi le Dim Juil 15, 2007 6:23 pm

Pour ma part les deux scènes qu'il me reste a debugger et a rendre rejouables sont celle du desert et celle du jardin, mais je veux le faire une fois que les auteurs les considéreront comme finies.
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: 1195
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar JB le Dim Juil 15, 2007 7:08 pm

Bonjour,

Je n'ai pas pour le moment les moyens de produire quelque chose de qualité (du moins, du standard de qualité que j'aimerais vous servir...).

JB

ps : Coder en inform 6 me manque et j'ai des pulsions de code mais rien de constructif pour le moment.
Avatar de l’utilisateur
JB
Grand Ancien
 
Messages: 510
Inscription: Mar Aoû 24, 2004 11:00 am
Localisation: Paris

Messagepar Eriorg le Jeu Juil 19, 2007 6:41 pm

stormi a écrit:Pour ma part les deux scènes qu'il me reste a debugger et a rendre rejouables sont celle du desert et celle du jardin, mais je veux le faire une fois que les auteurs les considéreront comme finies.

D'après les derniers messages de JB et de Mule hollandaise sur ce sujet, c'est le cas, et on peut donc s'y mettre quand on veut ? Ou ai-je mal compris ?
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 826
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Messagepar Eriorg le Ven Aoû 31, 2007 7:35 pm

Où en sommes-nous pour la version finale de "Lieux Communs" ? Quand faut-il la rendre, déjà ? (Avant octobre, je crois ?)
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 826
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Messagepar Otto Grimwald le Ven Aoû 31, 2007 10:57 pm

Peter Nepstad a envoyé un message il y a quelques jours pour que l'on rende la version finale + crédits des auteurs + solution + transcript etc le plus vite possible.
Je suis en train de m'en occuper.

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

Messagepar Eriorg le Sam Sep 01, 2007 10:20 am

Ah, d'accord !

Est-ce que ça ira, pour rendre jouables plusieurs fois les parties qui ne l'étaient pas encore ?
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 826
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Messagepar Otto Grimwald le Sam Sep 01, 2007 2:03 pm

je sais que Stormi avait presque tout terminé, mais sinon il faudra faire avec. Je vais essayer de réviser en vitesse un peu tout ce qu'il peut rester à faire, et on le laissera ensuite dans l'état... de toute façon il est déjà pas trop mal jouable, même s'il manque de touches de polish dans les coins.

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

Messagepar Otto Grimwald le Dim Sep 02, 2007 7:16 pm

Sur le modèle de ce qu'avait déjà fait E. Short pour un de ses jeux, j'ai réalisé une page pour jouer à la version zmachine de Lieux Communs :
http://informfr.tuxfamily.org/jlieuxcommuns2.html

J'espère que cela vous plaira, j'ai ajouté un cadre pour mettre dans l'ambiance. Je vais également étudier une version où on peut sauvegarder sur l'ordinateur, mais il faut pour cela accepter un applet java signé.

J'ai également réalisé une plaquette destinée au musée et également aux internautes, pour présenter brièvement le jeu :

http://download.tuxfamily.org/informfr/ ... ommuns.pdf

dites-moi si je dois modifier des choses là dessus.

(je viens de voir que c'était un peu redondant le coup des interpréteurs, je vais l'alléger : " Pour débuter le jeu sous MS Windows, veuillez simplement cliquer sur le fichier exécutable "Lieux Communs.exe" (celui avec l'icône de tentacule verte) ou ouvrir le fichier lieuxcommuns.blb avec votre interpréteur favori. Le reste des instructions et des aides figurent dans le jeu lui-même. Sur les autres systèmes (Mac OS X, Linux etc), vous pourrez jouer au jeu en récupérant un interpréteur pour votre plateforme.")
Dernière édition par Otto Grimwald le Dim Sep 02, 2007 10:59 pm, édité 1 fois.

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

Messagepar Mule hollandaise le Dim Sep 02, 2007 10:20 pm

Waouh, mais c'est une plaquette de pro ! Elle est vachement chouette, je trouve :D
Mule hollandaise
Grand Ancien
 
Messages: 1079
Inscription: Mar Aoû 29, 2006 10:57 pm

Messagepar Eriorg le Dim Sep 02, 2007 10:49 pm

Oui, la plaquette est bien. Je n'ai pas vu d'erreur dedans.

On pourrait peut-être ajouter mon pseudo entre parenthèses après mon vrai nom, comme pour les autres.
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 826
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Messagepar Stormi le Lun Sep 03, 2007 8:08 am

En fait je n'ai pas encore pris le temps de rendre les dernières scènes rejouables, il reste des problèmes tel que : si on mange le raisin on ne peut jamais finir la scène du jardin.

Je vais voir si je peux faire cela ce soir.
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: 1195
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Otto Grimwald le Mer Sep 05, 2007 12:40 pm

On arrive à la dernière ligne droite...
Je vais essayer de rendre le projet final en début de semaine prochaine ou en fin de celle-ci.

Si vous avez le temps, pourriez-vous relire le transcript final pour voir s'il y a des phrases ou des tournure à améliorer etc ?

http://ifiction.free.fr/lovecraft/transcript.html

Par exemple je lis ici :

L'ombre d'un monstre apparut dans l'encadrement de l'entrée de cette partie, il étendit ses longues ailes vers l'entrée de ce jardin.
L'ombre se résorba ensuite, et, pourtant guère rassuré, j'entrai malgré tout.


on peut difficilement faire plus plat (écrit à la va-vite) ! Je vais essayer de rendre cela un peu plus "angoissant" :)


allez, cette semaine c'est la foire aux bugs, les 4 premiers bugs signalés je vais essayer de les corriger sans discuter, sans "oui mais..." , et faire du mieux que je pourrais :)

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

Messagepar JL le Jeu Sep 06, 2007 3:18 pm

Il est beau, en tout cas, ce transcript.
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

PrécédenteSuivante

Retourner vers Bêta-tests et créations communes

Qui est en ligne

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