quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Préparer son poste de développement

English · Type : tutoriel · Public : contributeur · Contexte : dépôt du moteur · Statut : prête · S'applique depuis : 4.4.0

D'un dossier vide à un dépôt du moteur dont les vérifications tournent sur votre machine. Une quinzaine de minutes, surtout des téléchargements.

Ce que vous allez obtenir

Un clone de wanoo/quest-n-click avec ses dépendances, les modules Python d'image, un Chromium de Playwright, et un rapport de npm run doctor sans élément obligatoire manquant. À la fin, le jeu d'exemple tourne dans votre navigateur et la suite unitaire passe.

Cette page sert à travailler sur le moteur. Pour faire un jeu avec un moteur publié, créez plutôt un projet (Votre premier jeu) ; pour installer depuis le dépôt sans contribuer, voir Installer depuis le dépôt.

Ce qu'il vous faut

Les versions exactes par système sont dans Prérequis.

Étapes

Chaque commande ci-dessous se lance dans un terminal, dans le dépôt du moteur une fois cloné.

  1. Clonez le dépôt et entrez dedans.

    # dans le dossier qui contiendra le clone
    git clone https://github.com/wanoo/quest-n-click.git
    cd quest-n-click
    

    Vous voyez les dossiers du dépôt : src/, games/, tools/, tests/, wiki/…

  1. Choisissez Node. Avec nvm :

    # dans le dépôt du moteur
    nvm use
    node --version
    

    node --version affiche v22.12.0 ou plus. Sans nvm, installez une Node 22 LTS depuis nodejs.org.

  1. Installez les dépendances exactement comme le dit le fichier de verrouillage.

    # dans le dépôt du moteur
    npm ci
    

    La commande se termine sans erreur et crée node_modules/. Utilisez npm ci, pas npm install : le fichier de verrouillage fait partie de ce que la CI vérifie.

  1. Installez les modules Python d'image.

    # dans le dépôt du moteur
    python3 -m pip install -r requirements.txt
    

    Un environnement virtuel convient aussi ; les outils appellent python3, activez-le donc avant de les lancer.

  1. Installez un navigateur pour les tests de bout en bout.

    # dans le dépôt du moteur
    npx playwright install chromium
    

    Chromium est obligatoire (les e2e et les vérifications du Studio s'en servent). WebKit et Firefox sont facultatifs : npx playwright install webkit firefox les ajoute, pour les lignes que la CI lance dans ces navigateurs.

  1. Consultez le docteur.

    # dans le dépôt du moteur
    npm run doctor
    

    Chaque ligne est ✔ (présent), ○ (facultatif et absent) ou ✖ (obligatoire et absent), avec la commande qui corrige, par exemple Run: python3 -m pip install -r requirements.txt ou Run: npx playwright install chromium. Il vérifie Node (version majeure 22 ou plus), Python 3, les modules d'image, ffmpeg, les trois navigateurs de Playwright, et Ed25519 et Biscuit pour le Reality Bridge. Seul un élément obligatoire fait échouer le rapport : Python, ffmpeg, WebKit et Firefox sont facultatifs au quotidien. npm run doctor -- --release rend obligatoires Python, ses modules et ffmpeg, dont npm run release-check a besoin. Le docteur n'installe jamais rien.

  1. Lancez la suite unitaire et le jeu d'exemple.

    # dans le dépôt du moteur
    npm test
    npm run dev
    

    npm test lance la suite unitaire (test:node : tous les fichiers de test sauf les tests lourds du solveur et les deux tests d'assets). npm run dev sert le jeu d'exemple, « The Pantry Key », sur http://localhost:5173/ : ouvrez-le dans une fenêtre de la taille d'un téléphone.

  1. Choisissez un autre jeu quand il le faut. Le jeu courant est, dans cet ordre : la variable d'environnement GAME, le jeu vers lequel pointe le lien .cache/game, "config": { "game" } de package.json, puis demo.

    # dans le dépôt du moteur
    GAME=reference npm run dev        # pour cette commande seulement
    GAME=heroes npm run game          # déplace le lien .cache/game : les commandes suivantes utilisent heroes
    GAME=demo npm run game            # retour au jeu d'exemple
    

    Les jeux fournis sont demo, reference (« The Night Market »), heroes, signals et _template (le modèle que copie npm run new-game). npm run dev, npm run check et npm run build lancent d'abord npm run game : le lien suit donc GAME quand elle est définie.

Limite · windows-posix Sous Windows, la suite unitaire tourne sans les quelques fichiers de test qui supposent POSIX (droits de fichiers, / dans les chemins, outils du shell, tests Telnet et SSH des connecteurs, worker de traitement du Studio Server) : le job windows de la CI les nomme. Voir Prérequis.

Ce que vous avez appris

Pour aller plus loin


Modifier la source de cette page · Signaler une erreur