Switch to full style
Thema gesperrt

Queste mit AOQML - simple Tutorial (Die Ente)

So 16 Mär, 2008 18:08

Moin Moin,

in diesem Thread soll Schritt für Schritt ein kleines Quest mit AOQLM aufgebaut werden. AOQML ist eine HTML-ähnliche Sprache, die für Antamar Zufallsbegegnungen und Queste entwickelt wurde und derzeit in Antamar implementiert wird, es bedeutet Avesjünger und Ordenskrieber Quest Modelling Language.

Wie gesagt, ist AOQML ähnlich zu HMTL, genaugenommen XHTML. Es ist also grundsätzlich erst einmal Text, der auch ausgegeben wird, und dazwischen sind sogenannte "Tags" eingetreut, welche den Ablauf und die Darstellung beeinflussen. Z.B. bedeutet <p>Dieses ist ein Absatz.</p>, dass "Dieses ist ein Absatz." als eigenständiger Absatz dargestellt wird. Das <p>-Tag erzeugt also Absätze. Und jedes Tag hat einen Anfang, eben <p>, und ein Ende, hier also </p>.

Desweiteren wird jedes Ereignis mit dem die Spieler in einem Quest konfrontiert werden in ein eigenes Dokument geschrieben. Eine reine ZB wäre genaugenommen ein Quest mit einem einzigen solchen Dokument. Das Ganze ist dann noch in einen Rahmen eingebunden, der ebenfalls aus solchen Tags besteht. Hier ein Beispiel:
Code:
<?xml version="1.0" encoding="UTF-8"?>

<event>
<p>Du siehst eine Ente mit Küken.</p>
</event>


Dieses Beispiel wäre also praktisch eine ganz simple Zufallsbegegnung, die nur den einen Satz "Du siehst eine Ente mit Küken." ausgibt, sonst nichts.

Ok. Soweit der erste Teil des Tutorials. Jetzt wären die Quest-Schreiber dran, um mir eine Vorgabe zu machen: Was soll in der Eingangsszene eines kleinen Questes geschehen? Ich kodiere es dann mit Erläuterungen in AOQML.

EDIT Athuran\ Ich habe zwei Threads draus gemacht, einen für die simple Ente, einen für den komplexeren Questeinstieg. Das crash-Tutorial hier: viewtopic.php?f=28&t=3810

Re: Queste mit AOQML - ein Tutorial

So 16 Mär, 2008 20:32

Hm, mach mal ne Rechnen-Probe, um rauszufinden, wieviele kleine Enten da hinter Mami herschwimmen...

Re: Queste mit AOQML - ein Tutorial

So 16 Mär, 2008 20:44

Code:
<?xml version="1.0" encoding="UTF-8"?>

<event>
<p>Du siehst eine Ente mit Küken. Sofort kommt dir in den Sinn, die kleinen mal abzuzählen. Eins, zwei, ...
<challenge talent="Rechnen " modification="-3">
    <success>..., sechzehn, siebzehn. Siebzehn, doch so viele!</success>
    <failure>..., neun, zehn, ... äh, hmm. Was kam dann noch? Ist doch auch egal, wieviele Küken dan sind.</failure>
</challenge>
</p>
</event>


So wie oben dargestellt, wird also alles in einen Absatz geschrieben, auch das Ergebnis der Probe.
Wenn man <p>...</p> anders setzt, dann kann man das natürlich auch anders formatieren.

Und es ist auch möglich, verschiedene Success-/Failure-Stufen zu machen, je nachdem wieviel TaP man übrig hatte. Passt im obrigen Beispiel aber nicht so.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Mo 17 Mär, 2008 10:16

Doch, mach bitte mal folgendes:

Rechnen-Probe-3 als
TaP* < -5 = Ohauha, das sind aber mal fast ganz viele gleich...
TaP* > 1 = Aha, das sind drei Hände und zwei noch.
TaP* > 3 = ..., sechzehn, siebzehn. Siebzehn, doch so viele!
TaP* > 10 = Mit einen Seitenblick deines linken Auges erfasst du sofort alle 17 Entchen, selbst die sich in einem Knäuel wuselnden.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Mo 17 Mär, 2008 11:37

Ok, allerdings fehlt da auch ein Bereich, nämlich -4 >= TaP >= 1. D.h. bei Ergebnissen in diesem Bereich wird es für diese Probe KEINE Ausgabe geben!

Code:
...
<challenge talent="Rechnen " modification="-3">
    <failure max="-6">Ohauha, das sind aber mal fast ganz viele gleich...</failure>
    <!-- hier fehlt ein Bereich, genaugenommen zwei, nämlich ein failure- und ein success-Bereich -->
    <success min="2" max="3">"Aha, das sind drei Hände und zwei noch.</success>
    <success max="10">..., sechzehn, siebzehn. Siebzehn, doch so viele!</success>
    <success>Mit einen Seitenblick deines linken Auges erfasst du sofort alle 17 Entchen, selbst die sich in einem Knäuel wuselnden.</success>
</challenge>
...


Da min und max immer inklusive sind, verschieben sich die Zahlenwerte im Vergleich zur Vorgabe natürlich immer um 1, bzw. rutschen schin in den vorherigen Zweig.

<!-- ... --> ist außerdem ein Kommentar, der Inhalt wird ignoriert.
Zu beachten ist aber, dass nach der ersten passenden Bedingung abgebrochen wird. Wenn gewünscht, könnte man das Verhalten noch durch ein Attribut in <challenge> steuerbar machen.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Fr 28 Mär, 2008 01:01

Ich swollte gerade mal schreiben, was denn mit den Questen los ist.

Aber gut. Hier bin ich jedenfalls wieder:
Dies mein Beitrag:
Das ist bis jetzt ja noch alles ZB.
Bauen wir also ein.

Du siehst also die 17 Enten an deinem Wege vorbeilaufen. Was willst du tun?
1. Du siehst niemandem, die die gehören. Und Hunger hast du auch. Na klar! Du versuchst dir einen Praiostagsbraten zu fangen.
2. du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen.
3. Du suchst nach einem Besitzer.
4. Du stellst dich mitten vor die Enten auf den Weg und siehst was passiert.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Fr 28 Mär, 2008 01:53

Hast vermutlich selbst schon gesehen, dass das Thema in viewtopic.php?f=28&t=3810 erklärt wurde?

"Die Ente" war sozusagen als super simple Tutorial gedacht. Und klar, mit AOQML kann man auch ZB programmieren. ZB sind ja praktisch eine Sonderform von Questen, Queste ohne Wahlmöglichkeit sozusagen.

Kannst dich ja mal selbst an deiner gerade gestellten Aufgabe versuchen. Stichwort: choice

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Fr 28 Mär, 2008 11:55

Code:
<event>
<p> Du siehst also die 17 Enten an deinem Wege vorbeilaufen. Was willst du tun?</p>
<choice= "Du siehst niemandem, die die gehören. Und Hunger hast du auch. Na klar! Du versuchst dir einen Praiostagsbraten zu fangen.">Du versuchst dir einen dicken Erpel zu schnappen
<challenge talent= "Athletik" modification= "0">
<success>Mit einem gewaltigen Satz packst du den Erpel bei den Watscheln. </success>
<failure> Das einzige, was du in der hand hälst sind ein paar Federn. </failure></choice>

<choice="Du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen."> Eine Gauklertruppe kommt vorbei und belustigt sich köstlich an deinem lächerlichen Anblick. Der Anführer beschließt eine Posse zu schreiben über dich </choice>

<choice= "Du suchst nach einem Besitzer.">Etwa zwanzig Schritt vor dir siehst du einen kleinen Jungen , der ungeduldig auf seine Enten wartet.</choice>

<choice= "Du stellst dich mitten vor die Enten auf den Weg und siehst was passiert."> Sie gehen um dich herum. </choice>
<p> Nach deinen neuen Erfahrungen mit den Enten gfehst du wieder deines Weges. </p>
</event>


Ist es denn möglich die Probe einzubetten, war ich mir jetzt nicht sicher.
Wie sieht das sonst aus, passt das?

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Fr 28 Mär, 2008 13:44

Joschka hat geschrieben:Ist es denn möglich die Probe einzubetten, war ich mir jetzt nicht sicher.


Das geht schon, hat aber eine andere Wirkung als du dir dachtest. Das Probenergebnis würde direkt in der Auswahlliste erscheinen. Was du aber wohl wolltest, ist, dass es NACH der Auswahl durch den Spieler auf einer neuen Seite erscheint, oder?

Die Syntax für die choice-Tags ist auch etwas anders. Und ich baue noch eine Liste drumerherum, damit es in der Ausgabe besser formatiert wird:

Code:
<?xml version="1.0" encoding="UTF-8"?>

<event>
<p> Du siehst also die 17 Enten an deinem Wege vorbeilaufen. Was willst du tun?</p>
<ul>
<li><choice target="erpel-fangen">Du versuchst dir einen dicken Erpel zu schnappen</choice>:
<li><choice target="watscheln">Du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen.</choice>
<li><choice target="besitzer-suchen">Du suchst nach einem Besitzer.</choice>
<li><choice target="enten-abwarten">Du stellst dich mitten vor die Enten auf den Weg und siehst was passiert.</choice>
</ul>
</event>


Das ist erstmal die Seite, die auf einen Schlag dargestellt wird. Dann steht der Spieler vor der Auswahl. Was nach der Auswahl kommt, kann bislang noch nicht formuliert werden, weil ja noch nicht feststeht, welche Wahl der Spieler treffen wird. Dies kann erst auf Folgeseiten geschehen:

erpel.xml
Code:
...
<p>Du siehst niemandem, die die gehören. Und Hunger hast du auch. Na klar! Du versuchst dir einen Praiostagsbraten zu fangen.</p>
<challenge talent= "Athletik" modification= "0">
<success>Mit einem gewaltigen Satz packst du den Erpel bei den Watscheln. </success>
<failure> Das einzige, was du in der hand hälst sind ein paar Federn. </failure>
</choice>
...


besitzer-suchen.xml:
Code:
...
<p>Etwa zwanzig Schritt vor dir siehst du einen kleinen Jungen , der ungeduldig auf seine Enten wartet.</p>
...


Und natürlich die anderen Dateien aus dem choices.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Fr 28 Mär, 2008 19:47

gut dann habe ich das jetzt kapiert!

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Di 17 Jun, 2008 21:16

Jetzt noch mal für mich. Ich weiß, ich habe wohl zu viel :datz: :hauaha: :boxen: :wallbash:

Code:
<challenge talent= "Athletik" modification= "0">
<challenge talent="Rechnen " modification="-3">

Das zweite würde doch aufgrund des Lehrzeichens nach Rechnen nicht funktionieren , oder?

Code:
<?xml version="1.0" encoding="UTF-8"?>

Ist das immer gleich?

Code:
<li><choice target="erpel-fangen">Du versuchst dir einen dicken Erpel zu schnappen</choice>:
<li><choice target="watscheln">Du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen.</choice>

Der Doppelpunkt bei der ersten Wahlmöglichkeit ist nicht beabsichtigt oder?

Ich weiß, es ist ein bisschen viel, aber ich hoffe jemand kann mir da etwas helfen

Wie bekommt man im Wiki diese Kästchen (Schande über mich, der sich mit sowas einfach nicht so gut auskennt :wallbash: :wallbash:

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Di 17 Jun, 2008 23:49

Ein falsches Zeichen und das Wort wird nicht gefunden "Rechnen " gibts nicht als Talent, genauso "rechnen", da hier der erste buchstabe falsch ist.

Kästchen kommen auf verschiedene Weise zustande, einfache möglichkeit ist das einrücken.

In dem dargestellten Code fehlen auch einige abschliessende Tags, nach allem was da steht müsste das so sein:

Code:
<code xml n>
<?xml version="1.0" encoding="UTF-8"?>

<scene>
<p> Du siehst also die 17 Enten an deinem Wege vorbeilaufen. Was willst du tun?</p>
<ul>
<li><choice target="erpel-fangen">Du versuchst dir einen dicken Erpel zu schnappen</choice></li>
<li><choice target="watscheln">Du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen.</choice></li>
<li><choice target="besitzer-suchen">Du suchst nach einem Besitzer.</choice></li>
<li><choice target="enten-abwarten">Du stellst dich mitten vor die Enten auf den Weg und siehst was passiert.</choice></li>
</ul>
</scene>
</code>

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Mi 18 Jun, 2008 13:32

Orbis hat geschrieben:
Code:
<challenge talent= "Athletik" modification= "0">
<challenge talent="Rechnen " modification="-3">

Das zweite würde doch aufgrund des Lehrzeichens nach Rechnen nicht funktionieren , oder?


Richtig, Tippfehler.

Orbis hat geschrieben:
Code:
<?xml version="1.0" encoding="UTF-8"?>

Ist das immer gleich?


Solange es wirklich UTF-8 ist, ja. Habe noch nicht ausprobiert, ob andere Zeichensätze auch tatsächlich funktionieren. Sollte schon. Auf jeden Fall muss der Inhalts-Zeichensatz zu der Angabe passen.

Orbis hat geschrieben:
Code:
<li><choice target="erpel-fangen">Du versuchst dir einen dicken Erpel zu schnappen</choice>:
<li><choice target="watscheln">Du stellst dich hinten in der Entenreihe an und watschelst eine Zeit mit ihnen.</choice>

Der Doppelpunkt bei der ersten Wahlmöglichkeit ist nicht beabsichtigt oder?


Dort wohl nichts, folgt ja kein Text. Oft folgt aber dort noch Text, ist wohl durch Copy+Paste entstanden.

Orbis hat geschrieben:Wie bekommt man im Wiki diese Kästchen (Schande über mich, der sich mit sowas einfach nicht so gut auskennt :wallbash: :wallbash:


Einfach mal in den Quellcode bestehender Seiten gucken. Und auf das führende Leerzeichen achten.

Re: Queste mit AOQML - simple Tutorial (Die Ente)

Mi 18 Jun, 2008 13:45

Danke für die schnelle Antwort. Ich hoffe ich habe das soweit jetzt kapiert :D
Thema gesperrt