Forum moved to if-forum.org
Autor Nachricht
<  GerX 3: Last Orders
ChristianB
BeitragVerfasst am: Sa, 10 Nov 2012 - 1:06  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Hallo, liebe GerX-Autoren,

am 21. Dezember 2012 steht ein weiteres stabiles Gerx-3-Update an. Das wird wahrscheinlich den GerX-3-Sack zumachen, denn im supergeheimen, unterirdischen GerX-Labor wird schon fieberhaft am neuen -- natürlich deutschssprachigen -- Inform geschraubt.

Seit der letzten Version 3/120621 sind noch ein paar dubiose GerX-3-Bugs, die ohne bösen Willen kaum zu finden sind, behoben worden.

Falls noch jemand Wünsche für die nächste GerX-3-Version (für das klassische Inform 7 [6G60 und 6F95]) äußern möchte, dann bitte ich hier um Rückmeldung. (Tales Hinweis auf die German-Help-Menu-Erweiterung als Standard für GerX ist schon auf der To-Do-Liste.)

Wenn darüber hinaus noch wer wie was wo möchte, bitte melden.

Grüße an alle Abenteurer,

Christian
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: Sa, 10 Nov 2012 - 19:09  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

ChristianB hat folgendes geschrieben:
im supergeheimen, unterirdischen GerX-Labor wird schon fieberhaft am neuen -- natürlich deutschssprachigen -- Inform geschraubt.

D.h. sowas wie
Code:
Das Schlafzimmer ist ein Raum. Die Beschreibung ist "Toll!".

?

Das hieße dann ja, dass die ohnehin schon schwache Abstraktion zwischen Logik und Inhalt in Inform7 vollends aufgehoben würde. Ein und das selbst Spiel zweisprachig zu veröffentlichen würde praktisch unmöglich.

Für mich spricht echt immer mehr dafür, auf Version 6 zurückzugehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Sa, 10 Nov 2012 - 19:26  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Hannes hat folgendes geschrieben:
D.h. sowas wie
Code:
Das Schlafzimmer ist ein Raum. Die Beschreibung ist "Toll!".

?


Ja.

Hannes hat folgendes geschrieben:
Das hieße dann ja, dass die ohnehin schon schwache Abstraktion zwischen Logik und Inhalt in Inform7 vollends aufgehoben würde.


Ja, aber ... Du wirst ein Schwedisches Spiel auf Spanisch schreiben können, oder du kannst auch ein deutsches Spiel weiter in Englisch, oder auf Italienisch Französisch oder vielleicht auch irgenwann mal auf Volapük schreiben. Oder eben auf deutsch, was der Grundidee von Inform 7 sicher am nächsten käme.

Hannes hat folgendes geschrieben:
Ein und das selbst Spiel zweisprachig zu veröffentlichen würde praktisch unmöglich.


Warum das denn?

Hannes hat folgendes geschrieben:
Für mich spricht echt immer mehr dafür, auf Version 6 zurückzugehen.


Inform 6 wird ja jetzt wieder weitergepflegt, allerdings nicht von Graham Nelson. Wenn Dir old school mehr liegt, als die Richtung, in die Graham das I7-Schiff lenkt, ist I6 ja immer eine gute Alternative.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: Sa, 10 Nov 2012 - 20:11  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

Na ja, wenn jede Zielsprache (also Sprache des Spiels) ihr eigene "Programmiersprache" hat, dann werden reine Bibliotheken ja wohl kaum mehr weiterentwickelt werden. Und das gleiche Spiel zweimal zu schreiben, was ja faktisch nötig wäre, wenn man die gesamte Programmlogik sprachlich austauschen muss, ist ja wohl nicht so besonders praktisch.

Oder ist das so gedacht, dass das "deutsche Inform" sich auf noch einer anderen Abstraktionsebene als das "englische"? Also beispielsweise so, dass Inform_DE in Inform_EN übersetzt, das dann in Inform6 und das dann in Bytecode? Dann wäre es ja alles kein Problem. Steht Inform_DE dagegen neben Inform_EN, dann schon.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: So, 11 Nov 2012 - 0:36  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Hannes hat folgendes geschrieben:
Oder ist das so gedacht, dass das "deutsche Inform" sich auf noch einer anderen Abstraktionsebene als das "englische"?


So wie ich es verstanden habe (ich bin für die deutsche Syntax nicht zuständig, ich mach nur den guten alten I6-Kram, wo was benötigt wird, das sich nicht anders lösen lässt), wird im I7-Quelltext eines Spiels festgelegt, in welcher (Programmier-)Sprache man schreiben will und welches die Spielsprache sein soll. Das werden wohl für die nächste Phase Englisch, Deutsch, Italienisch, Französisch, Schwedisch und Spanisch sein. Diese Programmier-Sprachen befinden sich alle auf derselben Abstraktionsebene, und deren Syntax wird in einer weiteren Programmiersprache formuliert, die auch einen eigenen Namen haben wird. Zu I7 und I6 kommt im System dann also noch eine Sprache dazu (eigentlich gibt es sie schon, sie war bislang nur nicht zugänglich für uns normal Sterbliche); diese Sprache muss allerdings vom Autor eines normalen Spiels nicht erlernt werden (hoffe ich mal).

Für eine effiziente, möglicherweise sogar automatisierte Lokalisierung eines Spiels dürfte das wohl der Overkill sein.

Spannend wird's auf jeden Fall, wenn man die natürlichsprachliche Variante mag, und ein ambitioniertes Experiment ist das internationale Inform in jedem Fall, zumal auch noch in Sachen flexibler Ausgabe der Meldungen komplett aufgeräumt und umgebaut wird.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 11 Nov 2012 - 1:15  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

ChristianB hat folgendes geschrieben:
und deren Syntax wird in einer weiteren Programmiersprache formuliert, die auch einen eigenen Namen haben wird. Zu I7 und I6 kommt im System dann also noch eine Sprache dazu (eigentlich gibt es sie schon, sie war bislang nur nicht zugänglich für uns normal Sterbliche); diese Sprache muss allerdings vom Autor eines normalen Spiels nicht erlernt werden (hoffe ich mal).

Um dahingehend die restlichen Klarheiten zu beseitigen: I6- und I7-Compiler (letzterer erzeugt via i6template "nur" I6-Code) basieren auf einer Liste von Interpretationsanweisungen der BNF Grammar, die nun prinzipiell allen Sprachen zugänglich gemacht und für GerX auf deutsch übersetzt wird. Es geht also letztlich um eine optionale Syntax in anderen Sprachen, die am Anfang des Quellcodes festgelegt wird. Daher wird auch ein Klingone deutschen Quelltext kompilieren können und umgekehrt. Allerdings kommen noch einige Veränderungen und Syntax-Erweiterungen hinzu, die ambitionierten Autoren Freude bereiten dürften. ChristianB hat schon die Herausnahme der Library Messages aus Language.i6t erwähnt, die dann frei veränderbar und vor allem dynamisierbar sind, außerdem kommen weitere neue Features hinzu. Strukturell ändert sich am Code nichts, Autoren können weiterhin die englische Syntax verwenden und müssen die kryptische Backus-Naur-Form auch nicht erlernen, sie ist eine reine Compiler-Angelegenheit. Allerdings sind mit deren Zugänglichkeit zwangsläufig auch Compiler-Hacks zugelassen, was schon etwas an C64-Zeiten erinnert, als man das ROM ins RAM kopieren und frei verändern konnte.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 11 Nov 2012 - 2:00  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Hannes hat folgendes geschrieben:
Das hieße dann ja, dass die ohnehin schon schwache Abstraktion zwischen Logik und Inhalt in Inform7 vollends aufgehoben würde. Ein und das selbst Spiel zweisprachig zu veröffentlichen würde praktisch unmöglich.

Für mich spricht echt immer mehr dafür, auf Version 6 zurückzugehen.

Man kann ein Spiel auch direkt auf Basis der Z- oder in 32 Bit der fast identischen Glulx-Operationen umsetzen. I6 abstrahiert diese Operationen in eine algorithmische, C-ähnlichen Sprache und stellt damit den Wirkungsraum von Autoren auf eine höhere Stufe des Daseins. I7 setzt noch einen drauf und abstrahiert die Möglichkeiten von I6 in einen regel- und relationsbasierten Raum, dem wohl Prolog Pate gestanden hat und der nach Ansicht seines Schöpfers dem Denken eines Autoren näher kommt als dem Denken eines Programmierers. Es macht Sinn und ist insofern unkritisch, als I6 auch innerhalb von I7 verwendet werden kann. Der Kern der Standard Rules, die diese I7-Welt komplett aufspannen, ist für mich Inbegriff mathematischer Ästhetik, wovon Aktionen, Räume, Regeln etc. abgeleitet werden wie sie in IF-Weltmodellen vorkommen und vor allem auch selbst verändert werden können, diese Welt ist keineswegs starr. Das Urteil einer schwachen Abstraktion zwischen Logik und Inhalt, die ich mehr als Konvergenzversuch von Denken und Programmieren begreife, ist ziemlich hart. Diese Konvergenz wird mit seinen linguistischen Parts im nächsten Versionssprung nun noch derart auf die Spitze getrieben, dass I6 dies gar nicht mehr handhaben kann. Ich halte die Abstraktions-Idee von I7 für genios und gegenüber I6 als echte Innovation, über Details wie das unvollkommene Weltmodell mit seinem mitunter seltsam gelösten Objektbaum von doors, directions oder persons lässt sich streiten. Die sind aber prinzipiell an eigene Vorstellungen anpassbar, wenn das auch manchmal gar nicht so einfach ist.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: So, 11 Nov 2012 - 11:26  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

Dass das technisch spannend und höchst ambitioniert ist, stelle ich keinesfalls in Frage. Ganz im Gegenteil! Deshalb halte ich es auch für ein absolutes Verbrechen, den ni-Compiler immer noch unter Verschluss zu halten.

Aber, rein praktisch gedacht, kann Inform noch so „natürlichsprachig“ werden – es ist und bleibt eine Programmiersprache mit Variablen, Bedingungen und Schleifen. C ist auch „natürlichsprachig“, es ist schließlich ebenfalls aus der englischen Sprache abgeleitet. Ebenso die meisten Assembler-Varianten mit Befehlen wie ADD, JMP usw.

Es wird ja immer wieder das Ziel genannt, die Sprache auch „Nicht-Programmierern“ zugänglich zu machen. Ein hehres und zweifellos positives Ziel, aber man muss auch fragen dürfen, ob es überhaupt erreichbar ist und natürlich, um welchen Preis (d.h. wie weit man bereit ist zu gehen). Es wäre sehr interessant zu erfahren, wie viele der Autoren beispielsweise der IF Comp ihr Spiel nicht gemacht hätten ohne Inform 7. Leider nicht messbar, denn selbst die betroffenen Personen selbst können es nicht wissen. Wenn man hier oder in diesem englischen Forum herumguckt, ist es jedenfalls mein Eindruck, dass zumindest die Leute, die längerfristig dabeibleiben, kein Problem mit niedrigeren Abstraktionsebenen haben (was natürlich nicht bedeutet, dass sie nicht trotzdem den Inform-7-Ansatz bevorzugen).

Und zum Thema der Erreichbarkeit: Ich halte es für illusorisch. Programmieren, und das sage ich als Jemand, der eben von diversen Assembler-Dialekten bis hin zu fast schon „zusammenklickbaren“ Sprachen Dutzende benutzt hat, ist für mich nicht primär das Erlernen einer manchmal kryptischen Syntax. Das ist nie mehr als notwendiges Übel. Es ist vielmehr ein bestimmtes Denken in bestimmten abstrakten Bahnen. Tatsächlich lassen sich alle Programmiersprachen, ob nun prozedural, objektorientiert oder „latest fad“, ja doch auch die gleichen Elemente reduzieren: Daten, Bedingungen, Sprünge, Schleifen. Genauso muss man meines Erachtens auch immer noch denken, wenn man in Inform 7 erfolgreich ein wirklich gutes Spiel schreiben möchte. Wer dieses Denken nicht beherrscht und durchschaut, der wird kein guter IF-Autor, sondern bleibt immer Autor statischer Geschichten. Solche Versuche sieht man in der IF Comp ja auch immer wieder (letztes Jahr: Awake the Mighty Dread).

Insofern sehe ich für Inform 7 einfach die gleichen Anforderungen, die ich an jede Programmiersprache stelle. Dazu gehört (das steht sogar recht weit oben auf der Liste) eine Trennung von Code (Logik) und Daten (in diesem Fall hauptsächlich Strings). Das predige ja nicht nur ich, sondern ist eigentlich allgemein akzeptiertes Qualitätsmerkmal, weil bei Vermischung Code einfach nicht mehr adaptierbar, wartbar und weiterzuentwickeln ist. Ein solcher Fall von Adaption wäre beispielsweise eine Übersetzung des Spiels in eine andere (Ausgabe-)Sprache.

Beim jetzigen Inform 7 nenne ich die Trennung bereits schwach, und das ist ja auch einfach zu belegen:
Code:
The magazine is a thing.

Hier wird gleichzeitig ein Variablenname („magazine“), der zur Logik gehört, als auch das Stringattribut, das den Namen darstellt (ebenfalls „magazine“; das gehört zu den Daten) definiert. Das ist sicherlich auf den ersten Blick gesehen „praktisch“, da man sich eine dedizierte Definition der beiden Dinge unabhängig voneinander spart (weniger Tipparbeit), aber macht es eben auch schwieriger, falls man beispielsweise irgendwann nur das dem Spieler angezeigte Namensattribut ändern will, ohne in der Logik herumzupfuschen. Beispielsweise möchte ich in solch einem Fall ja die Bedingung
Code:
If the player is carrying the magazine…

nicht ändern müssen.

Ja, ich weiß, es gibt in Inform 7 den Umweg des „privately-named“ und „printed name“, der dieses spezielle Problem lösen würde, aber in dem Moment programmiert man ja eigentlich schon nicht mehr so, wie es die Sprache eigentlich verspricht. Und es gibt sicher zahllose weitere Beispiele, wo solche Workarounds gar nicht mehr existieren (ohne Inform-6-Code einzubetten).

Gut, das kann man positiv formuliert auch als Konvergenz bezeichnen, aber die strukturellen Probleme eines solchen „konvergenten“ Ansatzes (d.h. maximale Verwebung von Logik und Inhalt) handelt man sich trotzdem ein. Natürlich kann man über Jahrzehnte gewachsene Erkenntnisse über „best practices“ in der Programmierung über den Haufen werfen. Manchmal entsteht dadurch dann auch wirklich etwas revolutionäres, worauf vorher einfach niemand gekommen ist. Genau deshalb bin ich auch weiterhin gespannt, wie es mit Inform 7 weitergeht, und ich sage auch nicht, dass ich es keinesfalls mehr benutzen werde. Doch vom Designstandpunkt bin ich weiterhin nicht überzeugt.

(Dazu kommt, dass die „Standard Rules“ meines Erachtens mit jeder Version schlechter werden, da Verben wegfallen, Parsermeldungen weniger aussagekräftig formuliert werden usw. Doch das ist ein anderes Thema.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 11 Nov 2012 - 18:42  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Hannes hat folgendes geschrieben:
Deshalb halte ich es auch für ein absolutes Verbrechen, den ni-Compiler immer noch unter Verschluss zu halten.

Dass ni ("natural inform") als most experimental of Inform's components noch nicht veröffentlicht wurde, liegt wohl an Nelsons langfristigen Plänen, aus Inform eine Plattform für natürlichsprachige Programmierung generell zu basteln. Unter diesem Aspekt handelt es sich wirklich um ein Verbrechen im Sinne der Vorsätzlichkeit und Heimtücke und die Veröffentlichung der Quellen dürfte daher in naher Zukunft auch nicht zu erwarten sein. Immerhin sind die Fußnoten in Appendix A + B (Standard Rules + I6-Templates) als Kern des Compilers veröffentlicht.
Hannes hat folgendes geschrieben:
es ist und bleibt eine Programmiersprache mit Variablen, Bedingungen und Schleifen. C ist auch „natürlichsprachig“, es ist schließlich ebenfalls aus der englischen Sprache abgeleitet.

Alles, was Inform in welcher "Makroform" auch immer leisten kann, wächst auf dem Boden der Z-Machine-Opcodes. I7- wird wie I6-Quelltext und wie überhaupt im Compilerbau üblich über eine kontextfreie BNF-Grammatik interpretiert, deren Inhalt Syntaxregeln (Terminalsymbole) definieren. Der Unterschied liegt in der Zahl der dafür notwendigen Terminalsymbole: I6 kommt wie ANSI-C mit 60 aus, C++ benötigt schon knapp 160 und I7 über 500. Letzteres ist nicht auf die Redundanz zulässiger Schreibweisen zurückzuführen, sondern auf die Komplexität natürlichsprachiger Programmierung im Allgemeinen, in der etwa Zeitformen und Wortflexionen berücksichtigt werden müssen. Eine der härtesten I7-BNF-Parts sind beispielsweise Nominalphrasen wie The heaven is a room up from the hell, die aus über 20 hässlichen Terminalsymbolen für die Artikelbestimmung, Auflösung von Klammern, Aufzählungen, Relativsätzen oder impliziten Bedeutungen ("The monkey is here") bestehen. Und das geht mit Verbalphrasen, Eigenschaftsdeklarationen uvm. lustig so weiter. Will sagen: I7 fordert nach meiner Einschätzung hinsichtlich der Einarbeitung mehr von einem Programmierer ab als I6 und TADS zusammen und ist auch sehr viel schwerer zu erlernen als eine prozedurale oder objektorientierte Notation, ohne dabei zunächst einmal mehr zu leisten. Oder andersrum: Es wäre möglich, I7 über neue Standard Rules im C++-, Prolog- oder Lisp-Stil zu gestalten (letzteres hatte Infocom), aber die Intention des Schöpfers geht nunmal in die Zungenprogrammierung.
Hannes hat folgendes geschrieben:
Es wird ja immer wieder das Ziel genannt, die Sprache auch „Nicht-Programmierern“ zugänglich zu machen. Ein hehres und zweifellos positives Ziel, aber man muss auch fragen dürfen, ob es überhaupt erreichbar ist und natürlich, um welchen Preis

Und daher funktioniert genau das nicht, das ist jedenfalls mein Fazit nach dreijähriger Beschäftigung mit beiden Notationen. I7 funktioniert als Einstiegspropaganda gut, weil sich mit The world is a room. When play begins: say "Hello World" schon das Erlebnis eines vollständigen Spiels (naja, mit den Standardmeldungen) vermitteln lässt: Wow, so einfach ist das! Dann fängt der schwierige Weg über eigensinnige Deklarationen, Regeln, Aktionen usw. erst an, der in der Tat durch einige Unschärfen zwischen Struktur und Inhalt oder dem wabbrigem Scope noch zusätzlich bedornt wird. Meine Probleme lagen nicht so sehr in der fehlenden Trennung von Form und Inhalt, das wir in den 80ern schon und mit gleicher Diskussion mit Basic hatten, als vielmehr in der Umgewöhnung hin zu einem durch die Uneigentlichkeiten der natürlichen Sprache verschmutztem Denken, das I7 abzubilden versucht. Wer mit Assembler, Pascal, C++ etc. und überhaupt dem Denken in Datenstrukturen aufgewachsen ist, den kann das schon einige Haare kosten. Einige viele, nur wirkliche Einsteiger sind da vor einer Glatze sicher.
Hannes hat folgendes geschrieben:
Natürlich kann man über Jahrzehnte gewachsene Erkenntnisse über „best practices“ in der Programmierung über den Haufen werfen. Manchmal entsteht dadurch dann auch wirklich etwas revolutionäres, worauf vorher einfach niemand gekommen ist. Genau deshalb bin ich auch weiterhin gespannt, wie es mit Inform 7 weitergeht, und ich sage auch nicht, dass ich es keinesfalls mehr benutzen werde. Doch vom Designstandpunkt bin ich weiterhin nicht überzeugt.

Die Ausführungen kippen unabwendbar in die Frage: Warum bin ich nicht bei I6 geblieben? Die Antwort ist recht primitiv: Weil I7 abseits aller designerischen Fehler eine (mir) bislang ungekannte Ästhetik besitzt, an die Prolog oder Perl nicht heranreichen. Es fängt mit einem unbeschriebenen Blatt an, in dem die Standard Rules eine in weiten Teilen konsistente Welt aus Relationen, Rulebooks, Activities und Aktionen aufspannen, die zumindest in eine Richtung zu gehen versucht, wie der Verstand eine Spielewelt abbildet. Es juckt in den Fingern, diese noch unvollständige Welt mit den vielen eleganten Möglichkeiten fertig zu bauen wie damals im Sandkasten des Kindergartens. Um es abzukürzen: Wer sich nach jahrelanger Beschäftigung endlich durch I7 gebissen hat, dem steht eine wunderbare Welt von hochabstrakten Möglichkeiten zur Verfügung, die im C-Stil nur sehr aufwändig zu erreichen wären und die den Prozess von der Idee über das Konzept zum Code erheblich verkürzen können. Erfahrene I7-Hacker wissen zwar allzu gut, das dies in der Praxis nicht immer klappt, I7 hat für mich jedoch unterm Strich mehr überzeugende Möglichkeiten als Designfehler. Meine These lautet also fast schon umgekehrt: I7 baut Einsteigern eine weitaus größere Hürde auf als ein prozeduraler Zugang wie I6, diese Hürde mühsam zu überwinden lohnt sich aber am Ende.
Hannes hat folgendes geschrieben:
(Dazu kommt, dass die „Standard Rules“ meines Erachtens mit jeder Version schlechter werden, da Verben wegfallen, Parsermeldungen weniger aussagekräftig formuliert werden usw. Doch das ist ein anderes Thema.)

Für die Standard Rules gab es nur im Frühjahr 2007 einen Update, ich kenne nur diese Version und vermute mal, dass sie sich aus Rückwärtskompatibilitätsgründen im nächsten Versionssprung kaum verändern wird. Kaum heißt dabei nur, dass einige neue Features hinzukommen.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: Di, 13 Nov 2012 - 11:17  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

Den Ausführungen zur Expressivität I7s kann ich nur zustimmen. In meinem ersten Spiel in der Sprache hatte ich beispielsweise folgende Bedingung:
Code:
if a person who is not distracted is in the location

Super! Kurz, knackig und völlig intuitiv heruntergeschrieben, wofür ich in I6 erstmal einen objectloop hätte machen müssen, um die Objekte am Aufenthaltsort zu zählen, die das Attribut „animate“ haben. Zweifellos ist I7 ein großer Fortschritt, was die Darstellung komplexer Sachverhalte mit wenigen Worten angeht. Das ist jedoch generell die Frage der Ebene einer Programmiersprache (genau wie Maschinensprache -> Assembler –> C –> Ruby oder welche Beispiele auch immer). Nachteil dieses Fortschritts ist üblicherweise, dass man sich die einfachere Formulierung komplexer Sachverhalte mit einer aufwändigeren Formulierung simpler Dinge erkauft:
Code:
Change the printed name of the pipe to "blowpipe".

gegenüber
Code:
pipe.short_name = "blowpipe";

Was ich persönlich jetzt aber auch nicht so wild finde.

Die von mir angestoßene Diskussion zur Verwebung von Logik und Inhalt ist davon prinzipiell völlig unberührt. Dass diese Diskussion bereits in den 80ern (und davor) bei anderen Sprachen geführt wurde, habe ich ja selbst eingangs mehrfach erwähnt. Deshalb meine Anmerkung, dass manche alten Erkenntnisse sich einfach über die Zeit halten, weil sie Sinn ergeben!

Zitat:
Wer mit Assembler, Pascal, C++ etc. und überhaupt dem Denken in Datenstrukturen aufgewachsen ist, den kann das schon einige Haare kosten. Einige viele, nur wirkliche Einsteiger sind da vor einer Glatze sicher.

Das glaube ich eben nicht, denn ich glaube, wie erwähnt, dass man ohne dieses Denken in Datenstrukturen, Bedingungen und Zuständen überhaupt nichts Sinnvolles produzieren wird. Das hier
Zitat:
The world is a room. When play begins: say "Hello World" schon das Erlebnis eines vollständigen Spiels (naja, mit den Standardmeldungen) vermitteln lässt: Wow, so einfach ist das!

mag wie du sagst tolle Propaganda sein, aber es ist auch, und da stimme ich dir uneingeschränkt zu, extremst fehlleitend.
Zitat:
I7 baut Einsteigern eine weitaus größere Hürde auf als ein prozeduraler Zugang wie I6

Das sehe ich ganz genauso, weil die tatsächliche Komplexität der Designaufgabe auf der Oberfläche von I7 erstmal nur versteckt wird, was bei einigen Möchtegernautoren zu fatalen Fehlinterpretationen führt. I7 ist für mich insofern ein falsches Versprechen mit potentiell schlimmen Auswirkungen auf die damit erstellten Werke. Es ist unzweifelhaft, dass man mit der Sprache tolle Dinge machen kann, wenn man sich mit ihr auskennt. Also genauso wie bei anderen Sprachen. Im Falle von I6 (beispielsweise) wird Neueinsteigern (nach heutigen Maßstäben – tatsächlich befindet sich auch diese Sprache ja bereits auf einer recht hohen Abstraktionsstufe; und, ja, mir ist klar, dass auch C das gleiche vorgeworden wurde in den 70er Jahren) sofort kommuniziert, dass Verständnisarbeit notwendig sein wird. I7, und was schlimmer ist, seine lautesten Vertreter, gauckelt einem dagegen erstmal vor, dass alles total intuitiv, einfach usw. ist. Was eben nicht stimmt.

Und da kommen dann solche schrecklichen Machwerke wie eben das zitierte Awake the Mighty Dread heraus. Mit dem Autoren haben ich auch kurz kommuniziert. Zur Erinnerung: Das Spiel beginnt in einem Zug, wo man ein Buch voller Geschichten finden soll, das allerdings weder in der Raumbeschreibung noch bei Betrachten der Scenery irgendwo erwähnt wird. Technisches Problem war in diesem Fall, dass der Autor den Zug als „rideable vehicle“ implementiert hatte statt eines Raumes. Wäre ja simpelst zu beheben gewesen das Problem, aber selbst durch ausführliches gutes Zureden war er nicht davon zu überzeugen, dass das überhaupt eine Option wäre. Der Grund: Ein Zug sei ja schließlich ein Fahrzeug, kein Raum! Der Autor machte also den Denkfehler, seine Welt nicht nach den Maßgaben der Technik, sondern rein denen der „echten“ Welt zu modellieren. Was tief in die Hose ging. Danach wurde es in dem Spiel natürlich noch schlimmer, als der Autor einen einfach den Hauptteil des Spiels betreten ließ, ohne dass man den vorgesehenen Begleiter getroffen hatte und im folgenden Spielverlauf wurde dessen Anwesenheit natürlich auch niemals abgeprüft. Genau sowas meine ich mit „Programmiererdenken“: Dieser Autor hatte wahrscheinlich ein brauchbares „Weltdenken“, aber absolut keinerlei „Programmiererdenken“ und so war das Spiel kaputt bis zum Geht-Nicht-Mehr und, was fast noch schlimmer ist, eben auch nicht zugänglich für gutgemeinte Ratschläge, da ihm eben bislang immer vermittelt wurde, sowas sei auch völlig unnötig. Deshalb sage ich: Gefahr! Nicht in einer differenzierten Darstellung der Vorzüge von I7 wie in diesem Thema, aus der man problemlos natürlich zu dem einen oder anderen Schluss kommen kann, sondern in der platten Werbemaschine.

Zitat:
Für die Standard Rules gab es nur im Frühjahr 2007 einen Update, ich kenne nur diese Version und vermute mal, dass sie sich aus Rückwärtskompatibilitätsgründen im nächsten Versionssprung kaum verändern wird. Kaum heißt dabei nur, dass einige neue Features hinzukommen.

Also „meine“ Version ist von 2009, aber unabhängig davon: Wie das Modul sich nennt, das in jedem neuen Release verändert wird, und das dafür verantwortlich ist, dass Aktionen wie LIE ON BED plötzlich nicht mehr funktionieren oder lauter Spiele mich plötzlich mit „That noun did not make sense in this context“ beleidigen, ist mir relativ egal – solche Sachen sind für mich nachteilig. Und wenn es nicht mal die „Standard Rules“ sind, desto schlimmer, denn das bedeutet, dass diese Änderungen anscheinend noch tiefer verwurzelt sind im System, d.h. nicht mehr aus dem „Gesamtpaket“ zu entfernen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Di, 13 Nov 2012 - 11:44  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

proc hat folgendes geschrieben:
Für die Standard Rules gab es nur im Frühjahr 2007 einen Update, ich kenne nur diese Version und vermute mal, dass sie sich aus Rückwärtskompatibilitätsgründen im nächsten Versionssprung kaum verändern wird.

Die Standard-Rules wurden mit jedem Inform-7-Update verändert. Graham hat lediglich die Versionsnummer inklusive Datum der Standard-Rules nicht angefasst (warum auch immer), was den Eindruck erweckt, dass die Lib nicht aktualisiert wurde. Stimmt aber definitiv nicht.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Di, 13 Nov 2012 - 12:07  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

ChristianB hat folgendes geschrieben:
Die Standard-Rules wurden mit jedem Inform-7-Update verändert. Graham hat lediglich die Versionsnummer inklusive Datum der Standard-Rules nicht angefasst (warum auch immer)

Ouch, man lernt nie aus! Gibt's ein Changelog, was sich zwischen den Versionen 2/090402, 2/090402 und 2/090402 verändert hat? Hab auf die Schnelle keins gefunden.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: Di, 13 Nov 2012 - 12:14  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

Danke, Christian, für die Aufklärung – ich dachte schon, ich hätte das geträumt ;)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Di, 13 Nov 2012 - 12:37  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Hannes hat folgendes geschrieben:
Danke, Christian, für die Aufklärung – ich dachte schon, ich hätte das geträumt ;)

Ganz und gar nicht, sorry für meine Naivität: Es hat mich nicht losgelasssen und jetzt weiß ich auch, warum einige Versuche auf 5Z71 später nicht mehr liefen (ich hatte damals entnervt aufgegeben). Gegenüber 6G60 (beide SR sind Version 2/090402) wurden über 1.000 Zeilen geändert, und zwar ganz erheblich bis in erwähnte Neu-, Um- oder Entdefinierung von Actions (wen's interessiert: hier). Ob die mit den Downloads angebotenen Changelogs sich auf die SR beziehen, kann nur gemutmaßt werden.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hannes
BeitragVerfasst am: Di, 13 Nov 2012 - 12:51  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.03.2010
Beiträge: 660

Ich finde die Möglichkeit in I7, genaue Versionsnummern inkl. Datum anzugeben beim Include-Befehl, ja sehr gut! In allen meinen Spielen habe ich immer Gebrauch davon gemacht. Nur hintertreiben solche „geheimen“ Änderungen das natürlich ziemlich… für mich heißt das, dass ich alte Spiele nicht mehr anfassen kann, ohne gleich einen neuen aufwändigen Betatest zu starten, da sonst allein die Änderungen in den Standard Rules zu riskant wären im Hinblick auf neue Nebeneffekte in Kombination mit dem nur mit einer älteren Version getesteten Codes (also Bugs).
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