image image


image

Guten Appetit: Menüs in Ren’Py (Mein erstes Ren’Py Tutorial)

Es soll ja auch Visual Novels geben, die einfach eine Geschichte – wie in einem Buch – linear von vorne nach hinten durcherzählen. Aber Interaktivität, Ver- und Abzweigungen mit alternativen Enden sind meiner Meinung nach das Salz in der Suppe dieses Genres. In meinem ersten Ren’Py-Tutorial will ich daher zeigen, wie man dies implementieren kann:

imageimageimage

Schweren Herzens verlasse ich dafür mein geliebtes Wunderland-Universum1 und tauche ein in die Welt von Hercule Poirot, den genialen, belgischen Detektiv. In meinem ersten Beispiel wird der auf einen britischen Landsitz gerufen, dort von dem Dienstmädchen Alice in Empfang genommen und gefragt, ob sie ihn zu den Herrschaften begleiten solle. Und an dieser Stelle muß der Spieler eine Entscheidung treffen:

  1. Er sagt »Ja« und wird in die Empfangshalle geleitet.
  2. Er sagt »Nein«, weil er seine kleinen, grauen Zellen noch auslüften möchte und bleibt im Garten.

Solche Entscheidungen werden in Ren’Py in Menüs (menue:) implementiert. Hier erst einmal der komplette Quellcode dieser kurzen Szene:

# Bilder
image bg abbey_grounds = "bg abbey_grounds.jpg"
image bg abbey_drawing = "bg abbey_drawing.jpg"
image alice = "maid.png"
image hercule = "hercule.png"

# Personen
define a = Character("Alice", color = "#c8ffc8")
define h = Character("Hercule", color = "#ee1100")

# Hier beginnt das Spiel. Label "Start" ist obligatorisch!
label start:

    scene bg abbey_grounds
    show hercule at left
    with slideleft
    show alice at right
    with dissolve

    a "Guten Tag, Monsieur Poirot, die Herrschaften erwarten sie bereits."
    a "Darf ich Sie ins Haus bitten?"
    pause 1.0
    hide alice
    with dissolve
    
    menu:
    
        "Ja, gerne. Ich folge Ihnen.":
            jump hall
            
        "Danke, ich bleibe noch im Garten.":
            jump garden

label hall:

    scene bg abbey_drawing
    show hercule at left
    with slideright
    
    h "Allo, 'ier bin ich."
    h "Sie 'aben mich gerufen?"
    jump endstory

label garden:

    h "Meine kleinen, grauen Zellen brauchen noch ein wenig frische Luft."
    jump endstory
    
label endstory:

    pause 2.0
    hide hercule
    with dissolve

    "Und so endete unsere monumentale Geschichte …"

Erst einmal: Ren’Py ist in Python implementiert und kann mit Python erweitert werden. Daher sind auch hier die korrekten Einrückungen wichtig, sonst wird das Spiel gar nicht erst gestartet. Die label sind Sprungziele die mit jump angesprungen werden können. Bei scene wird im Regelfall das Hintergrundbild und alle anderen Bilder ausgetauscht und die Akteure (character) können rechts (at right), links (at left) oder mittig (default) platziert werden. show läßt die Darsteller auf- und hide sie wieder abtreten, dissolve, slideleft und slideright sind einige der zahlreichen, möglichen Bildübergänge und pause pausiert das Spiel mit der angegebenen Anzahl in Sekunden.

Die Bilder habe ich wieder der unter einer Creative Commnons (BY-NC 4.0) stehenden Sammlung von Carlmary entnommen und die Hintergründe der frei zu verwendenden Sammlung von Spiral Atlas Games. Und natürlich gibt es den Quellcode und alle Assets in meinem Github-Repositorium.

Das aktuelle Ren’Py soll (als experimentelles Feature) nach HTML5 exportieren können. Schaun wir mal, ob ich das hinbekomme, denn dann könnte ich Euch die Ergebnisse der Tutorials im im Browser (auf Glitch oder itch.io?) präsentieren. Denn auch wenn Ren’Py reichlich geschwätzig ist – es macht schon Spaß, mit dem Teil zu arbeiten. Daher werden sicher noch weitere Tutorials folgen. Still digging!

  1. Aber keine Sorge, die nächsten Twine-Tutorials sind schon fest eingeplant und da kehren Alice und das Wunderland wieder zurück. 


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image