Forum moved to if-forum.org
Autor Nachricht
<  I7: Telefonieren
kaethe
BeitragVerfasst am: Mi, 19 März 2014 - 17:38  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 04.03.2014
Beiträge: 9

Hallo,

ich möchte in mein Spiel gern die Möglichkeit einbauen mit zwei verschiedenen Personen zu telefonieren. Wie lege ich an, dass man nach dem Befehl "telefoniere", die Auswahl zwischen diesen beiden Personen bekommt? Wenn ich das Wort "calling" kreiere, dann kann ich nicht "applying to one person" schreiben, dass gibt eine Fehlermeldung.
Hat jemand eine Idee, wie man das Problem lösen kann?

Danke!
Kaethe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FrankS
BeitragVerfasst am: Mi, 19 März 2014 - 20:04  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 01.02.2011
Beiträge: 81
Wohnort: Leipzig

Falls es nur darum geht, dass Anrufe bei unterschiedlichen Personen Kurzbeschreibungen der Telefonate bringen - also keine verzweigten Gesprächsoptionen bei jedem Anruf -, dann ginge so etwas "Schmutziges":

Code:
Include german by Team GerX.
A thing is usually privately-named.
A room is usually privately-named.

The phonebooth is a room. The printed name is "Telefonzelle".

Understand "telefonier mit [text]" as a mistake ("Kein Erfolg!").
Understand "ruf [text] an" as a mistake ("Kein Erfolg!").
Understand "telefonier mit klaus" as a mistake ("Klaus erzählt dir von seinem letzten Urlaub.").
Understand "ruf klaus an" as a mistake ("Klaus erzählt dir von seinem letzten Urlaub.").
Understand "telefonier mit hans" as a mistake ("Hans fragt, was du willst, und legt wieder auf.").
Understand "ruf hans an" as a mistake ("Hans fragt, was du willst, und legt wieder auf.").

Test me with "telefoniere mit klaus / ruf hans an / ruf apfel an".


Zitat:
Wenn ich das Wort "calling" kreiere, dann kann ich nicht "applying to one person" schreiben, dass gibt eine Fehlermeldung.


Dass das Verb nur mit einer Person funktionieren soll, wird in der Understand-Rule spezifiziert:

Code:
Calling is an action applying to one thing. Understand "telefonier mit [someone]",  "ruf [someone] an" as calling.


Dies funktioniert zunächst aber leider nur, wenn die Person anwesend ist, was beim Telefonieren selten vorkommen dürfte.
_________________
www.text-abenteuer.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Mi, 19 März 2014 - 21:04  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Ich finde das überhaupt nicht schmutzig, man kann das Telefonieren beliebig kompliziert machen wie die Story mit den Relations im Recipe Book Kap. 9.10 Telephones oder in Telephones by George Tryfonas. Das Telefonieren als freie Konversation anzulegen halte ich eh für ziemlich aussichtslos, warum dann das ganze Konzept nicht auf das erzählerisch Notwendige runterbrechen und da noch etwas Variation reinbringen? Man muss nicht alles out of world als Mistakes machen und mit den Topics geht ziemlich viel wie

Code:
Carry out an actor phoning a topic listed in the table of Address Book:
   say the chat entry.

Table of of Address Book
topic   chat
"susi/streberin/goldlocke"   "Moin Susi, [if kill Tom is happening]bringst du morgen das Elfenschwert mit[else]kannst du Tom ausladen[end if]? Danke, Tschüss!"

Was soll das alles mit Wählen, Auflegen, Doppelverbindungen checken etc., das ist doch alles selten spielrelevant.

FrankS hat folgendes geschrieben:
Code:
Calling is an action applying to one thing. Understand "telefonier mit [someone]",  "ruf [someone] an" as calling.

Da muss dann mit "any thing" gearbeitet, die Nebenfigur in den Scope platziert werden und dergleichen, das ist doch alles viel zu kompliziert gedacht. Es hängt vom konzeptionellen Ansatz des Telefonierens ab und wenn da nur situationsabhängig Infos rübergereicht werden sollen, danken es die Spieler durch eine einfache Handhabung über Topics.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: Do, 20 März 2014 - 13:44  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Ups jetzt war die Seite kurz down?

Ich finde es etwas strange, mit "Topics" zu telefonieren. Stattdessen würde ich die Aktion Telefonieren so implementieren, dass der Angerufene quasi "in Reichweite" des Spielers plaziert wird, und der Spieler dann denjenigen mit üblichen Topics nach etwas fragen oder etwas erzählen kann. Dazu gibt es die deciding the scope of rule, die tief in meinem Gedächtinis in einer hinteren Schublade schlummert.

Ich habe den code aus dem Four Cheeses Beispiel ein wenig vereinfacht:
Code:

"Telefonterror" by Mikawa

Include German by Team Gerx.

Wohnzimmer is a room.

telephoning is an action applying to one visible thing. Understand "telefonier mit [any thing]" as telephoning.

Understand "telefonier" as a mistake ("Bitte sag genauer, mit wem du telefonieren willst. ")

Check telephoning:
   if the noun is the player, say "Ha, ha!" instead;
   if the noun is not a person, say "Lächerlich." instead;

Carry out telephoning:
   now the player is telephoning with the noun;
   say "Gretchen hebt ab und sagt: 'Hallo Uwe!'"

Kammer is a room.
Gretchen is a woman in Kammer.

telephoning with relates one person to another(called the other party).
 
The verb to be telephoning with implies the telephoning with relation.
   
Understand "haeng auf" or "leg auf" as hanging up.

Hanging up is an action applying to nothing.

Check hanging up:
   if the player is not telephoning with someone, say "Du telefonierst ja gar nicht." instead.

Carry out hanging up:
   now the player is not telephoning with someone;
   say "'Tschüss dann', sagst du und legst auf."

After deciding the scope of the player while the player is telephoning with someone (called dialer):
   place dialer in scope, but not its contents.

Before asking Gretchen about:
   if the topic understood is a topic listed in the Table of of Gretchens Answers:
      say chat entry instead;
   else:
      say "Sie gibt dir keine Antwort. " instead.

Table of of Gretchens Answers
topic   chat
"wetter"   "'Es ist kühl heute, nicht?', antwortet Gretchen.[paragraph break]"
"date"   "'Klar können wir uns treffen', antwortet Gretchen.[paragraph break]"

test me with "telefonier/telefonier mit gretchen/frag nach wetter/frag nach date/x gretchen/fühl gretchen/häng auf/g"

Zwei Sachen sind hier insbesondere zu beachten:
Der Spieler soll nicht in der üblichen Weise mit dem Angerufenen interagieren können, daher packt nachfolgender Code den Angerufenen in eine Wolke der Finsternis ...
Code:

To decide whether acting through the line:
   if the noun is something and the location of the noun is not the location of the player:
      yes;
   if the second noun is something and the location of the second noun is not the location of the player:
      yes;
   no.

Visibility rule when acting through the line:
   there is insufficient light.

Rule for printing a refusal to act in the dark when acting through the line:
   say "Du hast keine Videoverbindung." instead.

Und zuguterletzt die komische "Du kannst nicht in den (Raum des Angerufenen) hineingreifen" Antwort, die mir schon hat graue Haare wachsen lassen. Hier ersetzt durch einen (passenderen?) Text ...
Code:

A rule for reaching inside a room (called destination):
   if the other party of the player is enclosed by the destination:
      say "Obwohl du gerade mit [dem other party of the player] telefonierst, kannst du [if other party of player is female]ihren[else]seinen[end if] Aufenthaltsort nicht erreichen.";
      deny access.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kaethe
BeitragVerfasst am: Fr, 21 März 2014 - 9:43  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 04.03.2014
Beiträge: 9

Danke! Danke!

Ich werde einfach mal ausprobieren, welche Variante am schönsten passt!

Vielen Dank nochmal!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
proc
BeitragVerfasst am: Fr, 21 März 2014 - 21:42  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Mikawa hat folgendes geschrieben:
Ich finde es etwas strange, mit "Topics" zu telefonieren. Stattdessen würde ich die Aktion Telefonieren so implementieren, dass der Angerufene quasi "in Reichweite" des Spielers plaziert wird, und der Spieler dann denjenigen mit üblichen Topics nach etwas fragen oder etwas erzählen kann.

Also mich fasziniert das Thema seit langem: Die Hilfslösung, den Angerufenen in Dunkelheit in den Scope zu transferieren, birgt einige Fallen. Das entscheidende reaching inside rulebook wird schon früh im Aktionsprozess verwendet, so dass es nur im before- oder besser instead of-stage ausgehebelt werden kann (vgl. Inline-Doku 12.16) - die so wichtigen Standard-Aktionsprozesse check-carry out-report werden da gar nicht erst erreicht (warum "Four Cheeses" before bringt, ist mir dabei nicht ganz klar, vermutlich um die implizite Gesprächspartnerwahl wegzumurksen was dann wieder Probleme bei anwesenden Personen birgt.) Dabei müssen noch ein paar andere konversationsrelevante Aktionen wie REDE MIT, BITTE UM oder SAG HALLO abgefangen werden, außerdem erzeugen auch nicht konversationsrelevante Aktionen wie ZEIG oder GIB als Konversation empfundene Meldungen. Da kommt man meines Erachtens in Teufels Küche. Es ist wie bei der formalen Gesetzgebung im Parlament: besser man erlässt Gesetze, die erstmal alles verbieten und nur Gewolltes zulassen denn Gesetze, die explizit bestimmte Dinge zulassen und über alles andere nicht viel aussagen und daher per nachträglicher Verwaltungsverordnung zusätzlich gehandhabt werden müssen, wozu das mittlerweile aufgehobene Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz oder das noch gültige "Four Cheeses"-Beispiel zählen. Das überlastet die Gerichte mit den vielen möglichen unberücksichtigen Regelkonstrukten. Da gibt's noch viel mehr: der Gesprächspartner kann im Beispiel auch im selben Raum telefonieren was nicht viel Sinn macht, das System kann mit Teilen der Spielmechanik kollidieren, die speziell mit Dunkelheit arbeitet und da gibt es Irritationen mit einer zweiten Person in location. Klar, das kann alles gehandhabt werden, ufert aber irgendwann aus. Die Grundfrage lautet daher: Welches System macht für die Erzählung Sinn? Wenn bei TELEFONIER MIT GRETCHEN im Sinne der Erzählung nur Gretchens Hint als einfacher Textdump gebracht werden kann, ist die 4Käse-Lösung viel zu kompliziert. Wenn der Realismus eines freien Telefon-Smalltalks ein genuiner Bestandteil der Erzählung ist, kann das Sinn machen, da müssten dann noch so einige Abgründe auszementiert werden.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: So, 23 März 2014 - 9:28  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Zitat:
warum "Four Cheeses" before bringt, ist mir dabei nicht ganz klar

Mir schon, denn eine Instead-Regel greift hier nicht (ich habe es zunächst auch damit versucht), vermutlich geht das nur, wenn die Reihenfolge der Instead Regeln "manuell" priorisiert wird.

Ich finde es zunächst schon logischer, wenn man wie üblich nach den Themen fragen kann, und das Zeigen und Geben zu unterbinden ist nicht wirklich aufwändig. Schon klar, dass man hier ein paar Dinge mehr berücksichtigen muss. Ob das Sinn macht, hängt davon ab, wofür man das Telefonieren denn spiel- oder erzähltechnisch benötigt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Mo, 24 März 2014 - 0:17  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Mikawa hat folgendes geschrieben:
Ich finde es zunächst schon logischer, wenn man wie üblich nach den Themen fragen kann.

Bei mir hat's mit "instead of" funktioniert, das ist aber belanglos gegenüber der Grundfrage, wie eine erzählerische Intention technisch rübergebracht werden kann. Meine Rede ist: Die Erzählung sollte Antriebsmoment für die technische Umsetzung von Details sein und ich sehe viel zu oft, wie sehr vor allem I7 den Autor in eine "realistische" Handhabungsweise von funktionalen Zusammenhängen wie das Telefonieren verführt. Das habe ich an einigen Stellen auch bei DW1 gemerkt und plädiere daher dafür, sich stärker auf Konzept und Erzählung zu verlassen denn auf als realistisch empfundene Abbildungen von Vorgängen, was ja quasi Uferlosigkeit impliziert. Wenn man in einer Geschichte nun abstrakt mit einer entfernten Person kommunizieren muss, um an weitere Infos zu gelangen, spielt der Hörer und das Wählen nicht wirklich eine Rolle. Soweit es um freie Kommunikation geht (wie schon angesprochen, eine der schwierigsten IF-Übungen), mag das Sinn machen, offenbar hat dahingehend noch niemand eine konsistentere Lösung als ein I7-Hack mit Dunkelheit und Scopeverschiebung probiert. Das hat freilich auch etwas mit der normativen Kraft der I7-Beispiele zu tun.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: Mo, 24 März 2014 - 8:59  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Code:
plädiere daher dafür, sich stärker auf Konzept und Erzählung zu verlassen denn auf als realistisch empfundene Abbildungen von Vorgängen

Ja, dafür plädiere ich auch. Realistisch hieße hier für mich, ein Telefon mit Tasten, die ich drücken kann, aber auch parallel eine "wähl [text]" Funktion, die mich nur mit dem Angerufenen verbindet, wenn ich die richtige Nummer wähle usw. Das ist viel zu kompliziert und diesen Teil im 4Käse Beispiel habe ich ja auch bewusst weggelassen.

Hängt wie gesagt immer von dem Nutzen ab, den ich mir davon für die Geschichte verspreche. Wenns ne Krimistory ist, dann wäre es toll, die Personen übers Telefon nach direkten Themen fragen zu können, dann macht es m.E. nach schon Sinn ... Wenns nur um ein wenig Backgroundinfo geht, reicht natürlich ein simples "ruf Tina an" mit entsprechendem Antworttext.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kaethe
BeitragVerfasst am: Di, 25 März 2014 - 13:51  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 04.03.2014
Beiträge: 9

Ich habe das jetzt mit den "mistakes" ausprobiert, was völlig reichen würde, allerdings müsste ich daran so etwas knüpfen, wie "now player knows about..." geht das?

Das Telefonieren soll nur dazu da sein einen Krankenwagen zu rufen, was allerdings den Ausgang des Spiels leicht verändert, was ich aber nicht ohne eine solche Variable, wie oben benannt durchführen kann (oder?). Der Anruf selbst soll vollkommen unspektakulär aussehen ohne verschiedene Antwortmöglichkeiten etc. es gibt eine Standardantwort, wenn man mit einem Notarzt oder so telefoniert.

Es wäre, für mich, am einfachsten die "Understand.. as mistake"-regel zu verwenden, wenn ich das aber nicht einbauen kann, dann muss ich wohl noch ein Gretchen in eine Kammer stecken. ;o)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
StJohn Limbo
BeitragVerfasst am: Di, 25 März 2014 - 15:30  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 08.11.2010
Beiträge: 48
Wohnort: Lüneburger Heide

kaethe hat folgendes geschrieben:
Ich habe das jetzt mit den "mistakes" ausprobiert, was völlig reichen würde, allerdings müsste ich daran so etwas knüpfen, wie "now player knows about..." geht das?

Ja, du kannst eine say-Phrase definieren, in der nicht nur etwas ausgegeben wird, sondern auch Code ausgeführt wird, und diese dann in den Mistake-Text einbauen. Franks Beispiel von oben entsprechend erweitert:

Code:
Include German by Team GerX.
A thing is usually privately-named.
A room is usually privately-named.

The Phonebooth is a room. The printed name is "Telefonzelle".

The Street is south of the Phonebooth. The printed name is "Auf der Straße".

Understand "ruf [text] an" as a mistake ("Kein Erfolg!").

Understand "ruf [text]" as a mistake ("Kein Erfolg!").

Understand "ruf notarzt/arzt/krankenwagen/rettung" as a mistake ("[krankenwagen-verstaendigt].").

Ambulance-called is a truth state that varies.

To say krankenwagen-verstaendigt:
   now ambulance-called is true;
   say "Du rufst den Notarzt".
   
Instead of going south from the Phonebooth:
   end the story finally saying "[if ambulance-called is true]Du hast den Notarzt verständigt, und die Verletzten konnten gerettet werden.[otherwise]Da du es versäumt hast, einen Krankenwagen zu rufen, haben die Schwerverletzten leider nicht überlebt."

Du musst generell bei dieser Herangehensweise natürlich dran denken, wirklich alle möglichen Varianten, die ein Spieler eingeben könnte, explizit als Mistakes aufzufassen (z.B. auch mit Artikeln, "ruf einen Krankenwagen", "ruf den Notarzt", und alles auch für "ruf ... an" etc.).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kaethe
BeitragVerfasst am: Di, 25 März 2014 - 16:20  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 04.03.2014
Beiträge: 9

Großartig! Das funktioniert! DANKE!

Kann ich das auch an einen bestimmten Raum binden? Also dass man z.B. nur im Büro telefonieren kann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mikawa
BeitragVerfasst am: Di, 25 März 2014 - 16:22  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Vielleicht so:

Code:

To say krankenwagen-verstaendigt:
   if player is in buero:
       now ambulance-called is true;
       say "Du rufst den Notarzt";
   else:
       say "Mist, du hast hier kein Telefon!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
kaethe
BeitragVerfasst am: Di, 25 März 2014 - 16:29  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 04.03.2014
Beiträge: 9

Das dachte ich auch, aber er nimmt die Tabs nicht an. Er sagt mir:


The phrase or rule definition 'To say doctor' is written using the 'colon and indentation' syntax for its 'if's, 'repeat's and 'while's, where blocks of phrases grouped together are indented one tab step inward from the 'if ...:' or similar phrase to which they belong. But the phrase 'if player is in the office' , which ought to begin a block, is immediately followed by 'now the player knows about doctor' at the same or a lower indentation, so the block seems to be empty - this must mean there has been a mistake in indenting the phrases.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mikawa
BeitragVerfasst am: Di, 25 März 2014 - 16:37  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Vermutlich stimmen deine Tabulatoren nicht ganz: dann kommt I7 leicht durcheinander. Check das nochmal, eigentlich sollte es funktionieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 2
Gehe zu Seite 1, 2  Weiter
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05