Benutzer:Andyk/Mitschriften/PSI 06 12 08 Inform7 Einführung: Unterschied zwischen den Versionen

Aus Philo Wiki
Wechseln zu:Navigation, Suche
(Container)
(Beziehungen)
Zeile 55: Zeile 55:
 
:todo
 
:todo
  
==== Beziehungen ====
+
==== Relationen, Beziehungen ====
:todo
+
:;Zu Relationen allgemein:
 +
 
 +
::* Relationen werden (in Inform7) durch Verben realisiert und beschreiben den Zusammenhang zwischen mehreren Objekten.
 +
::* Relationen sind Phrasen, die man in Bezug auf die Objekte mit ja oder nein beantworten kann.
 +
::* Thomas ist kleiner als Maria und Markus. Es handelt sich um eine 'kleiner als'-Relation.
 +
::* Manche Relationen schließen sich aufgrund logischer oder physikalischer Zusammehänge gegenseitig aus
 +
::** 'Das Buch liegt auf dem Tisch' und 'Das Buch ist Teil des Tisches' können nicht gleichzeitig zutreffen.
 +
:;Standard-Relationen in Inform7:
 +
 
 +
::* <code>The Inform7 Documentation <b>is in</b> the Pandora Box.</code>
 +
::* <code>The apple <b>is on</b> the table.</code>
 +
::* <code>The black pullover <b>is worn by</b> the player.</code>
 +
::* <code>The wooden Door <b>is north of</b> Floor3D and <b>south of</b> HS3D.</code>
 +
::* <code>A power button <b>is part of</b> every Humanized PC.</code>
 +
::* ...
 +
 
 +
:;Neue Relationen erzeugen:
 +
::* Allgemein: ''<Relationsname>'' relates (various|one) ''<ObjektmengeA>'' to (various|one) ''<ObjektmengeB>''.
 +
:: <code>Administer relates one person (called the Administrator) to various Humanized PCs.<br><br>The verb to administer (he administers, they administer, he administered, it is administered, he is administering) implies the administer relation.<br><br>The player administers Sim0n3.<br><br>Instead of cracking Sim0n3 when the player administers Sim0n3:</code>
 +
::: <code>say "In this special case I know the password and do not have to Brute-force. I am logging in now...";<br>award 200 points;<br>now the status of Sim0n3 is logged in.</code>
  
 
==== Konversationen ====
 
==== Konversationen ====

Version vom 3. Dezember 2008, 21:41 Uhr

Inform 7 - Eine kleine Einführung

Ein Versuch, sich an Inform7 heranzuwagen

The player is a character in a drama, rather than a disembodied observer like the movie camera: he or she is somebody trying to get something done (even if that something is only understanding the situation). (Inform7-Homepage)

Motivation: Text und Weltbeschreibung

  • Inform7 interpretiert die englische Sprache und erzeugt daraus eine virtuelle Welt. Jeder Satz ist ein Teil des Weltenbauplans. Man modelliert also Entitäten (Dinge, Personen, ...) und weist ihnen Eigenschaften und Beschreibungen zu. Außerdem sind Beziehungen zwischen Entitäten von großer Bedeutung.
  • Man muss aber lernen, auf welche Weise man die englische Sprache benutzen soll. Der Inform7-Interpreter kann keine Gedanken lesen. Er kann auch keine Welt erzeugen, wenn der Weltbauplan inkonsistent/widersprüchlich ist.
  • Der Spieler soll die Welt erkunden und verändern können. Inform7 erlaubt das Vorsehen alternativer Handlungsstränge. Der Spieler muss davon nichts merken (zumindest nicht beim ersten Spieldurchgang).

Wie man spricht

Grundlagen des Objektorientierten Weltenbaus

Um mit Inform7 eine Welt zu erzeugen, braucht man zumindest folgende zwei Sprachmodi:

Assertions / Fakten

Fakten beschreiben die Ausgangskonfiguration der Welt, die der Spieler vorfindet. Die Welt besteht aus Objekten und Beziehungen zwischen Objekten. Objekte haben Eigenschaften und Fähigkeiten. (Das sind die Grundlegenden Dinge des Objektorientierten Paradigmas der Programmiersprachen).
The apple is a thing. The description of the apple is "Looks delicious." HS3D is a room. "I know this room. Usually, there are a lot of people here. On Saturday, it is empty." A table is here. The apple is on the table. The description of the table is "It is made of wood."

Regeln

Regeln beschreiben, wie sich die Welt unter bestimmten Umständen verhalten soll? Zum Beispiel, wenn der Spieler mit der Welt interagiert.
Es gibt Regeln, die standardmäßig inkludiert und für gewöhnlich nützlich sind. (siehe Inform7-Entwicklungsumgebung / Index / Rules ) Sie können aber auch verändert werden.
when play begins, say "Ich begrüße Sie.".
Eine Wichtige Form der Regel (die man mit WENN-DANN vergleichen kann) ist die INSTEAD-OF-Regel. Diese Regel ist von der Form: Instead of <ein bestimmter Umstand>: verändere dies; verändere das.
Instead of taking the apple:
say "I better not touch this. It may be a trap.";
say "Or should I...?";
remove the apple from play;
say "What the hell? The apple disappeared."

Grammatik des Weltenbaus

Unterschiedliche Sätze können dieselbe Welt hervorbringen. Die Grundkonzepte sind aber ähnlich und können bei den verschiedensten Sätzen verwendet werden.

Räume und Dinge

The NIG is a region.
HS3D is a room.
HS3D contains a beamer.
Verbindungen zwischen Räumen
Direkt ohne Türen:
RoomA is north of RoomB.
Mit Türen:
The wooden door is north of RoomA and south of RoomB. The wooden door is a door.
Am Beispiel des dritten Stocks im NIG:
Floor3A, Floor3B, Floor3C and Floor3D are rooms.

Wooden door, DoorCD, DoorBC, DoorAB and DoorAD are open doors.

The description of Floor3D is "A long, long silent floor. I can only hear strange noices from the Heating. This is as weird as in The Shining... Where is Jack Nickolson?"
The description of the wooden Door is "This is the door of Lecture room 3D.".

The wooden Door is north of Floor3D and south of HS3D.

DoorCD is north of Floor3C and west of Floor3D.

DoorBC is south of Floor3C and west of Floor3B.

DoorAB is east of Floor3B and south of Floor3A.

DoorAD is north of Floor3A and east of Floor3D.

Container
The Pandora Box is a closed container on the table. The box is transparent. The Box contains the Inform7 Documentation. The description of the Documentation is "The so called Inform7 Documentation. That is such stuff as my dreams are made on. ^^".
The description of the Pandora Box is "I have never seen a transparent Pandora Box. There is a small book in it named 'Inform7 Documentation'."

Beschreibungen

todo

Alternativen und Zufälligkeiten

todo

Relationen, Beziehungen

Zu Relationen allgemein
  • Relationen werden (in Inform7) durch Verben realisiert und beschreiben den Zusammenhang zwischen mehreren Objekten.
  • Relationen sind Phrasen, die man in Bezug auf die Objekte mit ja oder nein beantworten kann.
  • Thomas ist kleiner als Maria und Markus. Es handelt sich um eine 'kleiner als'-Relation.
  • Manche Relationen schließen sich aufgrund logischer oder physikalischer Zusammehänge gegenseitig aus
    • 'Das Buch liegt auf dem Tisch' und 'Das Buch ist Teil des Tisches' können nicht gleichzeitig zutreffen.
Standard-Relationen in Inform7
  • The Inform7 Documentation is in the Pandora Box.
  • The apple is on the table.
  • The black pullover is worn by the player.
  • The wooden Door is north of Floor3D and south of HS3D.
  • A power button is part of every Humanized PC.
  • ...
Neue Relationen erzeugen
  • Allgemein: <Relationsname> relates (various|one) <ObjektmengeA> to (various|one) <ObjektmengeB>.
Administer relates one person (called the Administrator) to various Humanized PCs.

The verb to administer (he administers, they administer, he administered, it is administered, he is administering) implies the administer relation.

The player administers Sim0n3.

Instead of cracking Sim0n3 when the player administers Sim0n3:
say "In this special case I know the password and do not have to Brute-force. I am logging in now...";
award 200 points;
now the status of Sim0n3 is logged in.

Konversationen

todo

Szenarios

todo

Randbedingungen: Installation, Test und Veröffentlichung

Schau hier und hier

Installation

todo

Testen und Debuggen

  • Details zum Gegenstand apple: SHOWME apple
  • Liste von Gegenständen im Raum: SHOWME
  • Sequenz von Testbefehlen: test apple with "wear apple / examine apple / push apple / listen apple"
    • Im (unveröffentlichten) Spiel test apple eintippen
  • Liste von verfügbaren Tests: test

MUD-Clients

todo

Release: Guncho

Kooperation: Subversion

todo - Wie läuft das eigentlich mit dem institutseigenem SVN bzgl. Upload-Berechtigung?