Queste mit AOQML - simple Tutorial (Die Ente)

Queste mit AOQML - simple Tutorial (Die Ente)

Beitragvon Lowlander » 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: Alles auswählen
<?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
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - ein Tutorial

Beitragvon olcapone » So 16 Mär, 2008 20:32

Hm, mach mal ne Rechnen-Probe, um rauszufinden, wieviele kleine Enten da hinter Mami herschwimmen...
Discussion groups are like uranium: a little pile gives off a nice, warm glow, but if the pile gets bigger, it hits critical mass and starts a deadly meltdown.

Spoiler:
Ich bin ein Stern am Firmament,
Der die Welt betrachtet, die Welt verachtet,
Und in der eignen Glut verbrennt.

Ich bin das Meer, das nächtens stürmt,
Das klagende Meer, das opferschwer
zu alten Sünden neue türmt.

Ich bin von Eurer Welt verbannt
Vom Stolz erzogen, vom Stolz belogen,
Ich bin ein König ohne Land.

Ich bin die stumme Leidenschaft,
Im Haus ohne Herd, im Krieg ohne Schwert,
Und krank an meiner eignen Kraft.
Hermann Hesse
Benutzeravatar
olcapone
Major
Major
 
Beiträge: 2574
Registriert: Di 10 Jul, 2007 19:47
Wohnort: Biel / Schweiz
Heldenname: Die Nachfahren Hjalls
Mitglied bei: - Sjólfur Drakarskapar Isbrotsos -

Re: Queste mit AOQML - ein Tutorial

Beitragvon Lowlander » So 16 Mär, 2008 20:44

Code: Alles auswählen
<?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.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

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

Beitragvon Athuran » 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.
+++ Wiki-Informationsportal: ANTAMAR IST ANDERS - MACH MIT! (Anleitungen und Links) +++
Benutzeravatar
Athuran
Game Designer
Game Designer
 
Beiträge: 6311
Registriert: Do 18 Mai, 2006 16:23
Wohnort: Hansestadt Rostock
Heldenname: οΰδείζ

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

Beitragvon Lowlander » 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: Alles auswählen
...
<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.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

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

Beitragvon Joschka » 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.
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

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

Beitragvon Lowlander » 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
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

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

Beitragvon Joschka » Fr 28 Mär, 2008 11:55

Code: Alles auswählen
<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?
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

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

Beitragvon Lowlander » 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: Alles auswählen
<?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: Alles auswählen
...
<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: Alles auswählen
...
<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.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

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

Beitragvon Joschka » Fr 28 Mär, 2008 19:47

gut dann habe ich das jetzt kapiert!
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

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

Beitragvon Orbis » Di 17 Jun, 2008 21:16

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

Code: Alles auswählen
<challenge talent= "Athletik" modification= "0">
<challenge talent="Rechnen " modification="-3">

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

Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>

Ist das immer gleich?

Code: Alles auswählen
<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:
Gezeichnet,
Orbis

Spoiler:
Ich wusste nicht, dass das auch in der Sigatur funktioniert ^^
Benutzeravatar
Orbis
Glücksritter
Glücksritter
 
Beiträge: 34
Registriert: Do 15 Mai, 2008 15:41
Heldenname: Saug Sohn des Schmug
Mitglied bei: Hl. Orden Unserer Herrin Rondra vom Theater in Ask

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

Beitragvon Inanna » 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: Alles auswählen
<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>
Schreiberin
Benutzeravatar
Inanna
Feldwebel
Feldwebel
 
Beiträge: 435
Registriert: Sa 29 Mär, 2008 16:55
Heldenname: Nadyna nya Vynna
Mitglied bei: Ken no Nagareru Ugoki

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

Beitragvon Lowlander » Mi 18 Jun, 2008 13:32

Orbis hat geschrieben:
Code: Alles auswählen
<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: Alles auswählen
<?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: Alles auswählen
<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.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

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

Beitragvon Orbis » Mi 18 Jun, 2008 13:45

Danke für die schnelle Antwort. Ich hoffe ich habe das soweit jetzt kapiert :D
Benutzeravatar
Orbis
Glücksritter
Glücksritter
 
Beiträge: 34
Registriert: Do 15 Mai, 2008 15:41
Heldenname: Saug Sohn des Schmug
Mitglied bei: Hl. Orden Unserer Herrin Rondra vom Theater in Ask


Zurück zu Antamar®-Archiv



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste

cron