75 lines
4.5 KiB
Markdown
75 lines
4.5 KiB
Markdown
# TROX – Druckpaket & Generator-Skripte
|
||
|
||
Alles für Prototyp und Serie bei The Game Crafter (TGC) bzw. ähnlichen Portalen.
|
||
|
||
## Suit-Codes (NEU, englische Logik)
|
||
| Suit | Code | Rolle | Symbol |
|
||
|---|---|---|---|
|
||
| Red | **R** | Permanenter TRUMPF | Crown |
|
||
| Yellow | **Y** | Standard | Sun |
|
||
| Green | **G** | Standard | Leaf |
|
||
| Black | **B** | Standard | Gear |
|
||
|
||
Kartencodes auf den Karten z.B. `TK-Y4` (Yellow 4), `TK-G7` (Green 7), `TK-R17`, `TK-B12` (Black 12).
|
||
|
||
## Was ist drin
|
||
|
||
| Datei / Ordner | Inhalt |
|
||
|---|---|
|
||
| `trox_card.js` | **Gemeinsames Modul** – die EINE Kartenzeichnung. Wird von cards + box genutzt |
|
||
| `generate_cards.js` | 80 Kartenvorderseiten (TGC + Original) |
|
||
| `generate_back.js` | gemeinsame Rückseite (TGC + Original) |
|
||
| `generate_box.js` | Tuckbox: Front mit ECHTEN TROX-Karten (aus trox_card.js) + Box-Netz |
|
||
| `generate_scorepad.js` | Scorepad als **PDF** – Format/Ausrichtung/Layout/Spielerzahl frei wählbar |
|
||
| `make_rules.js` | **Node.js**-Skript der PDF-Anleitung (pdfkit) |
|
||
| `svg_to_png.js` | SVG -> PNG Konverter für den TGC-Upload |
|
||
| `TROX_Rules_Extended_EN.pdf` | Erweiterte Anleitung mit 3-Spieler-Beispielen |
|
||
| `karten_export_tgc/` | 80 Karten + Rückseite, **825x1125 px** (TGC-konform, mit Bleed) |
|
||
| `karten_export_original/` | dieselben in **694x1069 px** (Originalmaß) |
|
||
| `box_export/` | `trox_box_front.svg` + `trox_box_wrap.svg` |
|
||
| `scorepad_export/` | mehrere **PDF**-Varianten (Letter/A4, portrait/landscape, versch. Layouts) |
|
||
|
||
## Architektur (wichtig)
|
||
`trox_card.js` ist die **einzige Quelle** des Kartendesigns:
|
||
- `buildCardSVG(colorName, num, opts)` -> komplette Karten-SVG (von generate_cards.js)
|
||
- `miniCardGroup(colorName, num, cx, cy, breite, rotation)` -> dieselbe Karte als skalierte Gruppe (von generate_box.js für den Fächer)
|
||
|
||
Dadurch sind die Karten auf der Box **garantiert identisch** mit den echten Spielkarten – nur skaliert und gefächert. Wer das Design ändert (Farben, Symbole, Schrift), ändert NUR `trox_card.js`, und Karten + Box bleiben synchron.
|
||
|
||
## Skripte ausführen
|
||
```bash
|
||
npm install pdfkit # einmalig, für make_rules.js
|
||
node generate_cards.js # both (TGC + Original) – oder: tgc | original
|
||
node generate_back.js # both – oder: tgc | original
|
||
node generate_box.js # both (front + wrap) – oder: front | wrap [scale]
|
||
node generate_scorepad.js # PDF, both 2x3 6 Spieler – [fmt] [orientation] [cols] [rows] [players] [margin]
|
||
node make_rules.js # erzeugt die PDF-Anleitung
|
||
```
|
||
|
||
## Druck-Workflow für The Game Crafter
|
||
1. **Produkt:** Karten = *Poker Card* (825x1125). Box für 80 Karten = *Poker Tuck Box (90 cards)*.
|
||
2. **SVG -> PNG** (TGC nimmt KEIN SVG):
|
||
```bash
|
||
npm install sharp
|
||
node svg_to_png.js karten_export_tgc
|
||
node svg_to_png.js box_export
|
||
```
|
||
3. **Hochladen:** PNGs der 80 Karten + Rückseite in den Deck-Uploader.
|
||
4. **Box:** offizielles Stanz-Template der "Poker Tuck Box (90 cards)" von TGC laden und in `generate_box.js` die Konstanten `PANEL_W`, `PANEL_H`, `SPINE`, `FLAP` daran angleichen. Faltlinien (gestrichelt) VOR dem Upload entfernen.
|
||
|
||
### TGC-Specs (bestätigt)
|
||
- **300 DPI**, **nur RGB** (CMYK wird abgelehnt).
|
||
- **Bleed** 1/8" (≈37 px), **Safe Zone** 1/4" (75 px) vom Rand.
|
||
|
||
## Anpassen
|
||
- **Kartendesign (Farben/Symbole/Schrift):** nur `trox_card.js`.
|
||
- **Welche Karten im Box-Fächer:** `cardFan()` in `generate_box.js` (die vier `miniCardGroup(...)`-Aufrufe).
|
||
- **Größe der Box-Karten:** `CARD_SCALE` oben in `generate_box.js` (Standard 0.30) ODER per CLI: `node generate_box.js front 0.26`. Eine Auto-Fit-Sicherung verkleinert den Fächer automatisch, falls er aus dem goldenen Rahmen ragen würde. Weitere Fächer-Regler: `FAN_SPREAD`, `FAN_ARC`, `FAN_TILT`, `FAN_CY`.
|
||
- **Scorepad-Layout:** voll parametrisierbar per CLI `node generate_scorepad.js [format] [cols] [rows] [players] [margin_in]`. Weniger Cards/Seite = größere, besser lesbare Cards (Schrift skaliert mit). Beispiel gegen zu kleinen Druck: `node generate_scorepad.js letter 1 2 6 0.5` (2 große Cards, 0.5" Rand). Defaults stehen im CONFIG-Block oben im Skript.
|
||
- **Anleitung:** `make_rules.js`, klar in Abschnitte gegliedert.
|
||
|
||
## Offene Designfrage (für dich)
|
||
Im Beispiel B summieren sich die Gebote auf genau die Stichzahl – dann können theoretisch alle treffen.
|
||
Viele Stichspiele verbieten das ("Screw-the-Dealer"). In der Anleitung ist das als
|
||
**optionale Variante "Exact Tension" (Abschnitt 8)** eingebaut. Entscheide, ob das deine Standardregel wird.
|