Die Auto-Clips sind jetzt echte Kurzvideos
Aus jeder beendeten Partie wurde schon vorher ein Hochformat-Clip. Sie sahen nur alle gleich aus. Jetzt eröffnet jeder mit einem Aufhänger, hebt das Geld hervor und endet auf einer Karte.

Kurz gesagt
opolyx verwandelt beendete Partien in Highlight-Clips im Hochformat und veröffentlicht sie automatisch. Dieser Teil funktioniert schon eine Weile. Das Problem war, dass sich drei davon anzusehen anfühlte wie einen einzigen zu sehen.
- rund 40 % des Bildes waren leerer Hintergrund um ein mittig platziertes Brett;
- sie begannen mitten in der Partie bei einem beliebigen Würfelwurf – der zugleich das Vorschaubild ist;
- die Pointe war unlesbar: ein Mietschlag über 12.000 war eine graue Zeile in einer kleinen Leiste;
- jedes Ereignis bekam gleich viel Bildzeit, der Anlauf dauerte also so lang wie der Moment selbst;
- sie waren stumm, hatten kein Ende, und Bildtext und Hashtags änderten sich nie.
Jeder Clip wird jetzt inszeniert statt abgekippt: Er beginnt mit einem Aufhänger, der dir sagt, was gleich passiert, das Brett füllt das Bild, Geld und große Ereignisse werden hervorgehoben, sobald sie eintreffen, und am Ende steht eine Karte, die dir sagt, wo du spielen kannst. Das Tempo überfliegt die Buchhaltung und wird langsamer für den Moment, auf den es ankommt – samt kurzem Einfrieren vor einer Pointe, die du schon erahnen kannst.
Bildtexte, Titel und Hashtags stammen jetzt aus Pools statt aus einer einzigen Zeile, und wenn eine Partie mehrere Clips hergibt, werden sie so gewählt, dass sie von verschiedenen Dingen handeln – statt drei Ansichten desselben Bankrotts zu zeigen.
Für technisch Neugierige
Der Renderer ist ein Worker auf einem kleinen VPS, der die Live-Website in einem Headless-Chromium lädt und die Wiederholungsroute aufzeichnet. Genau das ist der Hebel: Das gesamte Aussehen eines Clips ist Web-Code, es wird also mit einem normalen Deploy ausgeliefert und am Worker muss nichts getan werden.
Der springende Punkt ist, den Ankerpunkt wiederzufinden. Die Wiederholungsroute bekommt nur einen Bereich übergeben, nicht „den Moment“ – die Seite lässt daher die eigene Highlight-Bewertung der Engine erneut über das vollständige Ereignisprotokoll laufen und nimmt den bestbewerteten Punkt innerhalb dieses Fensters. Das findet nachweislich genau den Moment wieder, den der Worker gewählt hat, und genau deshalb konnten die Visuals ausgeliefert werden, ohne den Worker überhaupt anzufassen.
// lib/clip/pacing.ts — screen time is a function of what the event is
const BOOKKEEPING = 110; // turn_ended, dice_rolled: skim
const NORMAL = 320;
const ANCHOR_MIN = 1400; // the moment the clip exists for
const PREDICT_FREEZE = 600; // "what happens next?" before a guessable payoff
export function paceFor(event: DomainEvent, isAnchor: boolean): number {
if (isAnchor) return Math.max(ANCHOR_MIN, NORMAL);
return isBookkeeping(event) ? BOOKKEEPING : NORMAL;
}| Vorher | Jetzt | |
|---|---|---|
| Aufbau | eine durchgehende Wiederholung | Aufhänger, Spiel, Endkarte |
| Tempo | 700 ms × 65 Ereignisse | 110–1400 ms je nach Ereignisgewicht |
| Länge | ~45 s, immer | 14–27 s, zugeschnitten |
| Beitragstext | ein Bildtext, vier feste Hashtags | gesetzte Pools pro Clip |
| Ton | fest ausgeschaltet | Spielgeräusche, optionales Musikbett |
Auch die Auswahl hat sich geändert: Wenn eine Partie mehrere Kandidatenmomente hergibt, behält der Wähler den besten jeder unterschiedlichen Art – eine einzelne Partie produziert also nicht mehr drei fast identische Clips desselben Bankrotts.
