尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Jeu de tir spatial (type Raiden / Vampire Survivors : runs infinies, boss, arbre de compétences), en Phaser 3, pensé pour Android / Google Play.
Le code est découpé en petits fichiers JavaScript « classiques » (pas de bundler, pas de npm) : on modifie un fichier, on rafraîchit la page.
Prérequis : Python 3 (et Chrome).
serve.bat (Windows : double-clic)
python tools/serve.py (partout ailleurs)
Puis ouvrir http://localhost:8080/ (jeu normal) ou http://localhost:8080/?dev (mode DEV : tout débloqué, bac à sable, outils de test). Le serveur désactive le cache : après une modification, un simple F5 suffit.
Ouvrir
index.htmlen double-clic (file://) ne marche pas : le navigateur interdit de charger les fichiers. Il faut passer parserve.bat.
index.html page coque (HTML du menu/HUD) — charge src/boot.js
css/style.css styles
vendor/ Phaser (copie locale, pas besoin d'internet)
assets/ images, sons, polices utilisés par le jeu (+ manifest.json = liste des fichiers)
sources/ fichiers d'origine non utilisés par le jeu : mp3 sources des sons, planches ChatGPT, maquettes UI
docs/ documentation de conception (gameplay, équilibrage, sons, prompts…)
tools/ serveur, build, tests, scripts de découpe des sons
src/
boot.js chargeur : charge les assets puis les scripts listés dans scripts.json
scripts.json ORDRE DE CHARGEMENT des fichiers (important : voir plus bas)
main.js point d'entrée (config Phaser, démarrage)
core/ config, constantes, sauvegarde cloud, garde-fous d'entrée, mixin
data/ données pures : stats, arbre de compétences, cartes, reliques, fusions, boss, succès, événements, équilibrage
gfx/ sprites dessinés en code, textures procédurales, constructeurs de textures
audio/ moteur de sons, sons enregistrés, bibliothèque synthétique, musique
ui/ icônes pixel, interface HTML, pages de menu, arbre, HUD
scenes/ BootScene (chargement), GameScene (la scène de jeu) et HomeScene (l'accueil)
home/ méthodes de HomeScene : décor, carte stellaire, panneaux (voir docs/menu-accueil.md)
game/ player/ enemies/ bosses/ combat/ events/ systems/ world/ fx/ dev/
les méthodes de GameScene, rangées par sujet
GameScene est une grosse classe (~240 méthodes). src/scenes/GameScene.js ne contient que constructor et create.
Les autres méthodes sont dans les dossiers game/, player/, enemies/, bosses/… sous la forme :
mixin(GameScene, {
maMethode(){ ... },
uneAutre(x){ ... }, // virgule entre les méthodes !
});
Pour une nouvelle méthode : l'ajouter dans le fichier du bon sujet, ou créer un nouveau fichier et l'ajouter à src/scripts.json (après scenes/GameScene.js). Une méthode définie deux fois fait planter au démarrage (volontaire, pour éviter les écrasements silencieux).
src/<dossier>/mon-fichier.js, première ligne "use strict";.src/scripts.json au bon endroit : les fichiers sont exécutés dans l'ordre ; un fichier ne peut utiliser au démarrage que ce qui est défini plus haut dans la liste (les fonctions appelées plus tard, pendant le jeu, n'ont pas cette contrainte).import/export.assets/sprites/ ou assets/audio/….python tools/gen_manifest.py (met à jour assets/manifest.json).asset('sprites/mon_sprite.png') renvoie le fichier sous forme de data-URI, utilisable comme avant (textures.addBase64, sons…).Les sons enregistrés sont réglés dans src/audio/sfx-files.js (niveau pk, réverb rv…).
python tools/build.py # dist/space-shooter-x.html + dist/space-shooter-x-dev.html
python tools/build.py --inline-phaser # embarque aussi Phaser (hors-ligne)
Tout (code, CSS, images, sons, polices) est embarqué dans un seul .html (~16 Mo). dist/ n'est pas versionné.
pip install playwright
python tools/smoke_test.py # lance le jeu en dev, démarre une partie, échoue s'il y a une erreur JS
python tools/smoke_test.py --dist # pareil sur le fichier unique de dist/
À lancer avant chaque push. Autres tests : node tools/check_worlds.js, python tools/level_test.py, python tools/home_test.py.
Équilibrage : python tools/sim_balance.py grid|campaign|tune (joueur automatique en avance rapide, voir l'en-tête du fichier).
Installer Git (https://git-scm.com/download/win), puis, une seule fois, dans ce dossier :
git init -b main
git add .
git commit -m "Découpage du monolithe en modules"
git remote add origin <URL du dépôt GitHub/GitLab>
git push -u origin main
Au quotidien :
git pull # récupérer le travail de l'autre
git switch -c ma-fonctionnalite
... modifier, tester (smoke_test) ...
git add -A && git commit -m "Ce que j'ai fait"
git push -u origin ma-fonctionnalite # puis pull request / merge
Conseils pour éviter les conflits : se répartir les dossiers (ex. l'un bosses/ + events/, l'autre ui/ + player/), commits petits et fréquents, git pull avant de commencer. src/scripts.json et assets/manifest.json sont les deux fichiers « partagés » : une ligne par fichier, les conflits y sont faciles à résoudre.
Les fichiers lourds (sources/, ~50 Mo d'images et mp3) sont versionnés ; dist/ et backups/ ne le sont pas.
CLAUDE.md / PASSATION.md : contexte du projet pour Claude Code et état d'avancement.docs/menu-accueil.md : l'accueil, les mondes, la progression (avec captures d'écran).docs/ : conception (boucle de gameplay, niveaux d'alerte, équilibrage, sons, prompts d'assets).