Terraforming Mars
Terraforming Mars
Dernière mise à jour : 2026-05-10
Pas un TCG au sens strict (jeu de société avec base de cartes fixe), mais traité comme tel pour l'autocomplete @.
Source
- HTML parsing local + cards.json (extraction one-shot des règles officielles)
- Collection Qdrant :
terraforming-mars-cards - Data dir :
TM_CARDS_DATA_DIR(défaut/app/data/terraforming-mars-cards)cards.json: extrait via parsing HTMLimages/: PNG cartes locales
Code
| Fichier | Rôle |
|---|---|
src/services/cards/sources/terraforming-mars.ts |
CardSource |
scripts/terraforming-mars-cards/parse-html.ts |
Parse les règles HTML → cards.json |
scripts/terraforming-mars-cards/ingest.ts |
Push Qdrant |
scripts/terraforming-mars-cards/link-game.ts |
Lie ligne games |
Payload Qdrant terraforming-mars-cards
{
id: pointId,
name: string,
cost: number,
card_type: 'Project' | 'Corporation' | 'Prelude' | 'Standard',
effect: string, // texte de l'effet
victory_points: number,
tags: string[], // ['Plant', 'Microbe', 'Building', ...]
requirements: string, // ex: "Temperature -14°C+"
image_url: string, // chemin local
}
Images
Servies localement via proxy /api/cards/image/:pointId (resize sharp). Pas de CDN externe.
Symboles UI
Pas de symboles dédiés pour TM — les ressources (oxygène, température, océan, MC, plant, animal, microbe…) sont rendues comme texte descriptif dans les abilities. Si on veut ajouter des PNG plus tard : créer frontend/src/lib/tm-symbols.ts + assets dans frontend/public/tm-icons/.
Pas de méta ni deckbuilding
- TM n'a pas de format compétitif structuré (pas de Standard / Modern, pas d'archétypes formels au sens MTG)
- Le mode deckbuilding ne s'applique pas (le "deck" en TM dépend du draft initial, pas d'une construction préalable)
- Le RAG retombe sur retrieval synergy seul si une question deckbuilding est posée
Mise à jour
Quasi-statique. Le jeu de base est figé, seules les extensions occasionnelles ajoutent des cartes :
docker exec boardgame-referee npm run cards:tm:parse-html
docker exec boardgame-referee npm run cards:tm:ingest
Puis /admin → Resync TM cards (si tu veux passer par l'UI).
Cas d'usage typique
- Citer une carte spécifique :
@Birds→ l'oracle voit les détails (effet, points, requirements) - Question synergy : "Quelles cartes synergisent avec Plant tags ?" → retrieval cartes + chunks règles