Dernier chapitre ! Notre usine est bâtie, peuplée et même un peu fermée — il ne manque plus qu’un objectif et une fin de partie. On va :
Un contenant est un objet dans lequel on peut placer d’autres objets. Pour le déclarer, on remplace objet par contenant :
La caisse à outils est un contenant dans l’atelier. Sa description est "Une caisse en plastique vert MeuhCorp, ouverte, sentant l’huile de meuh.". Son aperçu est "Une caisse à outils traîne près de l’établi.". Le tournevis cruciforme est un objet dans la caisse à outils. Sa description est "Un tournevis tout simple, manche jaune et noir.".
En jeu, le regarder du lieu mentionne bien la caisse (via son aperçu), mais pas son contenu : le joueur ne voit pas le tournevis tant qu’il n’a pas tapé examiner la caisse à outils. C’est la convention pour un contenant : on doit l’examiner pour découvrir ce qui est à l’intérieur. Une fois aperçu, le joueur peut prendre le tournevis directement (prendre le tournevis) ou y déposer un autre objet (mettre la casquette dans la caisse à outils).
Un contenant peut être fermé (et ouvrable) exactement comme une porte. On l’ouvre alors avec ouvrir la caisse. Ici on garde un contenant ouvert pour simplifier.
Autre point à savoir : un contenant n’est pas fixé par défaut, donc le joueur peut le prendre — typiquement, on déclare La caisse est un contenant fixé dans l’atelier. pour qu’elle reste sur place. Le support, lui, est fixé par défaut (voir section suivante).
Un support est un objet sur lequel on peut poser d’autres objets. Pour le déclarer, on remplace objet par support :
Le tapis roulant est un support dans le banc qualité. Sa description est "Un tapis roulant gris perle, vide, qui s’allume au moindre contact.". Son aperçu est "Le tapis roulant ronronne doucement, à l’arrêt.".
En jeu, le joueur peut désormais poser X sur le tapis roulant — pour tout objet X qu’il a dans son inventaire. Contrairement au contenant, les objets posés sur un support sont listés directement dans le regarder du lieu : pas besoin d’examiner le tapis pour les voir.
Et contrairement à un contenant, un support est fixé par défaut : le joueur ne pourra pas l’embarquer dans son inventaire. C’est cohérent — un tapis roulant ou une table sont rarement transportables. Pour autoriser le déplacement, il faudrait le déclarer non fixé.
À tester : prenez le tournevis dans la caisse à outils, allez au banc qualité, tapez mettre le tournevis sur le tapis roulant, puis regarder. La description du lieu mentionne maintenant le tournevis sans qu’on ait rien programmé — c’est la convention support qui s’occupe de tout.
📚 Pour aller plus loin : Classes d’objets (objet, contenant, support, …).
Quand on lance le jeu, le moteur affiche la description du premier lieu. Mais le joueur ne sait pas encore ce qu’il a à faire ! On ajoute une petite mise en bouche grâce à une règle avant commencer le jeu :
règle avant commencer le jeu: dire "Bertrand, votre contremaître, vous lance avant de disparaître :{n}« Stagiaire, mission du jour : récupère le lot de pièces détachées dans l’atelier, pose-le sur le tapis roulant du banc qualité. Et surtout — pas de coin-coin. ».". fin règle
Une règle est un morceau de logique : « quand ceci se produit, fais cela ». Ici, avant commencer le jeu se déclenche une fois, juste avant le premier regarder automatique.
On utilise une règle après pour réagir à une action du joueur. Quand il pose le lot de pièces détachées sur le tapis, on affiche un message de victoire et on termine la partie avec l’instruction terminer le jeu.
règle après mettre le lot de pièces détachées sur le tapis roulant: dire "Le tapis s’anime. Les pièces glissent, vrombissent, et une boîte parfaitement assemblée en ressort. Elle bascule. Meuh. Meuh. Meuh. Aucun coin-coin.{n}Félicitations, stagiaire — vous avez fait vos preuves chez MeuhCorp.". terminer le jeu. fin règle
Notez le verbe mettre (et non poser). En interne, le moteur traduit poser X sur Y vers mettre X sur Y avant de déclencher les règles. Pour intercepter les deux formulations côté joueur, c’est donc mettre qu’il faut viser dans la règle.
Et tant qu’à faire — un stagiaire qui mettrait le tournevis sur le tapis briserait la machine. On ajoute donc une seconde règle pour gérer cet échec :
règle après mettre le tournevis cruciforme sur le tapis roulant: dire "Le tapis happe le tournevis. KRAAAK : la lame de meuh se tord, la machine fume, une boîte sort en gémissant un //coin-coin// déchirant.{n}MeuhCorp ne forme pas les saboteurs. Vous êtes recalé.". terminer le jeu. fin règle
Et si le joueur a fait une bêtise ? Inutile de tout recommencer : la commande annuler est prédéfinie et revient en arrière d’un tour de jeu. Très pratique après une fin malheureuse comme celle-ci. On peut aussi écrire annuler 3 tours. pour revenir un peu plus loin.
Côté auteur, rien à coder : c’est livré par le moteur. À mentionner peut-être dans l’aide du jeu si vous craignez que vos joueurs ne le sachent pas.
Et un dernier petit clin d’œil pour récompenser le stagiaire ordonné qui pense à ranger le tournevis au lieu de l’emmener au banc qualité :
règle après mettre le tournevis cruciforme dans la caisse à outils: dire "Le tournevis retrouve sa place. Bertrand approuverait : un atelier rangé, c’est un atelier qui meugle juste.". fin règle
tester cet exemple — scénario complet du tutoriel.
📚 Pour aller plus loin : Règles avant et après, L’instruction ''terminer le jeu''.
Vous n’avez écrit qu’une seule action dans ce tuto (le poser sur le tapis déclenché par la règle après). Tout le reste — se déplacer, regarder, ouvrir, prendre… — est géré gratuitement par les actions prédéfinies du moteur. Quelques-unes parmi les plus utiles :
| Action | Exemples |
|---|---|
| Se déplacer | nord, est, entrer, sortir (raccourcis : n, e, en, so) |
regarder | re-affiche le décor du lieu (r) |
examiner X | description rapprochée d’un objet (x X) |
sorties | rappelle les sorties du lieu courant |
inventaire | liste ce que porte le joueur (i) |
prendre X / lâcher X | déplace X entre lieu et inventaire (p) |
poser X sur Y | dépose X sur le support Y |
mettre X dans Y | dépose X dans le contenant Y |
ouvrir X / fermer X | porte ou contenant ouvrable |
mettre X / enlever X | met/retire un objet portable (synonymes : enfiler, chausser…) |
parler à X | démarre un dialogue avec un PNJ |
donner X à Y | offre un objet à un personnage |
attendre | laisse passer un tour (z) |
annuler | revient en arrière d’un tour — ou annuler N tours |
aide | affiche l’aide du jeu (?) |
Le moteur sait aussi gérer embrasser, sentir, écouter, pousser, tirer, boire, manger… et bien d’autres. La plupart se contentent d’afficher un message par défaut tant que vous n’avez pas défini de réaction spécifique — utile pour réduire les « Je ne comprends pas. » côté joueur.
📚 Référence complète : Actions prédéfinies.
contenant accueille d’autres objets dedans (mettre X dans Y). Son contenu ne se voit qu’en examinant le contenant. Pas fixé par défaut.support permet au joueur de poser X sur le support. Le contenu est listé directement par le regarder du lieu. Fixé par défaut.règle avant commencer le jeu s’exécute une fois au démarrage — idéale pour une intro.règle après <action> s’exécute juste après une action réussie du joueur.terminer le jeu clôture la partie proprement.examiner, prendre, ouvrir, mettre…) — pas besoin d’écrire de règle pour qu’elles fonctionnent.Vous avez construit un mini-jeu Donjon FI complet et jouable de bout en bout : 4 lieux, 6 objets (dont 1 contenant et 1 support), 2 portes, 4 règles, un objectif et deux fins possibles (réussite ou sabotage). La trame Bienvenue chez MeuhCorp est terminée.
Quelques pistes pour étoffer MeuhCorp (ou votre propre projet) :
cueillir, mélanger, actionner, …) pour enrichir l’interaction.📚 Et bien sûr la référence complète reste accessible à tout moment.