InstallerGuidePour contributeursS'applique de 4.2.5
Installer depuis le dépôt pour travailler sur le moteur
This page in EnglishCette page sur le wiki GitHub
Pour modifier le moteur lui-même, ses outils ou son Studio, ou pour jouer ses jeux d'exemple depuis les sources, on travaille dans un clone du dépôt du moteur. Pour faire votre propre jeu, vous n'en avez pas besoin : Installer depuis l'archive de la release.
Ce que vous obtenez
Un clone de wanoo/quest-n-click avec ses dépendances de développement, les modules Python et Chromium installés,
vérifié par npm run doctor, et le jeu d'exemple qui tourne avec npm run dev.
Contexte et versions
- Le dépôt du moteur, sur votre machine. Chaque commande se lance à la racine du clone.
maincontient du travail pas encore publié. Pour travailler sur une version publiée, prenez son tag (git checkout v4.4.0).- Le dépôt est
github.com/wanoo/quest-n-clickdepuis la 4.2.5 ; l'ancienne adressegithub.com/wanoo/web-scummredirige vers lui. - L'installation complète d'un contributeur, avec les conventions et les vérifications avant une pull request, est Préparer sa machine de développement ; cette page ne couvre que l'installation.
Prérequis
- git, et Node.js 22.12 ou plus récent (22.13 pour le Studio local et les outils d'écriture) ;
nvmlit le.nvmrcdu dépôt (Prérequis). - Python 3 (Prérequis).
- Optionnel : ffmpeg, pour les sons et le pipeline audio (Prérequis).
Où lancer les commandes
Sur votre machine, dans le dossier qui accueillera le clone, puis à la racine du clone. Sous Windows, dans Git Bash.
Étapes
-
Clonez le dépôt et entrez-y :
# dans le dossier qui accueillera le clone git clone https://github.com/wanoo/quest-n-click.git cd quest-n-click
-
Prenez la version de Node que nomme le dépôt (
.nvmrcdit22: la Node 22 la plus récente que vous avez) :# à la racine du clone nvm use node --version # v22.12.0 ou plus récent
-
Installez les dépendances exactes de
package-lock.json, outils de développement compris (Playwright, Vitest, Biome) :# à la racine du clone npm ci
-
Installez les modules Python épinglés (Pillow, NumPy, SciPy) :
# à la racine du clone python3 -m pip install -r requirements.txt
-
Installez le navigateur que pilotent les scripts e2e et les vérifications du Studio :
# à la racine du clone npx playwright install chromiumnpx playwright install webkit firefoxajoute les deux navigateurs optionnels.
-
Vérifiez la machine :
# à la racine du clone npm run doctor
-
Lancez le jeu d'exemple. Le jeu est choisi par
GAME, sinon par le jeu vers lequel pointe.cache/game(npm run gamecrée le lien), sinon parconfig.gamedanspackage.json, qui vautdemo:# à la racine du clone npm run dev # le jeu d'exemple, games/demo GAME=heroes npm run dev # un autre jeu de games/
Résultat attendu, et comment le vérifier
npm run doctor se termine par Development, asset and browser-test prerequisites are ready. (ou dit quel prérequis
optionnel manque, et sort quand même avec 0) ; voir doctor. npm run dev affiche une URL locale
qui ouvre le jeu d'exemple. Les vérifications à lancer avant une modification sont dans
Avant une pull request.
Erreurs fréquentes
| Symptôme | Cause | Correction |
|---|---|---|
npm ci refuse : le verrou et package.json ne concordent pas | Une modification locale de package.json | git checkout package.json package-lock.json, ou npm install si la modification était voulue |
✖ Playwright Chromium: browser binary missing | Étape 5 pas faite | npx playwright install chromium |
error: externally-managed-environment de pip | Le Python du système refuse les installations globales (PEP 668) | Passez par un environnement virtuel : python3 -m venv .venv && . .venv/bin/activate, puis l'étape 4 |
✖ games/<id>/index.ts not found (GAME=<id>) | GAME ne nomme aucun dossier de games/ | ls games et choisissez un id existant |
Dépannage de l'installation en dit plus.
Fichiers ou données modifiés
Le clone ; node_modules/ ; les navigateurs de Playwright dans son dossier de cache (hors du clone, partagé par tous
les projets) ; les modules Python dans votre environnement Python ; .cache/ dans le clone (le lien du jeu, le journal
des outils d'écriture, des caches), ignoré par git.
Reprise ou retour arrière
Supprimez le clone. Les navigateurs de Playwright restent dans son cache jusqu'à npx playwright uninstall --all.
Références
- Préparer sa machine de développement, Boucle de développement, Avant une pull request
- Prérequis, doctor
CONTRIBUTING.md,tools/select-game.ts(comment le jeu est choisi)