Qua

Reader

A list of all postings of all blogs on Qua where the author has configured the blog to publish on this page.

from Rolistologie

Apparemment, il reste certaines confusions entre univers du jeu, système de jeu et système de joueurs. Les distinctions ne sont pas suffisamment claires, et tout le monde ne serait pas capable d'y classer les différentes règles rencontrées.

Je vais donc rappeler des définitions, donner des astuces et lister des exemples afin que ça devienne limpide pour tout le monde.

Définitions

Le premier rappel concerne la diégèse. Les éléments diégétiques appartiennent à la fiction. Ils existent dans l'univers. Et ils ne dépendent pas du media utilisé pour générer cette fiction (littérature, JdR, cinéma…)

Les règles qui existent dans le monde, comme les lois physiques, mais aussi sociologiques (les règles d'étiquette, les interdits moraux…) appartiennent à l'univers. Elles ne font pas partie du système de jeu, ni celui de joueurs.

Les règles extra-diégétiques qui régissent l'univers appartiennent au système de jeu. Elles ne font aucunement référence à des joueurs.

Les règles qui impliquent des joueurs sont évidemment extra-diégétiques. Elles forment le système de joueurs.

Astuces

Si vous avez du mal à séparer ces 3 notions, posez-vous les questions suivantes :

Est-ce qu'un personnage pourrait discuter de ces règles avec un autre personnage ? Est-ce que ces règles pourraient apparaître dans un film adaptant la fiction ? Si oui on a affaire à des règles de l'univers, diégétiques, et donc hors système.

Si la règle est extra-diégétique, est-ce qu'une personne seule pourrait l'utiliser ? Est-ce qu'elle ne comporte bien aucune référence à un joueur ? Si oui elle appartient au système de jeu.

Est-ce que la règle fait référence à un ou plusieurs joueurs ? Est-ce qu'elle concerne la façon de jouer ? Si oui elle fait partie du système de joueurs.

Exemples

Avant de rentrer dans des cas précis, quelques exemples en vrac.

Règles propres à l'univers : cette race extra-terrestre mesure en moyenne 1m30. Chez les amazones, les combattants sont toutes des femmes. Ce personnage gagne 100€ par mois. À 18 ans tout le monde sombre dans le coma. Les personnages ont 6 clones.

Règles relevant du système de jeu : cette race extra-terrestre a 20 points de vie. Il y a une classe de personnage, “Amazone”, réservée aux persos féminins. Ce personnage a Ressources à 2. Les persos de plus de 18 ans ont 3 points de connaissance supplémentaires. Avoir une voix mélodieuse donne un bonus de +2 aux discussions.

Règles appartenant au système de joueurs : au début de la séance, on détermine qui interprète le personnage du Roi. Quand un PJ meure, son joueur déchire la feuille de perso. On joue dans le noir. Quand un perso communique par télépathie, le joueur doit chuchoter. C'est le MJ qui décide des pauses. On joue en temps réel. Les scènes jouées ne font intervenir que 2 personnages.

Maintenant, quelques exemples qui ont été soulevés.

Dans la plupart des univers, le temps est diégétique. Il existe dans la fiction, il est régit par les lois physiques. Par contre, une règle qui déclare “un personnage peut faire 2 actions par round” est extra-diégétique est appartient au système de jeu. Déjà, on est manifestement dans un cas de simplification mécanique, car dans la fiction, toutes les actions n'ont pas l'exacte même durée, tous les personnages n'ont pas la même vitesse d'exécution. Par ailleurs, jamais un personnage ne prononcera cette phrase. Et ensuite, si on change l'unité du round en le divisant par deux (l'auteur du système en a parfaitement le droit), on obtient “un personnage peut faire 1 action par round”, alors que l'univers n'a évidemment pas été modifié.

La gravité, si elle est présente dans un univers, est diégétique. Les personnages la ressentent. Encore une fois, elle est régit par les lois physiques de l'univers donc appartient à l'univers. Un écrivain peut mettre en scène un protagoniste qui chute. Un personnage peut affirmer “généralement, si on tombe d'un étage, on se casse un membre”. Par contre toute règle qui traduirait des dégâts de chute en point de blessure, en perte de point de vie, ou tout autre référence extra-diégétique est, par conséquence, également extra-diégétique. On bascule donc dans le système de jeu. De la même façon, si dans l'univers les lois physiques démontrent que la gravité est variable, affirmer qu'elle est constante, en contradiction avec le monde, rentre dans le cadre du système de jeu où ce genre d'approximation est commun.

D'autres exemples détaillés :

À Vampire, le sang est diégétique. Un personnage sait qu'il en consomme une certaine quantité sur un humain, sur un animal, il sait qu'il est limité par une contenance maximale, il sait qu'il peut utiliser ce sang pour augmenter sa force, sa vitesse, ou utiliser ses disciplines. Par contre les points de sangs sont extra-diégétique. Il ne dira pas “j'ai perdu 5 points de sang” alors qu'on pourra par contre entendre “j'ai perdu la moitié de ma réserve”, ou “il faut que je tue 4 chiens pour compenser”.

À INS/MV, les Points d'Administration (souvent considérés comme équivalent à l'XP) sont diégétiques, mais les Points de Pouvoir ne le sont pas. Un personnage peut dire “j'ai gagné 3PA lors de ma dernière mission”, mais pas “et ça m'a permis de gagner 3PP”. La notion de Pouvoir est diégétique (en effet, plus un perso a de PP max, plus son aura est foncée), mais pas son découpage en PP. C'est souvent un test facile à faire : que se passe-t-il si on change d'échelle, à part la correction des valeurs utilisées dans le système de jeu ? Si l'univers n'est pas modifié, on est souvent dans du système de jeu (comme ici pour les PP). Si par contre l'univers est affecté, c'est que c'est diégétique (“J'ai gagné 3PA” “Avant ou après la dévaluation ?”)

#JdR #rolistologie #théorieJdR

 
Lire la suite...

from Être Divin

  • Clés collectives

“Il y a donc, pour vous tous, de par ce Trousseau, de par sa Forme et sa Musique, de par la qualité de chacune des Clés qui le composent : l’ouverture, l’accès à votre Plénitude la plus absolue, à votre Unité la plus entière, la plus simple, la plus parfaite, la plus véritable. Il y a accès à votre Joie la plus pure et la plus véritable également, dans toutes ses facettes, ses manifestations, ses vérités. Il y a également accès à tout Partage, non seulement entre vous, mais entre vous et Tout Ce qui est.”

https://voixdelumiere.fr/2012/02/sehelam-anna-n5-cles-collectives/ #SehelamAnna

 
Lire la suite...

from Être Divin

  • Clés collectives

“Et d’ailleurs vous êtes effectivement – comme il vous l’a été dit tout récemment, en particulier par Marie-Isis, par Ashtir : interdimensionnels au sens où vous pouvez naviguer entre ce que vous vivez encore dans votre ancien niveau -qui est toujours présent là où il est- ainsi que dans la Dimension autre, plus élevée, moins visible, moins mentalisable, non matérielle (en grande partie du moins), à laquelle vous avez accès, en toute facilité je le précise – et j’insiste sur cette information.”

https://voixdelumiere.fr/2012/02/sehelam-anna-n5-cles-collectives/ #SehelamAnna

 
Lire la suite...

from clognz

Je n'ai jamais entendu dire, à propos de l'espace/temps, que c'est un sujet banal & inintéressant, mais je n'ai pas encore trouvé non plus, quelqu'un qui voudrait consacrer tout son énergie à explorer cela, comme si sa vie en dépendait. Réorganiser l'ordre des priorités — et imprégner de dévotion le geste — est une nécessité vitale.

 
Lire la suite...

from Être Divin

  • Exploration de deux formes directionnelles pour changer de couche vibratoire.

“Partant donc de cet Alignement Telouq, vous pouvez intégrer avec votre cerveau, et vos capacités plus étendues, le fait que vous pouvez vous déplacer en arc dans différentes orientations. Le principe de l’arc vous permet de changer de couche vibratoire beaucoup plus aisément qu’un déplacement linéaire sur une ligne droite -ainsi bien évidemment qu’un déplacement un peu anarchique.”

https://voixdelumiere.fr/2012/01/sehelam-anna-n4/ #SehelamAnna

 
Lire la suite...

from Être Divin

  • Accès à un Réseau et à une perspective holographique de nos êtres dans cet Univers.

“Et pour tous ceux d’entre vous dont les Êtres sont capables d’intégrer ce Réseau – ce corps holographique, qui je vous le rappelle unit des Êtres de bien des origines, des formes, des vibrations, des états, des plans – vous avez donc alors pleine et entière disposition de votre corps en tant qu’Être, et de toutes les formes que vous pouvez adopter, parcourir. Vous êtes alors en capacité et en état, au sein de cet Univers, de créer en votre monde à vous, la Terre qui est en devenir, les espaces, les paramètres et les configurations d’Unité que vous désirez, que vous choisirez de réaliser ensemble, et avec la collaboration entre autre de ce Réseau.”

https://voixdelumiere.fr/2012/01/sehelam-anna-de-sirius-n3/ #SehelamAnna

 
Lire la suite...

from Rolistologie

Comme je l'ai relevé dans un précédent billet, l'un des termes les plus flous en théorie JdR est l'immersion. Je propose donc une série de définitions afin d'éviter les débats de sourds par manque de vocabulaire commun.

L'immersion a de nombreux sens, notamment appliquée au JdR. J'en ai dégagé 3, qu'il est nécessaire de différencier. Mais je n'expliquerai ici ni les intérêts d'obtenir ces différentes notions, ni les moyens pour ce faire.

L'attention

La première notion est la concentration dans la partie, le fait d'y prêter toute son attention, de s'y impliquer, de ne penser qu'à elle. Cela peut, éventuellement, amener dans l'état de “flow”, où tout le reste est occulté. Cette attention peut être générée par des éléments extérieurs, sans la démarche active du joueur. Par exemple en jouant dans le noir, avec des musiques d'ambiance, en ajoutant des contraintes... Faire des blagues alors que le ton ne s'y prête pas, discuter du dernier film vu, aller préparer des pizzas, entendre des annonces au micro, tout ça sort le joueur de l'attention. Sachant qu'on peut évidemment appliquer cette notion à d'autres activités, comme le jeu de plateau, l'écriture, le sport, la résolution d'un problème...

La synchresthésie

J'ai décidé de retenir ce néologisme parmi les divers noms proposés, car son étymologie porte tout le sens (Ressentir en même temps). Il s'agit donc du moment où le joueur ressent une émotion en même temps que son personnage. L'émotion n'a pas à être nécessairement la même (par exemple peur de mourir du personnage, excitation sur un jet décisif pour le joueur). Mais si l'émotion est similaire, alors on parle de bleed, avec la distinction bleed out si l'émotion du personnage est transférée au joueur (ex : colère d'être trahi), et bleed in dans le cas inverse (ex : joueur amoureux dont le perso va manifester une attirance vers le perso de l'aimé).

L'immersion

Pour cette dernière notion, si un terme devrait être retenu ce serait eläytyminen, issu de la théorie scandinave (voir le Manifeste de Turku). Cependant, je doute que la communauté suive, et les traductions existantes ne l'ont pas conservé. C'est pourquoi je propose de maintenir Immersion pour ce cas.

Par immersion, on entend l'angle par lequel le joueur aborde et crée la fiction.

Par exemple, si un joueur fait réagir son personnage en prenant en compte son historique, ses buts, sa nature et son attitude, alors il est immergé dans le personnage. C'est la plus connu des 3 immersions (Personnage, Univers, Narration) qui ne sont pas exclusives. On peut avoir un joueur immergé dans le Personnage, dans l'Univers mais pas dans la Narration (P+U+N- : Fundament player). Tout ceci est parfaitement expliqué dans l'article fondateur : modèle des immersions multiples Ce que certains appellent “plaider pour son personnage” correspond en fait, de façon plus précise, à une immersion dans le personnage.

Donc l'immersion est un choix du joueur. Le terme est à mettre en parallèle avec l'immersion dans un liquide, où le baigneur décide s'il s'immerge dans la piscine.

Notions cumulables

Bien entendu, ces 3 notions ne forment pas une partition. On peut tout à fait être dans l'attention complète d'une partie dans laquelle on est immergée dans la narration et dans l'univers et ressentir une synchresthésie. Par exemple en étant ému lorsqu'on décrit la scène finale d'une partie de SmallVille où son personnage exhume le cercueil de sa meilleure amie afin de vérifier si elle est devenue une vampire.

Pensez-vous que d'autres aspects de l'immersion méritent une définition distincte ? Celles-ci vous conviennent-elles ?

J'espère ensuite qu'on pourra entendre des phrases comme “ce scenario préconise l'immersion narrative” sans avoir à se demander de quelle notion il est question.

#JdR #Rolistologie #ThéorieJdR

 
Lire la suite...

from Isso me fez pensar...

Esta semana, após uma reunião interessante, reservei um tempinho para rememorar meu início como “professor universitário”, nos idos de 2002 (sempre tive vontade de escrever isso).

Comecei ministrando aulas de informática no curso de licenciatura em Matemática. Após alguns semestres, passei a lecionar informática básica, também, nos cursos de Serviço Social, Nutrição, Educação Física e Pedagogia. Passado tanto tempo — mais de duas décadas —, vejo-me lecionando, ainda, informática básica no curso de Licenciatura de Matemática.

Nos anos 2000, Marc Prensky “agitou” o meio acadêmico com a sua teoria sobre os nativos digitais. Prensky os definiu como jovens nascidos na era da internet (após anos 80/90) que cresceram imersos na tecnologia, aprendendo de forma rápida, multitarefa e interativa (por favor, me perdoem por não trazer a definição como uma citação).

Desde então, o computador tornou-se significativamente mais acessível, a internet popularizou-se e a informação passou a estar disponível em diversos dispositivos e a qualquer momento. Atualmente, diante de um desafio técnico desconhecido, basta consultar portais globais — independentemente do idioma, graças à tradução simultânea — ou recorrer a uma vasta gama de tutoriais em vídeo. Os smartphones, antes simples aparelhos de telefonia celular, consolidaram-se como autênticos computadores de bolso.

Apesar disso tudo, ainda preciso ensinar a usar um “editor de texto”.

Lembro-me que, naquela época, eu usava o StarOffice e argumentava com meus alunos que não fazia sentido pagar por uma suíte de escritório, existindo uma opção gratuita e com tanta qualidade. Eles contra-argumentavam, dizendo que não pagavam, pois usavam uma cópia pirata.

Passadas duas décadas, ainda utilizo os mesmos argumentos com meus alunos e eles, curiosamente, também.

Olhando todo este tempo, fico pensando: podíamos ter avançado um pouco mais. Não precisava muito. Eu poderia, por exemplo, estar ensinando a utilizar estilos para a edição dos textos.

#EducaçãoMatemática #TecnologiaNaEducação #DocênciaSuperior

 
Leia mais...

from clognz

Le soupçon est la contrepartie naturelle de l'insinuation, comme la méfiance l'est de la prudence, ou la prévoyance de la négligence etc. Ainsi, les différents registres communicationnels peuvent être définis comme étant : un spectre bidirectionnel, clôturé de chaque coté par une polarité complémentaire et antagoniste.

Or, la polarité spectrale déploie une influence apparentée au magnétisme. C'est cela qui détermine les interactions de champ, et non pas le croisement aléatoire des unités isolées navigant à la dérive dans un vide sidéral.

 
Lire la suite...

from clognz

Si l'idée est l'étoile qui indique la direction à suivre, l'idéologie se veut l'unique chemin possible pour essayer de l'atteindre. Mais, tandis que l'étoile reste lointaine à mesure qu'on avance, l'idéologie, elle, opère le mouvement inverse. Elle devient à la fois la voie et la destination promise. En cela, elle n'est qu'usurpation et imposture.

 
Lire la suite...

from clognz

Il y a plusieurs manières de dire non, et plusieurs sujets qui par plusieurs raisons méritent un non pour réponse. The point is : nous n'avons pas une culture du non, décliné en subtilités justes, simples & pertinentes, d'où -entre autres- le problème de la mentalité victimaire, qui par aveuglément idéologique, conformisme, ou simple ignorance, interprète comme un attaque toute forme de refus.

 
Lire la suite...

from clognz

Toléré, aceptable, valide, légitime, normalisé etc. ; on pourrait très bien imaginer un spectre nuancé dans un même champ de signification.

Ensuite il deviendrait évident que de la tolérance à la normalisation, ce n'est pas le même chemin que de l'envisageable au nécessaire, ou de l'inconnu à l'indubitable.

Ainsi et par opposition symétrique, il existe également plusieurs gammes sémantiques pour exprimer la notion de refus dans toutes ses dimensions.

 
Lire la suite...

from 工人小记

同事YQ:我买一件衣服居然是从鸡屁股那块发货的,我说怎么路上走第三天了还没到手呢。 我:现在是不是还在四川? Y:!你怎么知道? 我:因为“蜀道难,难于上青天”

 
阅读更多

from veer66

I recently wanted to learn about MCP (Model Context Protocol). As someone whose default programming language is Common Lisp, I naturally decided to build an MCP server using Lisp.

Thanks to the creators of 40ants-mcp, the library provides a nice pattern and code structure that I really like. However, I struggled significantly with installation and getting started. What should have taken minutes ended up taking days.

I'm sharing my experience here so that others who want to build MCP servers in Common Lisp can get started in minutes, not days like I did.

Prerequisites

Before you begin, make sure you have the following installed:

  • SBCL – A high-performance Common Lisp compiler
  • Roswell – A Common Lisp implementation manager and script runner
  • Quicklisp – The de facto package manager for Common Lisp
  • Ultralisp – A community-driven distribution of Common Lisp libraries

Installing Ultralisp

In SBCL with Quicklisp, you can enable Ultralisp by:

(ql-dist:install-dist "http://dist.ultralisp.org/" :prompt nil)

(How to install SBCL and Quicklisp is in the appendix.)

The Gotcha: Loading 40ants-mcp

Here's the issue that cost me days: when you try to load 40ants-mcp with:

(ql:quickload :40ants-mcp)

You might encounter errors. The solution is simple but not obvious—load jsonrpc first:

(ql:quickload :jsonrpc)
(ql:quickload :40ants-mcp)

This dependency isn't automatically resolved, which was the source of my frustration.

Creating Your MCP Server

Here's a minimal example from my mcp-exper package:

(in-package :mcp-exper)

(openrpc-server:define-api (mi-tools :title "mi-tools"))

(40ants-mcp/tools:define-tool (mi-tools add) (a b)
  (:summary "just add")
  (:param a integer "a")
  (:param b integer "b")
  (:result text-content)
  (make-instance 'text-content :text (format nil "~a" (+ a b))))

(defun start-server ()
  (40ants-mcp/server/definition:start-server mi-tools))

Key points:

  1. Use openrpc-server:define-api to define your API
  2. Use 40ants-mcp/tools:define-tool to define tools
  3. Return text-content instances for text results (MCP requires specific content types)

Running the Server

Create a Roswell script (mi-mcp-server.ros):

#!/bin/sh
#|-*- mode:lisp -*-|#
exec ros -Q -- $0 "$@"
|#
(progn
  (ros:ensure-asdf)
  #+quicklisp(ql:quickload '(:mcp-exper) :silent t))

(defun main (&rest argv)
  (declare (ignorable argv))
  (mcp-exper:start-server))

Quick Test

Run directly with Roswell:

ros mi-mcp-server.ros

Production Installation

Build and install as an executable:

ros build mi-mcp-server.ros
install -m 0755 mi-mcp-server $HOME/.local/bin/

Make sure $HOME/.local/bin is in your PATH.

Integrating with Opencode

To enable your MCP server in opencode, add this to ~/.config/opencode/opencode.json:

{
    "mcp": {
        "mi-tools": {
            "type": "local",
            "command": ["mi-mcp-server"],
            "enabled": true
        }
    }
}

Conclusion

Building MCP servers with Common Lisp is straightforward once you know the tricks. The 40ants-mcp library is well-designed, and the OpenRPC integration works smoothly.

I hope this guide saves you the days of frustration I experienced. Happy hacking!


The full source code for this example is available at mcp-exper.

Appendix: Installing SBCL

macOS

brew install sbcl

Debian/Ubuntu

apt install sbcl

Arch Linux

pacman -S sbcl

Appendix: Installing Quicklisp

Download and install Quicklisp:

wget https://beta.quicklisp.org/quicklisp.lisp
sbcl --load quicklisp.lisp \
        --eval '(quicklisp-quickstart:install)' \
        --eval '(ql-util:without-prompting (ql:add-to-init-file))' \
        --quit
 
Read more...

from veer66

I recently wanted to learn about MCP (Model Context Protocol). As someone whose default programming language is Common Lisp, I naturally decided to build an MCP server using Lisp.

Thanks to the creators of 40ants-mcp, the library provides a nice pattern and code structure that I really like. However, I struggled significantly with installation and getting started. What should have taken minutes ended up taking days.

I'm sharing my experience here so that others who want to build MCP servers in Common Lisp can get started in minutes, not days like I did.

Prerequisites

Before you begin, make sure you have the following installed:

  • SBCL – A high-performance Common Lisp compiler
  • Roswell – A Common Lisp implementation manager and script runner
  • Quicklisp – The de facto package manager for Common Lisp
  • Ultralisp – A community-driven distribution of Common Lisp libraries

Installing Ultralisp

In SBCL with Quicklisp, you can enable Ultralisp by:

(ql-dist:install-dist "http://dist.ultralisp.org/" :prompt nil)

(How to install SBCL and Quicklisp is in the appendix.)

The Gotcha: Loading 40ants-mcp

Here's the issue that cost me days: when you try to load 40ants-mcp with:

(ql:quickload :40ants-mcp)

You might encounter errors. The solution is simple but not obvious—load jsonrpc first:

(ql:quickload :jsonrpc)
(ql:quickload :40ants-mcp)

This dependency isn't automatically resolved, which was the source of my frustration.

Creating Your MCP Server

Here's a minimal example from my mcp-exper package:

(in-package :mcp-exper)

(openrpc-server:define-api (mi-tools :title "mi-tools"))

(40ants-mcp/tools:define-tool (mi-tools add) (a b)
  (:summary "just add")
  (:param a integer "a")
  (:param b integer "b")
  (:result text-content)
  (make-instance 'text-content :text (format nil "~a" (+ a b))))

(defun start-server ()
  (40ants-mcp/server/definition:start-server mi-tools))

Key points:

  1. Use openrpc-server:define-api to define your API
  2. Use 40ants-mcp/tools:define-tool to define tools
  3. Return text-content instances for text results (MCP requires specific content types)

Running the Server

Create a Roswell script (mi-mcp-server.ros):

#!/bin/sh
#|-*- mode:lisp -*-|#
exec ros -Q -- $0 "$@"
|#
(progn
  (ros:ensure-asdf)
  #+quicklisp(ql:quickload '(:mcp-exper) :silent t))

(defun main (&rest argv)
  (declare (ignorable argv))
  (mcp-exper:start-server))

Quick Test

Run directly with Roswell:

ros mi-mcp-server.ros

Production Installation

Build and install as an executable:

ros build mi-mcp-server.ros
install -m 0755 mi-mcp-server $HOME/.local/bin/

Make sure $HOME/.local/bin is in your PATH.

Integrating with Opencode

To enable your MCP server in opencode, add this to ~/.config/opencode/opencode.json:

{
    "mcp": {
        "mi-tools": {
            "type": "local",
            "command": ["mi-mcp-server"],
            "enabled": true
        }
    }
}

Conclusion

Building MCP servers with Common Lisp is straightforward once you know the tricks. The 40ants-mcp library is well-designed, and the OpenRPC integration works smoothly.

I hope this guide saves you the days of frustration I experienced. Happy hacking!


The full source code for this example is available at mcp-exper.

Appendix: Installing SBCL

macOS

brew install sbcl

Debian/Ubuntu

apt install sbcl

Arch Linux

pacman -S sbcl

Appendix: Installing Quicklisp

Download and install Quicklisp:

wget https://beta.quicklisp.org/quicklisp.lisp
sbcl --load quicklisp.lisp \
        --eval '(quicklisp-quickstart:install)' \
        --eval '(ql-util:without-prompting (ql:add-to-init-file))' \
        --quit
 
Read more...