Commencement d'un Projet Inform 6

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

Modérateurs: Stormi, Otto Grimwald

Commencement d'un Projet Inform 6

Messagepar ThesmallgamerS le Sam Oct 06, 2007 9:25 pm

Bonjour a tous,

J'ai commencé il y a quelques temps un petit projet personnel, son but étant d'ameliorer les possibilités d'Inform 6. Inform 6 est un bon langage de programmation pour créer des romans interactifs, mais, malheureusement, il est très mal conçu pour créer des mondes virtuels textuel avancé doté d'une vie propre. La liste non exhaustive des problème de ce dernier est :
- Limitation des déplacements des joueurs selon des vagues notions (frustrante) d'Est/Ouest/Nord/Sud.
- Impossibilité de réaliser une I.A avancé pour les NPC, de les adjoindres un emploi du temps, difficulté d'introduire un système de discussion avec eux.
- Limitation des choix physiques du joueur selon ce que l'auteur a pensé ou non.

A ces problèmes sommes toute triviaux, Inform 6 possède aussi d'autre difonctions, notamment au niveau de sa gestion des Objets (informatique). La notion de classe est assez mal devellopé, et la plupart des fonctions des langages objets récents (ou moins récents) ne sont pas implémenté. Ceci rend difficile la factorisation du code et incidemment, limite quelque peu les possibilités de l'auteur.

C'est en ayant ces difficultés d'Inform 6 en esprit que j'ai décidé d'écrire un petite extension pour ce dernier. Cette extension est actuellement divisé en deux projets distinct en code :
- La constitution d'une database d'objets et d'intéractions pour suppléer a l'auteur. Ainsi, une fenêtre auquel on adjoint le mot-clé "destructible" peut être détruit en morceau, et on peut récuperer un de ces morceaux pour en faire une arme, un miroir, ou quoi que ce soit d'autre. Une barre de fer est en métal fer, peut-être utilisé comme arme, peut être fondus si on a les objets necessaires, être tordus en forme de ressort, etc. Cette database pourra être réutilisé par n'importe-qui, même si elle est d'abord conçu pour moi.
- L'implémentation dans Inform d'un système de coordonnée accessoire (non obligatoire) (x;y;z). Ces coordonnée pourront avoir une origine soit fixe, généralement là où le joueur commence la partie, soit mouvante, généralement l'entrée de la salle, et être facilement interchangé d'un système a l'autre. Ce système permettra (et permet déjà :wink: ) de s'affranchir du système Nord/Sud/Est/Ouest par des commandes plus humaines : Aller a droite, a gauche, devant la porte, derrière la table, etc, et de préciser facilement où se trouve les objets par rapport au joueur par un simple "Regarder autour de soit". De plus, ils permettent quantité d'interaction nouvelle et interessante.

Ces deux projets sont pour l'instant au tout début du code, quoique le système de coordonné est utilisable, et on pour buts finaux de permettre la constitution d'un sorte de M.U.D solo textuel. Ce n'est pas quelque chose de sérieux (pas encore), et je n'ai nul intention de pêter plus haut que mon cul, mais juste de m'amuser un peu en faisant quelque chose d'interessant pour la communauté :) .

Merci,
ThesmallgamerS

Ps : Ce qui serait aussi interessant a ajouter, c'est un système d'emplois du temps pour les NPC. Malheureusement, cette partie d'Inform m'est par trop inconnus pour faire quoi que ce soit.
ThesmallgamerS
Sorcier du culte
 
Messages: 19
Inscription: Dim Avr 08, 2007 2:17 pm
Localisation: Paris

Messagepar Otto Grimwald le Sam Oct 06, 2007 9:32 pm

très intéressant !

J'espère que tu arriveras au bout de ce projet. Veux-tu un accès au svn de http://informfr.tuxfamily.org/ pour mettre en ligne tes fichiers et éventuellement inaugurer un travail collaboratif ?

Je pense que tu as déjà vu ce qui existe ici, mais je reposte le lien au cas où :
http://www.inform-fiction.org/extensions/index.html

sinon il existe également une bibliothèque de remplacement pour celles d'Inform, cela gère différentes choses d'une autre manière que celles livrées avec Inform :

http://homepage.ntlworld.com/elvwood/In ... mmary.html

même si cela ne te servira sans doute pas tel quel, cela peut te donner des idées au niveau de ce qu'il est possible de modifier / hacker dans inform.

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

Messagepar ThesmallgamerS le Sam Oct 06, 2007 9:56 pm

J'ai un peu survolé la bibliothéque platypus, et effectivement, même si certaines idées sont bonne (notamment pour les NPC), il n'y a rien d'utilisable tout de suite. Mon système de coordonnée est bien moins lowlevel que son système dirs(), et change beaucoup plus de chose que le sien. Avec le mien, il est possible de savoir si un objet est prêt d'un autre, de poser celui-ci prêt d'un autre, etc... Enfin bref :wink:

Je pense que tu as déjà vu ce qui existe ici, mais je reposte le lien au cas où :
http://www.inform-fiction.org/extensions/index.html
Pas mal d'extensions icitte, je connaissais déjà, mais toute en Anglais. Cela pourra toujours me servir d'inspiration.

J'espère que tu arriveras au bout de ce projet. Veux-tu un accès au svn de http://informfr.tuxfamily.org/ pour mettre en ligne tes fichiers et éventuellement inaugurer un travail collaboratif ?
Plus tard, quand le projet sera présentable. Pour l'instant, les gros hacks doivent être concaténer dans la même extension.

Merci,
ThesmallgamerS
Sorcier du culte
 
Messages: 19
Inscription: Dim Avr 08, 2007 2:17 pm
Localisation: Paris

Messagepar Adrien le Sam Oct 06, 2007 9:56 pm

Projet prometteur!!
Tiens nous au courant de ton avancement, ça ne peut qu'avoir du bon!
Avatar de l’utilisateur
Adrien
Très Ancien
 
Messages: 1092
Inscription: Mar Aoû 24, 2004 9:23 am
Localisation: Montpellier, France

Messagepar Otto Grimwald le Sam Oct 06, 2007 10:35 pm

on a eu une discussion à ce sujet ici :
http://linuxfr.org/comments/871745.html#871745

ainsi que sur la tribune de linuxfr en direct :)

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

Messagepar Adrien le Sam Oct 06, 2007 11:34 pm

Ah oui, ThesmallgamerS avait indiqué venir de là-bas.
Est-ce que par hasard il s'agirait de la personne qui a participé au 1er speedIF francophone? :)
Avatar de l’utilisateur
Adrien
Très Ancien
 
Messages: 1092
Inscription: Mar Aoû 24, 2004 9:23 am
Localisation: Montpellier, France

Messagepar Otto Grimwald le Sam Oct 06, 2007 11:44 pm

non, c'était encore quelqu'un d'autre :)

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

Re: Commencement d'un Projet Inform 6

Messagepar Eriorg le Dim Oct 07, 2007 4:58 pm

Eh bien, bienvenue, ThesmallgamerS ! :D

Bonne chance pour ton projet ! En tout cas, voilà un nouveau venu ambitieux. :wink:
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 856
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Messagepar Yoruk le Mar Oct 09, 2007 8:48 am

C'est effectivement un super projet ! L'idée d'un MUD qui se jouerait tout seul est pas mal ! :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar ThesmallgamerS le Mar Oct 09, 2007 3:05 pm

Mais d'expérience, extraordinairement difficile a créer :". Je tente de modifier en profondeur Inform pour voir si cela est possible de le coder dans ce langage. S'il s'avère que cela ne l'est pas - on fera ce qu'on pourra en C.
ThesmallgamerS
Sorcier du culte
 
Messages: 19
Inscription: Dim Avr 08, 2007 2:17 pm
Localisation: Paris

Messagepar Yoruk le Mer Oct 10, 2007 12:04 pm

Je pense que c'est faisable avec inform, à voir si c'est facile. Qu'en pensent les pros d'inform ?
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Commencement d'un Projet Inform 6

Messagepar JL le Jeu Oct 11, 2007 8:07 pm

ThesmallgamerS a écrit:- L'implémentation dans Inform d'un système de coordonnée accessoire (non obligatoire) (x;y;z). Ces coordonnée pourront avoir une origine soit fixe, généralement là où le joueur commence la partie, soit mouvante, généralement l'entrée de la salle, et être facilement interchangé d'un système a l'autre. Ce système permettra (et permet déjà :wink: ) de s'affranchir du système Nord/Sud/Est/Ouest par des commandes plus humaines : Aller a droite, a gauche, devant la porte, derrière la table, etc, et de préciser facilement où se trouve les objets par rapport au joueur par un simple "Regarder autour de soit". De plus, ils permettent quantité d'interaction nouvelle et interessante.


Intéressant ! cela m'a mis la puce à l'oreille sur l'utilisation des coordonnées qui me semblaient a priori plutôt incompatibles avec des descriptions textuelles (notamment pour arriver à quelque chose d'élégant).

permettre la constitution d'un sorte de M.U.D solo textuel


Partir d'Inform pour cela est un gros défi a priori, mais qui sait... Sinon, cela me fait penser à Python Universe Builder qui n'est pas forcément très abouti mais semble conçu dès le départ comme un MUD éventuellement solo, avec toute la souplesse de Python pour l'expérimentateur intrépide.

Python Universe Builder (PUB) is an Interactive Fiction module for Python. It provides a programming environment similar to that of Inform or TADS but runs under any Python interpreter.


-- Jean-Luc

PS Bienvenue à toi ![/quote]
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Messagepar ThesmallgamerS le Ven Oct 12, 2007 11:52 am

Merci :wink:

En fait, beaucoup de MUD ont un principe de Moteur/Donnée séparé. Le moteur compilé s'occupe des interactions et est codé en C/C++/python/Cobol/Assembleur Vax, tandis que les données, soit les pièces, les objets, les persos sont stockés sous formes de texte/XML. C'est cette architutecture qui permet le plus de possibilité et même de modifier on-demand l'univers.

Ce n'est pas l'architecture d'Inform.
Leger regel, elle née doute, fleur. Cruel fétu ! Ôde en elle, leger regel.
ThesmallgamerS
Sorcier du culte
 
Messages: 19
Inscription: Dim Avr 08, 2007 2:17 pm
Localisation: Paris

Messagepar Otto Grimwald le Ven Oct 12, 2007 1:31 pm

sur les quelques moteurs de muds que j'avais testés (circlemud, pennmush et autres je crois), il me semblait que la plupart de la création de l'univers se faisait en se logguant dans le monde en root ou en "magicien" et en créant les objets avec des commandes tordues. Je n'ai pas trop aimé le système, même si à terme cela peut être intéressant pour faire de petits ajustements, rajouter des rideaux dans une pièce etc :)
Mais si vous en connaissez d'autres avec un système plus rationnel, je suis preneur.

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

Messagepar Adrien le Ven Oct 12, 2007 3:27 pm

J'ai testé aussi Circlemud, et j'ai créé des zones, de l'équipement et des mobs rien qu'avec des fichiers textes.
Il y a une doc prévue à cet effet qui reprend toute la syntaxe, qui est assez simple.
Avatar de l’utilisateur
Adrien
Très Ancien
 
Messages: 1092
Inscription: Mar Aoû 24, 2004 9:23 am
Localisation: Montpellier, France


Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron