Aller au contenu
quest'n'click

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.
  • main contient 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-click depuis la 4.2.5 ; l'ancienne adresse github.com/wanoo/web-scumm redirige 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) ; nvm lit le .nvmrc du 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

  1. 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
  1. Prenez la version de Node que nomme le dépôt (.nvmrc dit 22 : 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
  1. Installez les dépendances exactes de package-lock.json, outils de développement compris (Playwright, Vitest, Biome) :

    # à la racine du clone
    npm ci
  1. Installez les modules Python épinglés (Pillow, NumPy, SciPy) :

    # à la racine du clone
    python3 -m pip install -r requirements.txt
  1. Installez le navigateur que pilotent les scripts e2e et les vérifications du Studio :

    # à la racine du clone
    npx playwright install chromium

    npx playwright install webkit firefox ajoute les deux navigateurs optionnels.

  1. Vérifiez la machine :

    # à la racine du clone
    npm run doctor
  1. Lancez le jeu d'exemple. Le jeu est choisi par GAME, sinon par le jeu vers lequel pointe .cache/game (npm run game crée le lien), sinon par config.game dans package.json, qui vaut demo :

    # à 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ômeCauseCorrection
npm ci refuse : le verrou et package.json ne concordent pasUne modification locale de package.jsongit checkout package.json package-lock.json, ou npm install si la modification était voulue
✖ Playwright Chromium: browser binary missingÉtape 5 pas faitenpx playwright install chromium
error: externally-managed-environment de pipLe 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