Skip to main content

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 HTML
    • images/ : 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