[ t e x t f i r e . d e - Startseite ]

Sitemap
Druckversion


Werkstatt

Runde Charaktere

Hier geht es nicht um dicke, hier geht es um vielseitige Nichtspielerfiguren - und wie man sie (am Bespiel von TAG) programmieren könnte.

Der Romanautor E.M. Forster führte die Unterscheidung zwischen flachen und runden Figuren in die Literaturtheorie ein (nämlich in Aspects of the Novel von 1927). Eine flache Romanfigur verhält sich immer gleich, während eine runde Figur sich von verschiedenen Seiten zeigen kann. Foster wies auch darauf hin, dass Romanfiguren nicht immer rund sein müssen und können - je nachdem, welche Rolle sie im Gefüge des Romans spielen.

In Textadventures jedoch kommen leider so gut wie ausschließlich flache Figuren vor. Wie gestaltet man überhaupt einen runden Charakter?

Die Zahl der Dimensionen einer Textadventure-Figur lässt sich im Gegensatz zu Romanfiguren sogar numerisch ermitteln. Es ist die Zahl der Zustände, in denen eine Person des Spiels dem Spieler begegnen kann. Wir definieren also (Beispiel TAG 2.0):

Zustand neutral 'gelangweilt'
Zustand wütend 'wütend'
Zustand besänftigt 'ruhiger als vorher'

Je nach Zustand soll die Figur anders reagieren als vorher. Nehmen wir als Beispiel einen älteren Herrn, dem der Spieler des Adventures in einem Spirituosenladen begegnet:

Obj     Kenner
Name    'Whiskykenner' m
Adj     'graumeliert'
Vor     'whisky'
Subst   'herr' m 'mann' m 'kenner' m
Attr    Person
Ort     Bar
Erst    'Ein graumelierter Herr sondiert die
        Whiskyflaschen.'
Besch   'Der graumelierte Herr sucht einen Whisky aus.
        Im Augenblick wirkt er [selbst.zust].'
Zust    neutral

Da der Spieler des Abenteuers eine passende Whiskyflasche für seinen Erbonkel Albert sucht, wird er den Herrn sicherlich nach dem Whisky fragen, den der studiert. Denn das Personal des Ladens ist nicht zu sehen oder kennt sich nicht allzugut aus. Das Verb fragen übernehmen wir aus karn.adv oder der Standard-Befehls-Datei des TAG-Pakets. Wir fügen der Definition des Kenners folgende Zeilen hinzu:

VorAusf
  (fragen)
  Jenach aObj
    (Whisky)
        Bed /(Kenner.Zust = neutral)
             'Du fragst den Herrn nach der
             Whiskyflasche, aber er bittet dich,
             deine Erkundigungen doch beim Personal
             dieses Geschäfts einzuziehen.'
        Bed /(Kenner.Zust = wütend)
             'Du fragst den graumelierten Herrn, was
             für ein Whisky das denn sei, den er,
             studiere, aber er schüttelt nur unwillig
             den Kopf.'
        Bed /(Kenner.Zust = besänftigt)
             'Auf deine Frage antwortet der Whiskykenner
             mit einem gelassenen Lächeln. "Na, junger
             Mann, wie sie auf dem Etikett lesen können,
             handelt es sich um einen 10-jährigen
             Springbank. Sie wissen doch wohl,
             dass Springbank die letzte aktive
             Distillerie in Campbeltown ist?'
        Text '*** Programmfehler - nicht erkannter
             Zustand! ***'

    (sonst)
        Text '"Hmm." Der Mann hat gar nicht richtig
             zugehört. "Wie?"'
  Ende
EndeAusf

Damit haben wir bereits einen programmiertechnischen Ansatz für einen runden Charakter im Abenteuer. Jetzt begänne die Fleißarbeit: Wir müssten definieren, wie der Kenner reagiert, wenn der Spieler ihn nach einem Regenschirm fragt, wir müssten ihm eine BefAusf geben, damit er auch auf Kommandos (abweisend!) reagiert. Und wir müssten definieren, wie der Spieler den Whiskykenner wütend macht, und wie er ihn wieder besänftigt. Wirft er vielleicht eine Flasche herunter und schenkt dem Kenner anschließend eine gute Zigarre? Nur der Autor des vollständigen Abenteuers wird das herausfinden.

Übrigens, wirklich »rund« werden unsere Figuren auf diese Weise niemals, aber je mehr Seiten sie haben, desto besser rollen sie - man denke an einen sechsseitigen und einen zwanzigseitigen Würfel.

07.05.2001, Florian Edlbauer

 
[nach oben]