Autor |
Nachricht |
< deform - inoffizielle deutsche Inform-Lib |
|
Verfasst am:
So, 10 Jul 2005 - 23:32
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Hallo zusammen!
Es gibt eine inofizielle, von Grund auf auf Basis der englischen Lib 6/11 neu übersetzte Library für Inform. Ich freue mich, die erste, vermutlich noch etwas wackelige Release vorstellen zu können: deform.
Diese Lib bietet alle Neuerungen von 6/11, kompiliert auf Glulx und Z-Code und kann sogar (die meisten) Spiele, die mit inform-de 6/10 geschrieben wurden, kompilieren. Das Verhalten ist jedoch etwas anders, vor allem die Lib-Texte und einige Parser-Algorithmen wurden verändert, siehe hierzu die Kurzdoku.
Florians Beispiel Wilhlem Tell kompiliert und funktioniert. (Der Semmelknödel aus dem Jump Start Kit auch.) Ich habe das Beispiel aus dem DM4, Ruins übersetzt und auf der Homepage zur Verfügung gestellt.
Anmerkungen und Fehlermeldungen bitte an mich. Einige Dinge fehlen noch (changning Gender zum Beispiel) oder funktionieren noch nicht ganz (wie die Gruppierungen von Listen), aber das Gerüst steht.
Viel Spaß,
Martin _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Di, 12 Jul 2005 - 7:14
|
|
|
Wasserträger
Anmeldungsdatum: 15.09.2002
Beiträge: 105
Wohnort: Kempten (Allgäu)
|
|
Martin hat folgendes geschrieben: |
Es gibt eine inofizielle, von Grund auf auf Basis der englischen Lib 6/11 neu übersetzte Library für Inform. Ich freue mich, die erste, vermutlich noch etwas wackelige Release vorstellen zu können: deform.
|
Du bist verrückt, Martin ;-)
Ok, ich werde mir dein Werk mal die nächsten Tage vornehmen und mal schauen, wo ich noch Änderungen finde. Dann können wir das Ganze ja bald zur offiziellen Lib erklären, oder?
Ciao,
Max. |
|
|
|
|
|
Verfasst am:
Di, 12 Jul 2005 - 17:02
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Max hat folgendes geschrieben: | Dann können wir das Ganze ja bald zur offiziellen Lib erklären, oder? |
Da machst du es dir aber sehr leicht, oder?
Nein, deform bleibt das, was es ist: eine Übersetzung der englischen Lib ohne offiziellen Charakter. Mit dem Ziel, möglichst nahe an den Funktionalitäten der Original-Lib 6/11 zu sein, aber Parser und Textausgabe dem Deutschen anzupassen. (Und verwaltet von mir, damit ich Kontrolle habe darüber, was reinkommt und was nicht.) Wenn deform brauchbar ist und von einigen benutzt wird, freue ich mich. Das ist alles. Den Stempel "offiziell" braucht es dazu nicht.
Ob deform irgendwann einmal die Lib ist, die lieber und öfter benutzt wird als die "offizielle" 6/10, das steht auf einem anderen Blatt.
Außerdem hat deform noch keine Feuerprobe bestanden. Es hat kleinere Testbeispiele kompiliert, mehr nicht. Und der Härtetest durch einen Hardcore-Glulxie steht auch noch aus. Da wäre es wohl noch etwas vorschnell, deform in den Stand einer offiziellen Lib, oder gar der offiziellen Lib, zu erheben, oder?
Max hat folgendes geschrieben: | Ok, ich werde mir dein Werk mal die nächsten Tage vornehmen und mal schauen, wo ich noch Änderungen finde. |
Du bist wie alle anderen herzlich dazu eingeladen, mir deine Meinung, Fehler im Code oder Verbesserungsvorschläge mitzuteilen. Der Lektor von deform bist du nicht. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Di, 12 Jul 2005 - 19:00
|
|
|
Wasserträger
Anmeldungsdatum: 15.09.2002
Beiträge: 105
Wohnort: Kempten (Allgäu)
|
|
Martin hat folgendes geschrieben: |
Da machst du es dir aber sehr leicht, oder?
|
Upps - auf die Füße steigen wollte ich dir nicht...
Aber: Meinst du, es ist sinnvoll mehrere Inform-Übersetzungen nebeneinander anzubieten? Gerade Anfänger verwirrt so etwas eher. |
|
|
|
|
|
Verfasst am:
Mi, 13 Jul 2005 - 20:20
|
|
|
|
Wann tut sich denn bei TAG mal wieder was, Martin? |
|
|
|
|
|
Verfasst am:
Do, 14 Jul 2005 - 10:13
|
|
|
|
Anonymous hat folgendes geschrieben: | Wann tut sich denn bei TAG mal wieder was, Martin? |
Wahrscheinlich, wenn ein TAG-Autor durch ein tolles Spiel mal beweist, dass das System noch genutzt wird.
(Sagt mir die Erfahrung, nicht Martin.) |
|
|
|
|
|
Verfasst am:
Do, 14 Jul 2005 - 16:41
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Max hat folgendes geschrieben: | Upps - auf die Füße steigen wollte ich dir nicht... |
Schon gut.
Max hat folgendes geschrieben: | Aber: Meinst du, es ist sinnvoll mehrere Inform-Übersetzungen nebeneinander anzubieten? Gerade Anfänger verwirrt so etwas eher. |
Darüber hatte ich mir, ehrlich gesagt, noch gar keine Gedanken gemacht. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Mo, 25 Jul 2005 - 22:29
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Es gibt eine neue Version von deform, in der einige Dinge korrigiert und einige erweitert sind. Insbesondere funktioniert jetzt der "changing gender".
Außerdem habe ich den etwas angestaubten Toyshop von Graham Nelson übersetzt. Der Quelltext ist ausführlich kommentiert, sowohl die reinen Inform-Besonderheiten als auch Dinge, die man in deform beachten muss.
Beides, Lib und Beispiel, findet man auf der Download-Seite von deform, die Kurzdoku ist auch aktualisiert worden.
Edit: Ich sehe gerade, dass ich die Routine GenderNotice zwar erklärt, aber nicht implementiert habe. Das reiche ich in der nächsten Version nach. Wer in der Zwischenzeit experimetieren möchte benutzt diese hier:
Code: |
[ GenderNotice o g;
if (o provides changing_gender) o-changing_gender = g;
];
|
_________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Do, 28 Jul 2005 - 0:09
|
|
|
Neuling
Anmeldungsdatum: 14.10.2004
Beiträge: 15
Wohnort: Düsseldorf
|
|
Wirklich sehr, sehr schön die deform-Lib. In vielen Punkten sehr elegant und vor allem übersichtlich geworden. Da steckt ne Menge Arbeit hinter.
Ein winziges Detail ist mir jedoch aufgefallen:
Beim Aufruf von Is_undo_word und den ganzen ähnlichen Funktionen sind die Umlaute noch nicht im Buffer ersetzt. Daher müssten diese Routinen auch auf Worte wie 'zurück' und 'rückgängig' testen anstatt nur die umschriebenen Versionen abzuprüfen.
Dann auch noch eine doofe Frage: Du schreibst, dass Du absichtlich von der NO_PUNCTUATION Möglichkeit Abstand genommen hast. Vielleicht habe ich die Synonyme nur noch nicht richtig verstanden, aber wie behandle ich damit beispielsweise so Sätze wie
krieger, wo ist dein schwert?
Ich bekomme spätestens bei dem Wort 'schwert?' ein Problem. Eigentlich ist das nämlich ein Topic über das sich meine NSC ganz gerne mit mir unterhalten ... muss ich jetzt alle Topics um <irgendeinwort>? ergänzen oder gibt es da eine elegantere Lösung (mit Synonymen)?
CU,
Olav |
|
|
|
|
|
Verfasst am:
Do, 28 Jul 2005 - 7:35
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
olav.mueller hat folgendes geschrieben: | Beim Aufruf von Is_undo_word und den ganzen ähnlichen Funktionen sind die Umlaute noch nicht im Buffer ersetzt. Daher müssten diese Routinen auch auf Worte wie 'zurück' und 'rückgängig' testen anstatt nur die umschriebenen Versionen abzuprüfen. |
Okay, danke. Werde ich ändern. (Das ist ja das unglückliche an den ganzen *_WDs, sie werden oft außerhalb des normalen Parsers untersucht.)
olav.mueller hat folgendes geschrieben: | Dann auch noch eine doofe Frage: Du schreibst, dass Du absichtlich von der NO_PUNCTUATION Möglichkeit Abstand genommen hast. |
Vielleicht habe ich NO_PUNCTUATION nicht richtig verstanden. Es hat nur die nicht als einzelnes Wort verstandenen Zeichen wie Fragezeichen und Ausrufezeichen herausgestnommen? Dann könnte man es tatsächlich wieder einführen.
olav.mueller hat folgendes geschrieben: | Ich bekomme spätestens bei dem Wort 'schwert?' ein Problem. Eigentlich ist das nämlich ein Topic über das sich meine NSC ganz gerne mit mir unterhalten ... muss ich jetzt alle Topics um <irgendeinwort>? ergänzen oder gibt es da eine elegantere Lösung (mit Synonymen)? |
Das DM schlägt tatsächlich vor, die Wörter mit Fragezeichen zu definieren (vgl. §32, S. 233). Das halte ich aber für Quatsch.
Mit Synonymen kannst du hier nichts machen, mit Synonymen kann man nur vorgegebene Wörter ersetzen, wie 'bis', 'auf' -> 'außer'. Wenn CompoundTails implementiert ist (was es aber noch nicht ist), könntest du das Fragezeichen hinten abschneiden und damit 'schwert?' in 'schwert' und '?' aufteilen. (Ich habe mir überlegt, dass die Trennung in den Compund-Feldern ohne Bindestrich läuft, wenn man als zweite Angabe eins vorgibt und dass das abgespaltene Wort in der zweiten Angabe auch explizit angegeben werden kann.)
Es wäre schön, wenn man die Möglichkeit hätte, selbst Wörter als word separators zu definieren. Das geht aber meines Wissens nicht.
Außerden sehe ich, dass ich dem Autoren gar keine Möglichkeit gelassen habe, selbst in die Informisierung einzugreifen. Dazu sollte es wohl zwei Einhänger, PreInformese und PostInformese, geben, in denen der Spieler selbst noch Dinge machen kann (wie zum Beispiel Frage- und Ausrufezeichen zu behandeln).
Danke für das Feedback. NO_PUNCTUATION hat diese Zeichen komplett herausgeschmissen, oder? Und nicht etwa durch Punkte ersetzt? Muss ich mal schauen. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Do, 28 Jul 2005 - 23:53
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
So, neue Version ist hochgeladen.
Um die Satzzeichen "?" und "!" zu behandeln, gibt es jetzt drei Möglichkeiten (vier, wenn man die Nicht-Bahendlung dazuzählt). Mit IGNORE_PUNCTUATION oder NO_PUNCTUATION löscht man die Satzzeichen und ersetzt sie durch Leerzeichen. Mit REPLACE_PUNCTUATION werden die Ausrufe- und Fragezeichen durch Punkte ersetzt. Mit SEPARATE_PUNCTUATION wird vor und hinter die Ausrufe- und Fragezeichen ein Leerzeichen eingefügt, auf diese Weise sind diese Satzzeichen immer eigene Wörter, wie Punkte, Kommas und Anführungszeichen. Welche Zeichen von den Punctuation-Regeln betroffen sind, bestimmt man mit der Routine Is_Punctuation(char), die man ersetzen kann. Diese Möglichkeiten sind experimentell, Fedback darüber, welche Methode sinnvoll erscheint, ist gerne gesehen.
Mit einer weiteren Konstante, COMPATIBILITY_MODE, werden, so weit es geht, alle Routinen und Konstanten der offiziellen Lib angepasst, so dass man bereits geschriebene Spiele (hoffentlich) schneller übertragen kann, wenn man will. Diese Konstante habe ich eingefügt in den Quelltext von Frank Borgers Eden und es hat anstandslos kompiliert, inklusive der GInfo-Pakete.
Die oben erwähnten CompoundTails sind ebenfalls implementiert. Die Doku ist allerdings nur im beiliegenden Textfile auf dem aktuellen Stand. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Fr, 29 Jul 2005 - 7:32
|
|
|
Neuling
Anmeldungsdatum: 14.10.2004
Beiträge: 15
Wohnort: Düsseldorf
|
|
Martin hat folgendes geschrieben: | So, neue Version ist hochgeladen. |
Hm ... wenn ich auf die download Seite gehe, steht da zwar, dass die Version vom 29. sein sollte, die heruntergeladene Datei ist aber immer noch die vorige ... Cachefehler im Browser? ;-)
CU,
Olav |
|
|
|
|
|
Verfasst am:
Fr, 29 Jul 2005 - 9:13
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
olav.mueller hat folgendes geschrieben: | Hm ... wenn ich auf die download Seite gehe, steht da zwar, dass die Version vom 29. sein sollte, die heruntergeladene Datei ist aber immer noch die vorige ... Cachefehler im Browser? ;-) |
Nee, wohl eher ein Fehler von mir. War wohl gestern abend zu spät. Oder zu schwül. Oder beides.
Muss dich also leider auf heute Abend vertrösten.
Edit: Jetzt ist die Lib oben. Sie sollte 140k groß sein.
(Es war wohl tatsächlich zu spät - ich hatte die Lib unter dem Namen deform..zip hochgeladen - mit zwei Punkten.) _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
So, 31 Jul 2005 - 21:56
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Hallo,
und wieder gibt es eine neue Version von deform, diesmal hoffentlich korrekt hochgeladen (143k).
Die wichtigsten Neuerungen sind:- Möglichkeit, Infinitivsätze einzugeben: tuer aufmachen. nach draussen gehen. rasenmaeher ausschalten.
- Der Lookahead bei [multiinside] und [multiexcept] ist erweitert worden. Ich hoffe, jetzt klappt das 'nimm alles aus kuehlschrank' wieder. Ich hatte es mit dem Token [dative] kapputtgemacht.
- Neben den Tokens [noun_damit], [noun_daran] usw. gibt es nun für einige Varianten auch das Äquivalent [held_damit], das sicherstellt, dass der Spieler das Objekt bei sich hat und auch, wie das normale [held], ein implizites Aufheben auslöst. (Oh Gott! Generationen von Spielen hattes eine Sicherheitslücke. :-)
- Die Grammatik für Consult ist überarbeitet worden, so dass man auch 'schlag wallenstein darin nach' sagen kann.
- Solange es keine weiteren Einwände gibt, ist der ANIMA_PE auf zwei heruntergestuft worden. Das scheint zu funktionieren.
_________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Fr, 12 Aug 2005 - 21:38
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Hallo!
Eine neue Version ist verfügbar. Gefixt sind einige obskureb Dinge mit verb_word, ein Bug, der die CompoundHeads/Tails beschränkt hat und die Adjektive funktionieren jetzt auch wieder wie sie sollen.
Für Interessierte gibt es auch das Adventure In der Waage (im Original Balances), ein weiteres Beispiel für Inform, bei dem heftige Parsertricks angewandt werden - gefrotzte und nicht gefrotzte weiße Würfel mit verschiedenen Namen, Kupfer-, Gold- und Silbermünzen, nummerierte Lose und so'n Zeug. Wie immer im Download-Bereich. _________________ Every silver lining has a cloud. |
|
|
|
|
|
|
Alle Zeiten sind GMT + 1 Stunde (MEZ) |
|
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.
|
|