Ren'Py-Dialogverzweigungen: Entscheidungen, Story-Variablen und Rücksprungpfade verbinden
Maschinelle Übersetzung des Originals (English, Revision 1); massgebend ist das Original. Original
Menüs wählen lokale Story-Blöcke aus, Labels gliedern die Ziele, und eindeutig gewählte call- oder jump-Semantik sorgt dafür, dass Verzweigungen ihre Folgen behalten und gezielt wieder zusammenlaufen.
Inhalt
- Die Fortsetzung jeder Entscheidung klar festlegen
- Veränderliche Story-Variablen gezielt initialisieren
- Eine Entscheidung mit einer späteren Bedingung verknüpfen
- call und jump nach ihrem Rücksprungverhalten wählen
- Folgen und Wiederzusammenführung prüfen
- Quellen
- Geltungsbereich und Grundlage
- Quellen
- Zuschreibung und Lizenz
- Maschinenzugriff
Die Fortsetzung jeder Entscheidung klar festlegen
Ein Ren'Py-menu zeigt Auswahlmöglichkeiten an; der Anweisungsblock der gewählten Option wird ausgeführt. Endet dieser Block normal, läuft die Ausführung nach dem Menü weiter. Für eine kurze Variation genügt ein lokaler Block, für ein eigenständiges Ziel empfiehlt sich ein benanntes Label, sofern die Struktur davon profitiert. [1][2]
Festhalten, an welcher Stelle jeder Zweig wieder in die Geschichte mündet. Eine sichtbare Wahl verspricht eine Konsequenz. Diese kann jedoch eine geänderte Zeile, ein Beziehungswert oder eine spätere Option sein und muss nicht zwingend ein dauerhaft getrenntes Kapitel bedeuten.
Veränderliche Story-Variablen gezielt initialisieren
Für Variablen, die sich während des Spiels ändern können, default verwenden. Die Anweisung setzt einen Wert, wenn die Variable beim Spielstart oder beim Laden noch nicht definiert ist. Mit define deklarierte Variablen gelten als konstant und sollten nicht als veränderliche Beziehungszähler dienen. [3]
Für eine eigene Hafenszene wird default trust = 0 initialisiert. Diese Deklaration getrennt vom normalen Ablauf eines Gesprächs halten, damit ein erneuter Besuch des Gesprächs die Beziehung nicht absichtlich zurücksetzt. Der Variablen eine klare Bedeutung geben: das Vertrauen, das durch die Hilfe für den Hafenlotsen entsteht, und nicht ein unerklärter Punktestand, der in unzusammenhängenden Szenen wiederverwendet wird.
Eine Entscheidung mit einer späteren Bedingung verknüpfen
Der Spielerin oder dem Spieler wird die Wahl angeboten, die Laterne des Lotsen zu reparieren oder ohne Hilfe weiterzugehen. Im Reparaturzweig kommt $ trust += 1 zum Einsatz; der andere Zweig lässt den Wert unverändert. Später kann eine Option, die Routennotizen des Lotsen einzusehen, mit if trust >= 1 freigeschaltet werden. Dieses Beispiel legt die Beziehungsregel fest; Ren'Py leitet sie nicht aus dem Dialog ab.
Eine bedingte Menüoption wird üblicherweise ausgeblendet, wenn ihre Bedingung falsch ist. Mit der Konfigurationsoption config.menu_include_disabled lässt sie sich stattdessen deaktiviert anzeigen. Sind alle Auswahlmöglichkeiten nicht verfügbar, wird das Menü übersprungen und die Ausführung läuft danach weiter. Einen bewussten Fallback vorsehen oder diese Fortsetzung gezielt ausarbeiten. [1]
call und jump nach ihrem Rücksprungverhalten wählen
call übergibt die Kontrolle an ein Label und merkt sich, wo die Ausführung fortgesetzt werden soll. In der aufgerufenen Passage lässt sich die Ausführung mit return nach dem Aufruf fortsetzen. jump übergibt die Kontrolle, ohne einen eigenen Rücksprungpunkt zu hinterlegen. Ein Aufruf eignet sich für eine wiederverwendbare Passage zur Laternenreparatur, die zu unterschiedlichen Gesprächen zurückkehren soll; ein Sprung passt, wenn die Geschichte an einem anderen Ziel weitergehen soll. [2]
Ein Rücksprung bei leerem Aufrufstapel führt zurück ins Hauptmenü. Er sollte nicht als allgemeine Anweisung verstanden werden, die lediglich bedeutet, dass der aktuelle Absatz zu Ende ist. Das Rücksprungverhalten im Verzweigungsdesign sichtbar halten.
Folgen und Wiederzusammenführung prüfen
Beide Hafenentscheidungen durchspielen und anschliessend das spätere Menü mit den Routennotizen prüfen. Dabei ein neues Spiel, einen erneuten Besuch und, falls ein erneuter Besuch möglich ist, einen zweiten Reparaturversuch testen. Entscheiden, ob die Belohnung mehrfach verdient werden kann; soll sie einmalig sein, diesen Umstand ausdrücklich festhalten, statt darauf zu vertrauen, dass die Spielenden nie zurückkehren.
Prüfen, was geschieht, wenn die optionale Routennotizen-Auswahl nicht verfügbar ist, und sicherstellen, dass alle vorgesehenen Pfade den nächsten Handlungspunkt erreichen. Dies sind vorgeschlagene Durchgänge, keine ausgeführten Tests. Dialogtexte und Aktualisierungen des Story-Zustands aufeinander abstimmen, damit spätere Bedingungen widerspiegeln, was die Spielenden tatsächlich gewählt haben.
Quellen
- In-Game Menus — Mitwirkende der Ren'Py-Dokumentation.
- Labels & Control Flow — Mitwirkende der Ren'Py-Dokumentation.
- Python Statements — Mitwirkende der Ren'Py-Dokumentation.
Geltungsbereich und Grundlage
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
Wissensstand: 2026-10-11. Status: unreviewed (kein dokumentiertes Review) — Änderungen setzen den Reviewstatus zurück. Den Text als ungeprüftes Referenzmaterial behandeln und die Quellen prüfen.
Quellen
- In-Game Menus — Ren'Py documentation contributors — geprüft am 2026-10-12: erreichbar
- Labels & Control Flow — Ren'Py documentation contributors — geprüft am 2026-10-12: erreichbar
- Python Statements — Ren'Py documentation contributors — geprüft am 2026-10-12: erreichbar
Zuschreibung und Lizenz
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
Letzte Änderung: Original source-based game-development article.
Originalbeitrag: CC BY 4.0. Verlinktes Quellenmaterial behält seine eigenen Rechte.