Sortie de Livrant 1.1

Et voilà, ce n’est pas comme promis directement la 1.2 à cause du bug sur le chargement des fontes en JAVA. Mais il y a beaucoup de nouveautés.

Tout d’abord le lien:
http://gfamad.chez.tiscali.fr/Livrant.zip

(Rappel: Bouton droit/enregistrer pour éviter une erreur )

Alors quoi de neuf ? Et bien j’ai beaucoup été à l’écoute des gens de ce forum, et j’ai essayé de tenir compte de ce qui a été dit. Voilà ce que ça donne:

-Documentation (en txt pour l’instant) référençant toutes les instructions. Mais bon, l’étude des démos est indispensable pour comprendre l’organisation du programme.

-Cloak of darkness adapté. Mais je ne l’ai pas envoyé car je l’ai adapté en français. Et oui, mon objectif est de faire un logiciel dans notre langue car je trouve qu’il y a un manque de ce côté. Mais encore une fois, j’envisage une adaptation en anglais dans le futur. Chaque chose en son temps

-Gestion des Styles. il est maintenant possible de changer le style par défaut et de créer un nombre illimité de styles de texte. Ainsi on peut envisager des titres en rouge avec grosses lettres, et du texte en bleu sur fond vert. (beurk !). Comme ça chacun pourra donner à son aventure le style qu’il désire. C’est prévu aussi de rajouter de superbes polices, mais comme déjà dit dans une post précédant, un bug du JRE me l’interdit.

-Amélioration de l’analyseur de commande: Il supprime de lui même les articles. Ainsi examiner l’inventaire marche aussi bien que examiner inventaire. Du coup, il est possible maintenant d’envisager les comninaisons (poser manteau sur crochet). Voir ‹ Le manteau des ténebres ›

-Ajout des sauvegardes et chargement des parties

-Ajout des instructions conditionnelles de bloc. Ainsi, un bloc ‹ Verbe › ou ‹ Evenement › se voit éxécuté que si toutes ses instructions conditionnelles sont OK. De nouvelles instructions apparaissent alors: siParent, siInactive, etc…

-Ajout de la gestion des scores.

-Gestion dynamique des parents: On peut maintenant changer les parents des pages au cours de l’aventure. Pratique pour déplacer un objet d’une pièce à une autre !

-Beaucoup de nouvelles instructions (le double quasiemment) dont les saut de page qui fonctionnent comme les changement de page sauf que la page de destination n’est pas affichée.

-Et puis encore des trucs…

C’est sûr, l’esprit Livrant est encore là: Pas d’automatisation. Et je sais que ce point pourrait choquer surtout quand on connait les autres produits. J’ai mis plusieurs années avant de me décider à créer soit un système automatisé (avec des objets transportables, des surfaces, des container, etc…), soit une système libre comme Livrant. Le choix fut difficile, et je suis parti dans cette direction uniquement car elle diffère des autres. Au final, j’arrive en gros à faire tout ce que je veux avec Livrant. Et dès que je bute sur un obstacle, je crée une nouvelle instruction. Donc la conception de ce soft se veut dynamique, et j’ai besoin de vos avis. Je suis à l’écoute, et si une idée est bonne et ne chamboule pas trop le soft, je l’adapte.

En tout cas, le projet suit son cours, et si vous avez des suggestions, je suis preneur !

GFA-MAD

j’ai essayé depuis 2 navigateurs de télécharger la dernière version, et cela ne donne rien (y compris avec clic droit). Dommage car je viens d’installer java 1.5 sur mon vieil ordinateur, cela risque de ramer, mais au moins je pourrais le tester plus en détail.
Soit ton archive est corrompue, soit Tiscali déploie encore plus d’ingéniosité pour empêcher de télécharger depuis un autre site.
Peux-tu rajouter un seul index.html sur ton site, avec le lien pour ton fichier ?

Ce n’est pas difficile, copie juste cela dans un fichier texte intitulé index.html et envoie le sur ton site, cela devrait fonctionner :

<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="description" CONTENT="Livrant">
   <META NAME="KeyWords" CONTENT="livrant, interactive fiction">
   <TITLE>Livrant</TITLE>

</HEAD>
<BODY>
<a href="Livrant.zip" >Télécharger Livrant</a>
</BODY>
</HTML>

tu peux ajouter quelques textes en plus pour mieux présenter l’ensemble. Pour éditer du code html je conseille NVU nvu.com/ c’est suffisant (basé sur le moteur de netscape composer)

Sinon généralement les développeurs donnent un numéro différent à lleur fichier, en fonction de la version : livrant-1.1.zip par exemple. Cela oblige à modifier la page de téléchargement, mais permet aux utilisateurs d’archiver les différentes versions par exemple.

Sinon lorsque tu auras du temps, si tu le désires, tu peux nous en dire un peu plus sur toi sur cette page :

ifiction.free.fr/phpBB2/viewtopic.php?t=7

Il est rare de voir du monde s’intéresser aux fictions interactives, alors on veut en savoir plus :wink:

OK,OK,OK, je sais que mettre un lien comme ça, c’est bidon !

Voilà l’adresse de ma pageWeb. On peut pas faire moins je crois !
http://gfamad.chez.tiscali.fr/

Bon, je suis en train de réfléchir à l’avenir de Livrant.

J’ai beaucoup réfléchi au concept (en fait ça fait des années !), et j’allais créer un Livrant 2.0 basé sur une approche plus classique: Beaucoup d’automatisation (notion d’objets transportable, de conteneur, de surfaces, etc…) avec des actions automatiques sans qu’elles soient prévus par l’écrivain. Et puis encore une fois, cette méthode ne me convient pas. Ca ne racourci pas beaucoup la taille d’une aventure (car il y a des propriétés à coder), et puis il y a quelque chose qui me dérange dans le principe… Je me suis amusé avec Livrant à faire des trucs complexes (une porte qui s’ouvre après avoir actionné trois manettes dans l’ordre), des objets qu’on peut déplacer, etc… Et ça fonctionne. Donc le système me plait, et à chaque fois que je pense à un système différent, ça me convient pas, et je reviens à un système qui en fait est celui déjà existant.

Maintenant, un tel système doit évoluer. Je sais maintenant exactement ce qu"il faut, et je vais sans doute complètement réecrire le programme, et changer sa structure. Toujours le même esprit: Une grande liberté de création, mais je vais organiser plus en profondeur la structure. Enfin, je vais voir ce que ça donne, autant ça va pas être bon. Ainsi les blocs conditionnels devraient apparaitre, et chaque ‹ page › sera constitué d’un bloc affichage et d’un bloc action. Le bloc affichage sera exécuté quand la page sera … affiché et celui d’action quand la page sera cible d’une action (et à condition qu’elle soit affiché).

Mais bon, c’est des idées, et il faut que je programme tout ça pour fixer les idées.

Je vous tiens au courant…

GFA-MAD

j’ai pu essayer plus en détail Livrant, avec la bonne surprise que bien que cela soit en java, sur mon vieux amd 350 mhz, cela s’ouvre relativement rapidement.

Une petite remarque : les 8 exemples qui fonctionnent un peu comme un didactiel sont bien faits, et c’est dommage que tu les aies retirés dans la nouvelle version, car c’est plus digeste que le manuel. Je pense que les 3 se complètent bien : démos, manuel et exemples décrits.

Autre remarque : puisque l’on ne peut rien entrer dans la partie visualisation qui représente 90 % de l’espace, il serait pas mal que le « focus » de la souris donne directement accès à la ligne de commande lorsque l’on clique sur cette grande fenêtre, cela va plus vite pour y accéder. Un historique des dernières commandes (par la flèche du haut) me semble important également, mais qqu’un d’autre l’a déjà évoqué je crois.

J’aime bien que l’on puisse faire un menu type livre jeu directement et facilement: par exemple dans inform c’est la galère à coder, seul oui / non est implémenté. Mais il existe une bibliothèque pour faire cela facilement, avec de plus un « modeleur » d’aventure (IDE) : ingold.fsnet.co.uk/adbook.htm
Lorsque tu as annoncé Livrant, j’ai cru que c’était un projet similaire, basé sur inform :slight_smile:
D’ailleurs un IDE serait peut-être pas mal pour développer des aventures, mais cela doit être difficile à coder !
Au niveau des commandes et de la syntaxe, je ne suis pas allé dans tous les détails, mais Livrant semble riche, enfin il me faudrait essayer de coder une aventure pour voir ce que l’on peut vraiment faire avec. Mais si tu dois changer la syntaxe bientôt, il vaut mieux attendre un peu encore ? est-ce que tu comptes garder les commandes en français? Je suis un peu contre « l’anglais langage universel », mais en programmation parfois c’est plus simple, surtout si tu veux rendre le langage portable. En plus je trouve tes commandes un peu longues et pas pratique à identifier d’un coup d’oeil, ex : motCle, et je ne parle pas de ChangePageAlea. Pour motCle je verrais plus « alias », ou même « key », mais peut-être que c’est selon la sensibilité de chacun. Et pourquoi ne pas employer une codification comme en C++ de type page.change(alea) etc.
De plus, est-ce qu’il serait possible d’utiliser des genres de bibliothèques toute fairtes de réponse type ? Ainsi si dans un contexte particulier le joueur utilise des verbes usuels, la réponse semblera cohérente, même s’il n’y a rien à faire (c’est ennuyeux de taper dans un contexte « courir » ou « pousser porte » et de ne rien avoir en retour).

Bon, voilà qques remarques à chaud; Je vais continuer à étudier les exemples fournis.

ps : une dernière chose, vraiment accessoire, même est-ce qu’il est possible de passer outre l’aspect metallique de java 1.5 ? je n’aime pas trop les effets dégradés des barres et voudrait avoir une interface la plus simple possible…

ah bah j’avais oublié de me connecter, du coup je ne peux pas revenir sur les coquilles que j’ai laissées dans le texte précédent…

Merci Otto pour tes remarques. Je les ai toutes lues et vais essayer d’en tenir compte.

J’ai mis du temps à me mettre auu Java car j’étais persuadé que ça ramait. Jusqu’au jour ou j’ai programmé un émulateur Atari 2600 en Blitz Basic et en Java. Et j’ai eu la bonne surprise de constater que le Java tournait très très vite. Et ça s’améliore !

OK, je ne savais pas trop quoi faire de ces exemples que je trouvais ridicules…Mais à voir pour les réintégrer…

C’est vrai ! Au départ, le focus est sensé être au niveau de la ligne de commande. Mais si tu cliques ailleurs, tu dois le perdre. Je zieuterai ça pour la prochaine version…

Livrant n’est pas un séquelle d’Inform. Et je sais que c’est dur à croire, mais en codant Livrant, je n’avais aucune idée de comment fonctionner les autres softs (si, aller, une ou deux idées, mais sans plus). Ce qui me gêne le plus dans tous ces autres moteurs c’est la disposition du texte: On a le lieu puis les objets en dessous. Ca fait pas livre… Mais bon, c’est une histoire de gout…

La suite de Livrant va donc être plus structuré…Si je la fait. A ce stade je ne peux pas dire si je continue Livrant sous sa forme ou en commence la version 2. Voilà en vrac ce que je compte améliorer:

  • Structure du programme adaptée à une traduction facile.

-Présence de Blocs. Bloc Affichage quand la page est affichée. Bloc commande quand la page reçoit une commande, etc… De même, d’autres blocs pourront faire partie du bloc, et ainsi de suite.

-Reprogrammation complète.

  • Ajout des variables et des tests permettant de par exemple faire un test d’intelligence. On firt un peu avec les JDR & livre dont vous êtes le héro
    -Et puis on verra !

Mais toujours la philosophie reste la même: Quand on lit une page, on lit aussi les pages enfants actives, et de même pour l’envoi des commandes. Mais la structure en Bloc va pas spécialement augmenter ce qu’on peut faire (Avec Livrant 1.1, on peut quasiemment tout faire je crois…), mais structurer le tout. Même si de plus en plus Livrant risque de ressembler aux autres, il aura toujours le même fil directeur: Pas de schéma type…

OK, je prends note à simplifier les commandes. Mas c’est pas facile car il faut quand même que ça soit parlant…

J’y songe ! Ca serait plutôt des modèles. Mais à voir comment intégrer ça dans la nouvelle éventuelle structure…

C’est drôle comme les amateurs d’IFs on aime la sobriété ! Je mettrai ça quand même en dernier parmis les trucs à faire. C’est marant, car quand j’ai choisi une police pour Livrant, j’ai pris une à espacement fixe, écriture verte sur fond noir pour ressembler le plus possible aux antiquités sur 8 bits…Sacré nous !

Allez, merci pour ces remaques, j’attaque Livrant 2 et vous tient au courant. De toute façon, une chose est sûre, Livrant va évoluer !

GFA-MAD

Une dernière chose aussi, que j’ai oublié de mentionner, tu évoquais la possibilité d’avoir des images. Est-ce utile ? As-tu vu des livres-jeu sans image ? :wink:
Même si cela semble accessoire, je pense que de pouvoir insérer quelques images, au format png ou jpg, peut être un plus. Pour le jeu en Inform que je développe, j’en ai ajouté quelques unes, je pense que c’est mieux ainsi. (anamnese.online.fr/if/comerace.html)

Sinon à propos de l’aspect, comme j’avais dit, le fait de pouvoir jouer dans une console de commande (fenêtre dos par exemple), n’est pas mal aussi car cela permet d’offrir la possibilité de jouer à distance, ou d’avoir le visuel que l’on veut. Teste aiee pour voir : kuoi.asui.uidaho.edu/~kamikaze/Aiee/

De plus c’est pas mal d’avoir la ligne de prompt juste sous le texte qui s’affiche, au lieu de l’avoir dans une boîte fixe en dessous (en tout cas c’est bien d’avoir l’option de changer… en interactive fiction les gens aiment les choses simples, mais customisables, ce qui les rend compliquées à implémenter…).

Juste un message pour dire que suite à une mauvaise manip (volontaire de surcroit :blush: ), j’ai perdu l’intégralité des sources de Livrant 1 et 2 (qui commençait à être avancé…). Mais ce n’est pas dramatique car j’ai le canevas en tête, alors ça va pouvoir repartir. Mais bon, il va falloir que je reprenne tout à zéro pour le 3 ème fois. D’un autre côté j’aime bien reprendre les trucs à zéro…

C’est des choses qui arrivent.

GFA-MAD

Quel aplomb :slight_smile:

Bon courage!

:frowning:

c’est vraiment moche :frowning:

Bon sang, moi je ne me remettrais pas d’un truc comme cela. Effectivement, quel courage. Si tu as besoin, tu peux toujours nous envoyer tes sources future pour sauvegarde (on ne va pas les revendre…)

Merci les gars !

Mais je le prends cool, et je vais vous expliquer pourquoi:
J’ai commencé à programmé il y a 20 ans (en 1985 sur un Atari 800 XL) et j’avais pas de lecteur de cassette. Donc je passais ma journée sur un programme, et le soir, Zou j’éteignais la bécane et tout était perdu. Donc pour moi ce qui m’arrive est « logique ».

De toute façon, j’ai tout en tête, et vu que Livrant est le projet qui me tient le plus à coeur depuis que je programme, ben ça me dérange pas plus que ça. Je veux une structure de programme solide. Et pour celà, en remettant à chaque fois le programme question, on affine les méthodes et les classes. Ainsi on converge vers la forme la plus appropriée à la tache qu’on veut faire.

Je sais exactement ce que je veux pour Livrant 2. donc pas de soucis, c’est reparti comme en 40. Sauf que je vais un peu plus prendre mon temps pour les backups sur carte mémoire (chose que j’ai pas fait !)

A+

GFA-MAD