| Geschrieben um 09:52 am 16.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 707 | Hallo, I7-Enthusiasten! Für diejenigen, die schnell einen Überblick darüber bekommen wollen, wie Inform 7 aussieht, denen Schrödingers Katze aber etwas zu pointless ist, habe ich das (auch nicht gerade bahnbrechende) Jade-Beispiel für Inform 7 umgesetzt. Oh, und ein paar Gedanken zu Projektarbeit mit Textadventures im Schulunterricht gibt’s auch. Schade, dass die Seite mit den textadventures aber leer ist. Wahrscheinlich braucht der neue Jahrgang den Platz. |
| Geschrieben um 10:42 am 16.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Hallo Martin, interessante Zusammenfassung des Schulprojektes. Ich denke, es kommt darauf an, wozu man IF nutzen will. Selbst IF zu erstellen ist m.E. nicht sinnvoll, wenn nicht vorher IF intensiv aktiv rezipiert wurde — es ist, als wollte man eine Kurzgeschichte schreiben, hätte vorher aber nur Märchen gelesen und würde nun mit “Es war einmal …” anfangen und dabei alle Merkmale einer Kurzgeschichte ignorieren. Ich halte IF aber geeignet, 1. selbst als Literaturform thematisiert zu werden und 2. als Unterrichtsmaterial neben anderen (!) für bestimmte Themenfelder genutzt zu werden. Lernziele, die hinter dem selber-schreiben von IF steht, wird vermutlich im Rahmen eines Halbjahres nicht erreichbar sein. Im Informatik-Unterricht (Leistungskurs evtl.) könnte ich mir das noch vorstellen. Aber normale Schüler im Deutschkurs werden vermutlich froh sein, wenn sie überhaupt verstehen, wie sie “Hypertexte” mit IF-Systemen erstellen können. Mario |
| Geschrieben um 15:40 am 16.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Danke, Martin, für das Jade-Beispiel und die Kommentare dazu. (Dein neues Homepage-Design ist sehr ansprechend.) Ich würde das Beispiel gerne in die Extension mit aufnehmen, damit man da auch mal was etwas Elaborierteres ausprobieren kann. Wenn man keine story headline angibt, so wie im Jade-Beispiel, dann steht in der Titelunterschrift momentan noch “An Interactive Fiction von Martin Oehm”. Edit: Das mit der Default-Story-Headline ist kniffliger als ich zunächst dachte. Die Konstante Headline wird in Output.i6t zwar als Default mit dem Wert 0 angelegt, aber compiliert wird die Konstante direkt von Natural Inform (NI), dem Compiler, der den temporären I6-Code erzeugt. Wenn keine story headline vom Autor angegeben wird, bekommt die Konstante Headline den Wert “An Interactive Fiction” — und zwar irgendwo an einer unzugänglichen Stelle. Oder gibt es eine Geheimtür? Ich habe verschiedene Dinge probiert: Headline mit einem anderen Default-Wert definiert, nämlich “Ein Textadventure”. Das wird von NI galant ignoriert; in der Banner-Routine Headline testen, ob es den englischen Text enthält und dann den deutschen Text ausgeben. War auch nichts. Und noch ein paar Versuche, story headline veränderbar zu machen sind gescheitert. Story headline ist zwar eine “text variable”, lässt sich aber nicht ändern, wenn ein Wert erst einmal zugewiesen ist. Molto strano. Eine Konstante that varies, aber eben not really. |
| Geschrieben um 11:15 am 17.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 707 | ChristianB:
Ja gerne, obwohl es so elaboriert ja auch nicht ist. Immerhin ist ein bisschen mehr “Action” dabei; die bisherigen Beispiele konzentireren sich doch eher auf die Ein- und Ausgabedefinitionen. ChristianB:
Okay, das ziehe ich noch nach. Wie man die Default-Headline ändert, ist mir auch schleierhaft. Sie wird wohl von NI gesetzt, und dort steht sie auch drin. Wenn ich in ni.exe den String “An Interactive Fiction” durch “Ein Textadventure\0….” ersetze (“\0” ist das Null-Byte), dann klappt’s, aber das kann ja nun nicht die Lösung sein. Die ganzen “Bibliographic Constants” werden mit
erzeugt, das kommt direkt vor der Headline. Dabei werden aber wohl nur die Definitionen der NI-Source herangezogen, denn wenn ich die Konstante vorher definiere, gibt’s hinterher einen Fehler, weil der Aufruf oben ebenfalls Constant und nicht etwa Default erzeugt. Und da ab dort die Headline definiert ist, nutzen auch nachfolgende Defaults nicht mehr. Die Strings beim Drucken des Spielbanners zu überprüfen, ginge gewiss, aber wenn, dann nicht so:
Das ist immer falsch, weil hier ein neuer String “An Interactive …” erzeugt wird und mit == die Adressen verglichen werden. Man müsste die Zeichen einzeln vergleichen und dazu den String in einen Hilfspuffer ausgeben, was unter z-Code und Glulx leider wieder anders aussieht. Gewiss gibt es eine solche Funktion schon (eine Schnellsuche mach ‘strcmp’ - so heißt diese Funktion in C - erzielt jedenfalls einen Treffer), aber da jetzt genau durchzusteigen, da ist es gewiss besser, dass man die Autoren dazu anhält, eine eigene Headline zu definieren. |
| Geschrieben um 11:32 am 17.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Martin:
Merci. Leider zeigt I7 Kommentare im Beispiel-Code nicht an (Windows). Deshalb gebe ich in der Kopfzeile einen Hinweis auf Deine kommentierte Fassung. Martin:
Tja, da wird es dem Inform-Übersetzer nicht leicht gemacht. Strcmp (aus der I6-Extension istring.h) hatte ich ich schon herangezogen, aber das funktionierte nicht wie gewünscht. Ich werde vorerst den Hinweis, das der Autor eine individuelle story headline erstellen muss, in die Dokumentation mit aufnehmen. |
| Geschrieben um 12:45 am 17.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 707 | <td valign="top"><div class="post"><p>Okay, ich habe einen Weg gefunden. Im Block “Banner” habe ich folgendes definiert:</p> <p>“`Constant GERMAN_HEADLINE “Ein Textadventure”;</p> <p>Array HLAuxBuffer1 buffer 128;</p> <p>Array HLAuxBuffer2 buffer 24;</p> <p>[ __Print_Headline l1 l2 i;</p> <p> VM_PrintToBuffer(HLAuxBuffer1, 128, Headline);</p> <p> VM_PrintToBuffer(HLAuxBuffer2, 24,</p> <p> “An Interactive Fiction”);</p> <p> </p> <p> l1 = HLAuxBuffer1—>0;</p> <p> l2 = HLAuxBuffer2—>0;</p> <p> </p> <p> if (l1 ~= l2) {</p> <p> print (string) Headline;</p> <p> return;</p> <p> }</p> <p> for (i = 0 : i < l1 : i++) {</p> <p> if (HLAuxBuffer1->(i + 4) ~= HLAuxBuffer2->(i + 4)) {</p> <p> print (string) Headline;</p> <p> return;</p> <p> }</p> <p> }</p> <p> print (string) GERMAN_HEADLINE;</p> <p>];“`</p> <p>und wo vorher “print (string) Headline;” stand, rufe ich diese neue Routine jetzt auf. Ganz ideal ist das alles aber noch nicht, denn ich definiere zwei weitere Textpuffer und blähe den eh schon nicht sehr schlanken I7-Code auf. Man könnte hier gewiss zwei schon genügend groß definierte Puffer, die es schon gibt, hernehmen.</p> <p>Der zweite Puffer muss nur “An Interactive Fiction” aufnehmen können. Der erste Puffer kann aber theoretisch nicht groß genug sein, wie jeder feststellt, der folgendes einmal einsetzt:</p> <p><strong>I7:</strong></p> <blockquote> <p>The story headline is “Ein interaktiver Versuchsballon, der nur gestartet wurde, um mal zu sehen wie das so ist mit den Headlines und so und der allen heimlichen GEZ-Hinterziehern gewidmet ist”</p> </blockquote> <p>Außerdem steht in den iFiction-Metadaten weiterhin “An Interactive Fiction”, wobei ich mir da eh nicht so sicher bin, wie man diese Daten auf Deustch sinnvoll belegt. Nimmt man eigene Deutsche Schlüsselwörter, kann man nicht mehr sprachübergreifend vergleichen. Nimmt man die englischen Schlüsselwörter, steht halt wieder irgendwas Englisches auf meinem schönen deutschen Textadventure. Vielleicht:</p> <p>“`</p> <p><genre>Mystery (Krimi)</genre></p> <p><forgiveness>mild (nachsichtig)</forgiveness></p> <p>“`</p> <p>Oder halt genau andersherum: Krimi (Mystery). Oder Piktogramme, wie beim Fett- und Proteingehalt auf Lebensmitteln.</p> <p>Okay, nach dieser kleinen Abschweifung wieder zurück zur Headline: Es ist, denke ich, besser Autoren dazu anzuhalten, eine Headline explizit anzugeben und in einem Aufwasch auch direkt alle anderen Metadaten brav in die Büchereikarte einzutragen.</p> </div></td> |
| Geschrieben um 13:49 am 17.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Martin:
Ah, so sieht das also aus, wenn man’s richtig macht. Das ist doch eine ausgezeichnete Lösung, die ich gern aufnehmen möchte, bis es eine offizielle Möglichkeit gibt, die Default-Headline anzuzapfen. Dass dadurch zusätzliche Ressourcen verschleudert werden, finde ich nicht ganz so wichtig wie eine bequeme Benutzung der Extension, besonders für Einsteiger. Edit: Ich werde zur Sicherheit erst einmal die von Dir neu definierten Puffer nehmen. |
| Geschrieben um 22:41 am 17.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Update: GerX Beta 4.07 vom 17.02.2009.
Die limitierte Länge der Story-Headline finde ich erstmal nicht weiter schlimm. |
| Geschrieben um 00:30 am 19.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Update: GerX Beta 4.08 vom 18.02.2009.
|
| Geschrieben um 17:39 am 21.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Hallo, ich bin auf ein kleines Problem gestoßen: “` Seitenstraße Eine dunkle Straße. Du siehst hier einen Müllcontainer (der geschlossen ist).
Du öffnest den Müllcontainer und findest eine alte Zeitung darin.
Du steigst in den Müllcontainer. In dem Müllcontainer siehst du eine alte Zeitung.
Aber du bist gar nicht auf dem Müllcontainer.
Aber du bist gar nicht auf dem Müllcontainer. “` Das heißt, ich kann in meinen Müllcontainer reinklettern, aber komme nicht wieder heraus. Woran liegt das? Hier die Definition des Müllcontainers: “` A Muellcontainer is a male container in Seitenstrasse. It is fixed in place. It is openable, enterable and closed. The printed name is “Müllcontainer”. Understand “Container” as Muellcontainer. “` Das gleiche passiert übrigens auch im “Pointless Example”, wenn ich in den Schrank gehe und ihn wieder verlassen will. :-) Mario |
| Geschrieben um 17:36 am 22.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Also, die Standard-Variante mit “raus” funktioniert: Mein Testspiel:
(Testing.)
Du öffnest den Müllcontainer.
Du steigst in den Müllcontainer.
Du steigst aus dem Müllcontainer. Das Verb “verlass” ist momentan nicht dafür gemacht, Container zu verlassen; >verlass objekt triggert die Aktion getting off, und die bezieht sich auf das Verlassen von Supportern. Das ist inkonsequent. Ich überleg mir mal was. Edit: So. “verlass [something]” ruft jetzt die neue Aktion exiting from auf. Die versucht exiting. Dieser Umweg ist notwendig, weil exiting kein Objekt haben darf. Exiting ist die Aktion, die wir brauchen, weil die beides kann, nämlich Container oder Supporter verlassen. Mein Testspiel:
Du öffnest den Müllcontainer.
Du steigst in den Müllcontainer.
Du steigst aus dem Müllcontainer. Eine neue Version Beta 4.09 vom 22.02.2009 ist hochgeladen. Edit: Sorry, da hatte ich nicht alle relevanten Verben geändert. In der Beta 4.09.01 vom 22.02.2009 ist das korrigiert. Edit 2: Banbury hat sich übrigens für einige Zeit vom I7-Projekt beurlauben lassen. Ich bin jetzt also für die nächste Zeit der einzige GerX-Bibliothekar. Umso mehr bitte ich Euch, mir jeden Fehler und jede Ungereimtheit zu melden. Danke! |
| Geschrieben um 21:43 am 23.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Danke Christian für die Mühen! Ich hab schon wieder was. Folgende Definition: “`A Gesicht, a linker Arm, a rechter Arm, a Oberkoerper, a linkes Bein and a rechtes Bein are kinds of thing. The Gesicht, linker Arm, rechter Arm, Oberkoerper, linkes Bein and rechtes Bein are parts of every person. A linkes Auge, a rechtes Auge, a Nase and a Mund are kinds of thing. The linkes Auge, rechtes Auge, Nase and Mund are parts of every Gesicht.“` Im Spiel: “`>betrachte linker arm Du siehst nichts Besonderes an your linker Arm.
Du siehst nichts Besonderes an your rechter Arm.
Du siehst nichts Besonderes an your Gesicht’s Mund.
Du siehst nichts Besonderes an your Gesicht’s linkes Auge.“` Ich hätte nun gerne eine Ausgabe wie “Du siehst nichts Besonderes an deinem linken Arm.” (Das ich dazu noch male/female definieren muss, sei mal dahingestellt). Ich hoffe, ich verlange nicht zu viel oder nichts Ungewöhnliches … |
| Geschrieben um 00:55 am 24.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Hallo Mario, erstmal zu den linken und rechten Gliedmaßen: Namen mit links und rechts müssen von Hand definiert werden, weil linker nicht flektiert werden kann. Wie bei den Adjektiven dürfen bei der Definition keine Endungen verwendet werden. The link Arm is a male thing. The printed name of link Arm is link[^] Arm. Zu den Komponenten: Wenn du die Körperteile als Kinds of things und parts von Personen anlegst, werden Bezeichner und printed name usw. von NI erzeugt, zu dem wir keinen Zugang haben. Jede Person in Deinem Beispiel bekommt z.B. eine Nase. Die heißt dann: your Gesichts Nase, Bennos Gesichts Nase usw. Das ist ohnehin schlecht zu übersetzten: Du kratzt dich an der Nase deines Gesichts. Hm. Für die Methode, die Du momentan benutzt, habe ich keine Lösung parat. Vielleicht wird I7 da irgendwann noch aufgebohrt. Wenn du Körperteile der Spielerfigur definieren willst, kannst du auch den article yours benutzen. The Nase is female scenery carried by the player. The article is yours. Oder The Nase is female part of the player. The description of the Nase is “Du siehst nichts Besonderes an deiner Nase.” The article is yours. Die Meldung Du siehst nichts Besonderes gibt immer den bestimmten Artikel aus, also an der Nase., egal ob article yours ist, oder nicht. Da könntest du ja eine description für die Nase angeben, wie ich es oben gemacht habe. Grüße, Christian |
| Geschrieben um 08:27 am 24.02.2009 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Ah. Okay. Ich hatte versucht, das Beispiel aus dem Inform 7 Recipe Book umzusetzen, aber wenn man auch einfach sagen kann, dass etwas Part of Player ist, ist das ja wesentlich einfacher. Danke |
| Geschrieben um 02:11 am 01.04.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Update: GerX Version Beta 5.00 (2009-04-01) Es gibt ein aktuelles deform-Update, da muss GerX so gut es geht hinterher:
Edit: Update: GerX Version Beta 5.01 (2009-04-11)
|
| Geschrieben um 20:45 am 01.04.2009 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Danke für die vielen Updates! Ich bin auch fleißig am Nutzen der Extension. Immer weiter so! |
| Geschrieben um 12:05 am 23.04.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Heute ist es also soweit: Inform 7 hat eine neue Homepage: Und wie zum Ende dieses Monats erwartet gibt es auch eine neue Version: Build 5Z71. Ob und wie die German-Extension jetzt noch funktioniert, werden wir in den nächsten Tagen prüfen und dann so schnell wie möglich für Aktualisierung sorgen. Edit: Auf den ersten Blick ist alles OK. Build 5Z71 compiliert ohne Fehler durch. Edit 2: Bei der Benutzung von Glulx gab’s einen Fehler. Eine korrigierte Version Beta 5.01.01 ist hochgeladen. |
| Geschrieben um 13:34 am 04.05.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 569 | Update: GerX Version Beta 5.02
Edit: Update: GerX Version Beta 5.02.01
Edit 2: Update: GerX Version Beta 5.02.02 (06.05.2009)
Edit 3: Update: GerX Version Beta 5.02.03 (06.05.2009)
Edit 4: Update: GerX Version Beta 5.02.04 (09.05.2009)
Edit 5: Update: GerX Version Beta 5.02.05 (12.05.2009)
Da es für den I7-Autor sehr umständlich ist, neue deutsche Understand-Token anzulegen, gibt es jetzt noch ein paar mehr als zuvor. So unter anderem [noun dagegen]; das wird im Standard-Vokabular nicht genutzt, denkbar wäre es jedoch, dass ein Autor eine Aktion in der Art von “klopfe gegen [something]” nebst “klopf [noun dagegen]” definieren möchte. Edit 6: Update: GerX Version Beta 5.02.06 (14.05.2009)
|
| Geschrieben um 11:55 am 17.05.2009 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 404 | Hallo Christian, ich habe auch mal ein wenig mit Inform 7 rumprobiert und es macht mir großen Spaß. Vielen Dank für die deutsche Extension! Sie funktioniert schon sehr gut. Zwei Kleinigkeiten sind mir aufgefallen, wobei ich als Inform-Anfänger gar nicht weiß, ob das Probleme mit der Extension sind:
“`>gehe raus Du kannst ein Hauptwort angeben.
Du kannst nicht in diese Richtung gehen.
Du kannst nicht in diese Richtung gehen.“` Zwei weitere Bugs waren eben noch da, aber die hast du schon selbst gefunden (hatte die Extension länger nicht aktualisiert). Gute Arbeit! In Kürze werde ich dann meine ersten Versuchsergebnisse vorstellen… |
| Geschrieben um 10:18 am 21.05.2009 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 14 | Hallo, hab mich extra registriert um mich für diese Erweiterung zu bedanken. Hätte nicht gedacht, dass sich jemand die Mühe macht, um Inform 7 auch für die dt. Sprache halbwegs nutzbar zu machen. Danke. MfG sk2k |