Repository navigation
FR Demarrer Presentation
English · Type : explication · Public : joueur, auteur, contributeur · Contexte : navigateur du joueur, dépôt du moteur, projet créé · Statut : prête · S'applique depuis : 4.3.0

Le logo : les mots « quest'n'click, Open source point & click engine » sous une fenêtre d’éditeur en pixel art.
quest'n'click sert à faire un point-and-click pour le navigateur : on l’écrit comme des données, on le façonne dans un Studio visuel, on vérifie qu’on peut le finir, et on le livre comme un jeu web qui s’installe sur un téléphone et se joue hors ligne. C’est un moteur, ses outils, un Studio local, un Studio hébergé pour une équipe, et un Bridge Reality, le tout libre (le code sous licence MIT).
| Jouer | La Clé du garde-manger, le jeu d’exemple, sur téléphone en paysage ou sur ordinateur : wanoo.github.io/quest-n-click |
| Essayer le Studio | Le Studio en mode démo : modifiez le jeu d’exemple, vos modifications restent dans votre navigateur (Jouer en ligne et essayer le Studio de démo) |
| Faire son jeu | Dans son propre dossier, depuis l’archive d’une release (Installer depuis l’archive de la release), puis une première salle en quinze minutes (Votre premier jeu) |

La Clé du garde-manger, le salon de Grand-mère (en anglais) : la scène à gauche, les neuf verbes et le sac à droite, la ligne de phrase « Walk to » en dessous. Capture faite à la 4.1.19.
En une phrase par partie :
- Le contenu, ce sont des données : salles, accessoires à états, personnages, objets, règles, conversations, indices, scripts et événements sont de simples objets TypeScript, sans code dedans, que chaque outil peut lire, vérifier et jouer (Principes du contenu).
- Le Studio, c’est le vrai moteur avec un éditeur par-dessus : les salles et leurs placements, le storyboard, chaque planche de sprites et où elle sert, les vérifications après chaque enregistrement (Le Studio local).
- Le solveur fait tourner le vrai moteur pour trouver un chemin gagnant, ou pour prouver que chaque état atteignable peut encore finir (Ce que prouve le solveur).
- Le jeu se livre comme un site statique et une PWA qui s’installe et se joue hors ligne (Construire et publier).
La liste complète : Fonctionnalités. Ce qu’il ne fait pas : Ce que quest'n'click ne fait pas.
Le projet s’appelait WebSCUMM, puis web-scumm, en hommage à SCUMM, le moteur de LucasArts dont il suit l’esprit. Il a été renommé quest'n'click en 4.2.5 (20 octobre 2026, décision D47) pour que son nom ne suscite aucun débat inutile. Ce que cela veut dire aujourd’hui :
- Le dépôt est
wanoo/quest-n-click; les liens vers l’ancien dépôt y sont redirigés. L’ancienne adresse de la démo,wanoo.github.io/web-scumm, redirige vers wanoo.github.io/quest-n-click. - À partir de la 4.2.5, les packages et les commandes s’appellent
quest-n-click. Les anciens nomsweb-scummont marché pendant toute la 4.2.x et disparaissent en 4.3.0, oùnpx quest-n-click migraterenomme les imports et les commandes d’un jeu (Venir de web-scumm). - Les sauvegardes, les runs et les sessions gardent leurs formats et se chargent comme avant : des identifiants comme
web-scumm-saveou la baseweb-scumm-savesfont partie des formats, ce ne sont pas des noms du projet, et ils restent.
Le moteur a grandi à côté du jeu privé du mainteneur, qui en embarquait une copie et était rejoué à chaque jalon ; ce jeu reste sur le moteur 3.1.0 (D8). Le chemin de la v1.3 à aujourd’hui : Feuille de route.
Le dépôt du moteur, au premier niveau :
src/engine/ core (le DSL, le moteur), tools (validate, solve, lint, i18n…), dom (le lecteur), minigames, reality
src/studio/ les pages du Studio
games/demo/ le jeu d'exemple : salles, mises en page, images, son, langues, storyboard
games/ aussi _template (copié pour un nouveau jeu), heroes, reference, signals
tools/ les commandes, le côté serveur du Studio, le serveur MCP, les chaînes d'images et de son, les plugins Vite
cli/ les commandes quest-n-click et create du package
studio-server/ le Studio d'équipe hébergé (le package quest-n-click-studio-server)
bridge/ le Bridge Reality (le package quest-n-click-bridge)
connectors/ les connecteurs du monde extérieur (le package quest-n-click-connectors)
ops/, clevercloud/ les scripts de déploiement et de qualification
scripts/ les scripts de build, de bout en bout, d'empaquetage et de release
tests/ les tests unitaires et de propriétés
wiki/ cette documentation, en anglais et en français
docs/ la documentation d'avant la 4.5 ; docs/dev : le journal de travail, les décisions, les ADR, les passes de chaque release
Le moteur, le solveur et le rejeu partagent un seul chemin de code ; Architecture et une visite du code d’une demi-heure expliquent comment tout s’assemble. L’organisation d’un projet de jeu et de ce dépôt, avec les scripts de chacun : Organisation d’un projet.
Le contenu est déclaratif : un assistant le lit et l’écrit comme n’importe quel fichier (AGENTS.md en donne les
règles). Chaque opération est une commande et un outil MCP, et après chaque changement un assistant peut valider,
résoudre, rejouer et faire une capture : il voit ses erreurs avant qu’une personne les voie. Chaque résultat reste
relisible, dans le Studio et dans Git. Voir Travailler avec une IA et, pour modifier le
moteur, Contribuer avec des agents IA.
Une personne, avec n’importe quelle IA, doit pouvoir faire un jeu complet et long, et savoir qu’on peut le finir. Cela demande un contenu qu’une machine lit en entier (des données, pas du code), un seul état qu’une sauvegarde contient en entier, un solveur qui joue le vrai moteur plutôt qu’un second modèle de celui-ci, et un résultat qui n’est qu’un site web. Les autres voies écartées, et pourquoi, sont dans Ce que quest'n'click ne fait pas et la Feuille de route.
quest'n'click (anciennement web-scumm) est un projet indépendant. « Façon SCUMM » désigne un genre de jeu ; le projet n’est ni affilié à, ni approuvé par, ni dérivé de LucasArts, Lucasfilm, Disney ou du projet ScummVM, et n’en livre ni code, ni données, ni images. Licences : le code sous MIT ; les images, bruitages et thème du jeu d’exemple sous CC BY 4.0 (attribution « Wano ») ; les polices sous SIL OFL (Licences et crédits).
- D47 (le nouveau nom), D8 (le jeu privé figé en 3.1.0) :
docs/dev/DECISIONS.md. - ADR 0002 (le contenu déclaratif), ADR 0003 (le solveur fait tourner le moteur).
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.4.0 r1, documentation revision · révision de la documentation 8dc717c69acb62c4742b69c54a7e7dfb620f75d8.
Earlier versions and permalinks · versions précédentes et liens permanents: https://wanoo.github.io/quest-n-click/docs/
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Démarrer (6)
Jouer (9)
Installer (17)
- Prérequis
- Installer depuis l'archive de la release
- Installer depuis npm, une fois publié
- Installer depuis le dépôt pour travailler sur le moteur
- doctor : vérifier sa machine
- Outils pour les images
- Outils audio : ffmpeg, fluidsynth, Furnace, uv
- Mettre à jour
- Notes de mise à jour : 4.4
- Notes de mise à jour : 4.3
- Notes de mise à jour : 4.2
- Notes de mise à jour : 4.1
- Notes de mise à jour : v3
- Notes de mise à jour : v2 vers v3
- Venir de web-scumm
- Référence du paquet
- Dépannage de l'installation
Créer un jeu (55)
- Votre premier jeu
- Organisation d'un projet créé et du dépôt du moteur
- La boucle de travail
- Principes du contenu et contrat d'identité
- Salles
- Géométrie : placement, zones de marche, masques, calques, caméra
- Un objet est visible mais inaccessible
- Réactions
- Commandes du jeu
- Conditions
- Drapeaux, variables et événements : lequel choisir
- Code sur mesure
- Personnages
- Objets et inventaire
- Carte du monde
- Dialogues
- Scripts et événements
- Faire bouger les personnages : patrouilles et marches
- Sorties
- Chapitres et objectifs
- État et sauvegardes : persistant ou temporaire, renommer un id, migrations
- Mise en scène : salles larges et animations
- La scène : lumières, particules, sols
- Habillage et polices
- Titre et générique
- Héros : plusieurs personnages et choix du héros
- Mini-jeux intégrés
- Un mini-jeu sur mesure
- Traductions
- Musique en stems
- Bruitages
- Voix : par langue et par héros
- Images : prompts, découpe des planches, transparence, échelle
- Provenance des assets
- Le storyboard, source de vérité
- Concevoir des énigmes
- Mécaniques classiques
- Pages de relecture
- Référence du DSL
- Vérifier son jeu
- Ce que prouve le solveur
- Options du solveur
- Playtests
- Remix
- Speedrun pour les auteurs
- La fin scellée
- Modèle de production
- Jeux d'exemple
- Travailler avec une IA
- Construire et publier un jeu
- Publier sur GitHub Pages
- Le jeu statique sur Clever Cloud
- Autres hébergeurs statiques
- Sous-chemin, cache et service worker, déploiement incomplet, retour arrière
- Tester sur un téléphone en réseau local
Studio local (24)
- Le Studio local : présentation et lancement
- Modifier une salle
- Placement et scène
- Aperçu, application, annulation
- Storyboard
- Assets et découpe
- Vérifier : validateur, solveur, chemin critique, chaleur, santé, couverture
- Captures avant et après
- Diff sémantique
- Jouer et rejouer une session
- Explication des règles
- Langue et objectifs
- Voix et matrice héros × langues
- Carte
- Notes
- Remix dans le Studio
- Musique
- L'Assistant : votre propre clé
- Mode démo et studio-apply
- Sécurité en local et en réseau local
- API du Studio
- MCP local : configurer chaque client
- Outils MCP
- Dépannage du Studio
Studio d'équipe (21)
- Ce qui tourne où
- Concepts : révision, transaction, pan, bail, aperçu, build
- Débuter comme dev invité
- Travailler ensemble au quotidien
- Rôles et actions : la matrice complète
- Invitations
- Gérer les membres
- Écriture refusée sur le Studio hébergé : révision de base périmée (409)
- Écriture refusée sur le Studio hébergé : pan verrouillé (423)
- Reprendre après un bail perdu, une déconnexion ou un aperçu périmé
- Commentaires
- Carte et diff sémantique
- Publier des builds
- MCP distant
- Le jeu dans Git
- Mettre à jour le moteur d'un jeu hébergé
- Assets hébergés
- La ligne de commande du serveur
- Routes de santé et de métriques
- L'essayer en local avec compose.yml
- Limites connues
Clever Cloud (23)
- Clever Cloud : vue d'ensemble, coût et prérequis
- Applications et add-ons
- Domaines et TLS
- Keycloak
- OIDC générique et GitLab
- Configuration
- Premier déploiement
- Sauvegardes
- RPO et RTO
- Exercice de restauration sur une installation vierge
- Redéploiements
- Mettre à jour le serveur et vérifier l'état après une migration
- Limites du retour arrière
- Supervision
- Sécurité
- Renouveler les clés
- Récupérer l'accès administrateur
- Changer de domaine ou de fournisseur OIDC
- Worker, PostgreSQL ou Cellar en panne
- Exporter le jeu et quitter l'installation
- Rétention
- Dépannage sur Clever Cloud
- Coûts et démontage
Reality Bridge et connecteurs (16)
- Le Reality Bridge : ce que c'est
- Démarrage rapide
- Garanties
- Installer et lancer le Bridge
- Sauvegarde et restauration
- Plusieurs tenants
- Signaux et manifeste
- La ligne de commande du Bridge
- Vue d'ensemble des connecteurs
- Connecteur email
- Connecteur Telnet
- Connecteur SSH
- Connecteur Open Badges
- Le SDK des connecteurs
- Sécurité : Biscuit et signatures
- Dépannage du Bridge et des connecteurs
Contribuer (25)
- Bienvenue
- Préparer son poste de développement
- La boucle de développement
- Avant une pull request
- Conventions
- Écrire la documentation
- Architecture
- Visite du code
- Frontières d'import
- Quels tests tournent quand
- Tests de mutation
- Le cliquet de couverture
- La référence de qualité
- La CI expliquée
- Passes de terrain
- Mesures de performance
- Publier une release
- Paquets npm
- Décisions et ADR
- Gouvernance
- Pull requests des bots
- Contribuer avec des agents IA
- Politique de sécurité
- Code de conduite
- Licences et crédits