[Tutorial] Loops und Labels - Smalltalk der Heldengruppe

  • Dialoge innerhalb der Heldengruppe durch Schleifen und Labels.

    Eine kleine Anregung.


    Ungern würde ich dieses als Tutorial ansehen.

    Dies ist daher eher eine Anregung.

    Mann könnte das, was ich euch hier vorstelle auf tausend Arten eleganter lösen. Aber vielleicht lernt Ihr ja dennoch was. ^^


    Habt Ihr euch auch schonmal gefragt, warum die Heldengruppe mit jedem dahergelaufenene NPC quatscht,

    aber auf den stundenlangen Wanderungen durch die liebevoll gemappte Pampa einfach vor sich hinschweigt?

    Weil man seine Gruppenmitgieder nicht ansprechen kann. Logisch.

    Die machen aber auch nie was selbstständig.

    Alles muss man denen vorkauen, nervig sowas.

    Daher hier (ta-daaa) habe ich Abhilfe geschaffen.

    Ein System, dass einen Dialog zwischen den Gruppenmitgiliedern ermöglicht.

    Dass kann man super benutzen um den Background der Helden etwas zu beleuchten. man kann aber auch zusätzliche Information zur story oder aktuellen Questst darin verstecken.

    Nicht zwingend erforderlich, aber nützlich für dies und das.

    :)

    Wie immer, war am anfang das C-Eve:

    Loops und Label sind hier die Zauberwörter.



    Eine schleife (loop) ist ein, im Eventtext angelegter Kreisverkehr.

    Im Grunde arbeitet jedes Event auf Parallel Prozess wie ein Loop.

    Wenn es einmal am untersten Befehl angekommen ist, wird das Event wiederholt.

    Das selbe Verhalten wird durch eine Schleife ebenfalls erzeugt.

    Die schleife wird so lange wiederholt, bis ein Befehl die schleife verlässt.

    Entweder durch ein "schleife verlassen" oder durch en Label.


    Ein Label ist eine Marke im Eventtext, auf den jederzeit verwiesen werden kann.

    Unabhängig von der Reihenfolge kann jederzeit im Eventtext vor und zurück gesprungen werden, wenn man Label verwenden.


    Wir legen also in einem Allgemeinen Event (C-Eve) eine Schleife (loop) an.

    Kein Loop ohne Wait -Befehl, sonst klemmen die und das Game friert ein.

    Hier können wir jetzt auch Großzügig sein. 3600 Frames. Also knappe 10 Minuten.

    oder mehr oder Weniger, wie Ihr wollt. Jetzt erzeugt en wir eine Zufallszahl (random) in all meinen Projekten gibt es min 1 Random Variable. Wichtig ist hier das "set on"

    Wir fangen mal klein an 1-3.


    Dahinter kommt eine Abfrage ob die Zahl genau 3 ist.

    Wenn nicht wird der Loop wiederholt. und wieder 10 min gewartet.

    Wenn aber mal die 3 kommt, sind wir bereit zum Qautschen.



    Ich lasse dann BalloonIcons anzeigen.

    dann gehen wir via Lable in den nächsten Loop

    Wir Warten 15 Frames.

    Da stehen wieder 2 Abfragen drin:

    Ist der knopp C gedrückt (dass ist die normale Aktionstaste). => Dann spring zum Lable "Smalltalk"

    Wenn nein Fragen wir ab ob die Variable Smalltalk = 600 ist? Wenn nicht, erhöhen wir die Variable um 1 und Lassen den loop neu durchlaufen. Wenn dass so ist, setzten wir die Variable auf 0, löschen das Bild in der Ecke und verlassen den Loop. Das ganze event wird von oben wieder durchgekaspert.

    Warum machen wir blos diesen ganzen GQuatsch? Ganz einfach. Alle 10 min gibt es jetzt eine 1/3 Chance, dass dem Spieler Smaltalk angeboten wird. Damit das nicht einfach den Spielfluss unterbricht, wird Ihm genau das mit dem Icon angezeigt.

    Wenn er jetzt einfach so auf seine Aktionstaste haut, springt er in den Smalltalk. Wenn er das in etwa 10 Sekunden nicht macht, ist die Chance vertan und er muss ggf wieder lange warten ehe er die Chance bekommt.


    Dass Label "Smalltalk"setzte ich unter die äussere Schleife. Auf diese Weise wird es nur angesprochen, wenn das Label angesprochen wird.



    Was genau Ihr hier jetzt reinschreibt, ergänze ich ggf noch.

    Man kann kurze Dialoge nehmen. Durch eine weitere Abfrage der Zufallsvariablen, kann man nie wissen, worüber sich unterhalten wird.


    Eine schöne Möglichkeit, Background-Story ein zu arbeiten.


    Durch abfragen von bestimmten aktiven Quests oder Wettereffekten, Map IDs oder Items kann man aber auch gezielte Gespräche führen lassen.

    Auch wäre denkbar, dass man durch eine Choice dem Spieler ein, zwei Themen zur Auswahl gibt.



    Ich möchte mich entschuldigen, hab die Idee gerade gehabt und so runter geschrieben.

    Feedback, Anregungen, Lobpreisung oder Kritik, gerne hier.



    Worüber würdet Ihr eure Gruppe sprechen lassen?

    Ich bin gespannt.



    Gruß,

    Coffee

  • Ich finde die Anregung unheimlich gut!


    Mir hat es in Breath of Fire 3 immer gut gefallen, dass man im Lager die eigene Party anquatschen konnte und so etwas über sie erfahren hat, oder noch mal Tipps und Zusammenfassungen bekommen hat, was man gerade für Quests hat und wie man sie angehen könnte. Da es dort kein Questlog gab, war das eine gute Alternative.

    Ich hatte in meinem alten Großprojekt auch so ein Lager, wo man mit seiner Party quatschen konnte.


    Deine Version, dass dem Spieler in gewissem Abstand angeboten wird, sich unterwegs zu unterhalten, ist erfrischend neu. Ich würde das in einem Spiel begrüßen und fände es interessant, das mal ingame zu erleben.