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
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
- Produkt: Karten = Poker Card (825x1125). Box für 80 Karten = Poker Tuck Box (90 cards).
- SVG -> PNG (TGC nimmt KEIN SVG):
npm install sharp node svg_to_png.js karten_export_tgc node svg_to_png.js box_export - Hochladen: PNGs der 80 Karten + Rückseite in den Deck-Uploader.
- Box: offizielles Stanz-Template der "Poker Tuck Box (90 cards)" von TGC laden und in
generate_box.jsdie KonstantenPANEL_W,PANEL_H,SPINE,FLAPdaran 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()ingenerate_box.js(die vierminiCardGroup(...)-Aufrufe). - Größe der Box-Karten:
CARD_SCALEoben ingenerate_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.