Der Editor

Zurück

Erschaffe dein eigenes Universum

Spielen und Abenteuer erleben ist eine tolle Sache. Aber ebenso spannen und befriedigend kann es sein seine eigenen Welten, Figuren, Rätsel und Handlungen zu entwerfen und in einem Textadventure zu gestallten. Werde mit dem Editor der A-Machine zum Spieldesigner, Autor, Regiseur und Dungeon-Master in einem. Alle Abenteuer der A-Machine sind mit dem Editor erstellt und können mit diesem auch betrachtet werden, wenn der Entwickler sein Spiel nicht mit einem Passwort geschützt hat. Lerne damit aus den Demospielen wie die Abenteuer aufgebaut sind. Die Objekte und Elemente in der Welt der A-Machine sind fast alle dynamisch. Das bedeutet eine Raumbeschreibung oder Eigenschaften von Objekten können zur Laufzeit geändert werden, was einen hohen Freiheitsgrad für Spieleentwickler bietet. Hat sich etwas an einem Ort durch eine Spieleraktion geändert, so kann man das auch mit einer neuen Beschreibung des Raums kenntlich machen, wenn man möchte.

Da die Entwicklung eines Text-Adventure schnell komplex und unübersichtlich werden kann ist der Editor Teil-Grafisch konzipiert. Es wird das Prinzip "What-you-see-is-what-you-get" verfolgt. Änderst du etwas im Editor, wirkt sich das sofort auf dein Spiel aus. Änderst du hingegen etwas in deinem Spiel durch eine Mechanik, so ist dies auch im Editor sofort ersichtlich. Speichere daher klug, bevor du testest. Gelöschte Gegenstände in Räumen, sind auch im Editor verschwunden.


Oben links gibt es vier Tabs welche die Hauptansichten definieren:
  1. Rooms - Räume und Örtlichkeiten. Hier findest du alle Optionen, um die verschiedenen Handlungsorte deines Abenteuers zu gestalten und zu verwalten.
  2. Objects - Hier werden alle Objekte (Gegenstände, Fahrzeuge, Schalter, Hinweise, Glücksbringer usw.) verwaltet und bearbeitet die du für deine Rätsel und Geschichten benötigst.
  3. ☺ - Charaktereigenschaften und Spielerwerte. Hier werden auch Globale und Nutzervariablen verwaltet.
  4. § - Sonstige globale Spieleinstellungen
Oben rechts kannst du deine Programme speichern und wieder laden.
  • Laden Öffnet ein Dialogfenster, um durch die Programme in deinem Workspace zu navigieren.
  • Re-Laden Läd das letzte Programm welches geladen oder gespeichert wurde aus der Datei erneut ein. Benutze diese Funktion, um nicht gespeicherte Änderungen während des Entwicklungsprozesses rückgängig zu machen.
  • Sp. als Speichern als/unter öffnet ein Dialogfenster in dem der aktuelle Zustand deines Programms in eine Datei deiner Wahl geschrieben werden kann. Wähle bei einer neuen Datei auch die Spielinfos die aus Spielnamen und einer Kurzbeschreibung bestehen. Optional kann ein Passwort zum Schutz deines Spiels vor dem Öffnen des Editors angegeben werden.
  • Speichern Speichert nach einer Sicherheitsabfrage den aktuellen Zustand in die zuletzt geladene oder gespeicherte Datei. Im Tooltipp des Buttons kannst du den aktuell verwendeten Dateinamen einsehen.
Mit dem ? erhältst du eine sehr ausführliche, interaktive Hilfeansicht für alle Programmierbefehle mit Beispielcode, welche du zur Erstellung deiner Programme verwenden kannst. Die Schließen Schaltfläche beendet die Editoransicht und wechselt in das laufende Spiel zurück.

Der Raumeditor ist die erste Hauptansicht. Hier werden alle Orte verwaltet, die du im Laufe deines Abenteuers betreten kannst.


Oben rechts unter den Ansichten-Tabs sind alle Räume aufgelistet. Die Reihenfolge ist prinzipiell egal, kann aber mit der + oder - Taste der Tastatur auch geändert werden. Mit dem + Knopf unter der Raumliste erstellst du einen neuen Raum, der automatisch an das Ende der Liste gehängt wird. Der Mülleimer-Knopf löschst den aktuell angewählten Raum. Klicke auf einen Raumnamen, um ihn anzuwählen und zu bearbeiten. Mit einem Doppelklick springst du aus dem Editor heraus direkt in den gewählten Raum. Das ist nützlich zum debuggen und anpassen deines Spiels. Beschreibung der einzelnen Felder:
Raumname: Oben mittig, links neben dem Laden-Knopf, wird der Raumname angezeigt. Du kannst ihn einfach ändern und mit Enter bestätigen, um den Ort umzubenennen. Räume sollten einen eineindeutigen Namen besitzen und keine Whitespace- oder Sonderzeichen enthalten. Der Raumname wird nicht im Spiel angezeigt und ist eine ID zur Identifizierung. Benenne die Orte Sinnvoll, um nicht durcheinander zu kommen.
Kurzbeschreibung: Eine prägnante, kurze Beschreibung des Ortes. Dieser Text wird immer im Spiel angezeigt, wenn der Raum betreten wird und soll dazu dienen sich schnell zu Orientieren und durch das Spiel zu navigieren.
Beschreibung: Eine ausführliche und detaillierte Beschreibung der Umgebung. Hier können auch andere Orte und Objekte beschrieben werden, auf die der Spieler Bezug nehmen kann. Manchmal reicht es z.b. einen Knopf einfach nur zu beschreiben und einen entsprechenden Befehl im Raum zu implementieren, um eine einfache Aktion auslösen zu können, anstatt den Knopf als Objekt zu gestalten.
Wege: In dieser Liste stehen alle Ausgänge des Raumes und mit welchem anderen Raum sie verknüpft sind. Anlegen eines neuen Weges
  1. Drücke auf den + Knopf, um einen neues Weg anzulegen.
  2. Es wird sich das sogenannte Befehlszeilenfenster öffnen.
  3. Trage in die Befehlszeile den Name des Ausganges ein.
  4. Trage in die Aktionszeile den den Namen/ID des Raums ein, zu dem dieser Ausgang führen soll.
  5. Drücke den OK-Knopf
Um einen Weg zu bearbeiten, kannst du auf ihn einen Doppelklicken durchführen. Ausgänge werden dem Spieler in der Regel angezeigt. Möchtest du das der Spieler einen vorhandenen Weg nicht sehen soll, weil das Spiel dann zu einfach wäre, schreibe ein * vor den Wegnamen. So wird er weder mit schau, noch beim Ausgangsbefehl ausgegeben. z.B.: *Norden Ausgänge können auch von Objekten (Gegenstände, Gegner usw.) blockiert werden. Siehe dazu den Befehl ;;securedBy
Befehlszeilenfenster
Befehle: Die Steuerzentrale jedes Raumes. Mit Befehlen gestaltest du die Interaktionen, die du dem Spieler in deinem Abenteuer anbieten möchtest. Hier können z.B. tiefer liegende Details der Umgebung untergebracht werden, welche die Immersion erhöhen oder nützliche Hinweise zu Rätseln und dem Fortschreiten des Spiels enthalten. Drücke auf den + Knopf unten, rechts neben dem Befehlsfeld um einen neuen Befehl anzulegen. Es wird sich das Befehlszeilenfenster öffnen. Dort wird in der Befehlszeile der Nutzerbefehl angegeben, auf den reagiert werden soll. Sehr oft wird das der Befehl schau sein, damit die Kontinuität der Befehle erhalten bleibt, gefolgt von einem Detail welches betrachtet werden kann. Aber das System ist nicht darauf beschränkt. Du kannst jede Formulierung verwende, welche dir deine Fantasie bereitstellt. prüfe, taste, rieche oder springe sind nur einige Anregungen. Befehle können mit Synonymen erstellt werden. Jedes dieser Synonyme wird die Aktion des Befehls ausführen. Synonyme werden mit einem Komma getrennt und dürfen nicht mit einem Whitespace beginnen. Synonymbeispiel: schau Krankenliege,schau Liege In der Aktionszeile wird die Ausgabe eingetragen, mit der das Spiel auf die Eingabe reagieren soll. Im einfachsten Fall ist das die Beschreibung eines Details. Aber auch wenn eine dynamische Aktion mit dem Befehl ausgelöst wurde, kann das hier beschrieben werden. Sowohl die Befehlszeile als auch die Aktionszeile können Aktionsbefehle besitzen, wobei diese mehrheitlich in letzterer zum Einsatz kommen. Diese Aktionsbefehle steuern die Dynamik des Spiels und ermöglichen es eine echte Interaktion mit der Umgebung zu erschaffen. Auf dem ? oben rechts im Editor gibt es eine interaktive Hilfe zu allen Aktionsbefehlen. Schau dir auch das Demospiel "Das geheime Labor" im Editor an, um zu lernen, wie ein A-Machine Abenteuer aufgebaut ist. Mit einem Doppelklick auf einen vorhandenen Befehl kannst du diesen nachträglich bearbeiten. Beachte das, wenn du die Befehlszeile änderst, automatisch ein neuer Befehl angelegt wird. Wenn du den alten nicht mehr verwenden möchtest, lösche diesen vor dem Testen, um Konflikte zu vermeiden. Die Änderung der Aktionszeile bewirkt keine Kopie des Befehls.
Räume enthalten zwei Listen von Objekten. Statische Objekte und Gegenstände. (beides sind immer Objekte, werden nur vom Raum unterschiedlich interpretiert) Es ist dem Entwickler überlassen wie er diese Listen verwendet und seine Objekte organisiert.
Raumobjektliste
Objekte: Hier werden alle statischen Objekte, die sich aktuell im Raum befinden aufgelistet. Statische Objekte werden nicht unter "Du siehst: " angezeigt, wenn der Raum betreten wird. Das kann ausgenutzt werden, um den Spieler zunächst nach Objekten im Raum suchen zu lassen. Auch wenn der Spieler diese Objekte kennt, werden sie nicht angezeigt, können aber jederzeit mit Eingaben referenziert werden. Oft ist es sinnvoll die meisten unbeweglichen Objekte statisch zu gestalten und sie im Text der Raumbeschreibung bekannt zu machen. Der Spieler kann aktiv keine Objekte in diese Liste legen. - Mit dem + Knopf kann im aktuell angewählten Raum ein neues Objekt erschaffen werden, das am Ende der Objektliste angefügt wird. - Der Mülleimer löscht ein gewähltes Objekt aus der Liste. - Der C-Knopf im Datenbanksymbol (Copy) kopiert das aktuell angewählte Objekt in den Objektpool. Mehr zum Objektpool siehe im Objekteditor weiter unten. - Der mittlere + Knopf im Datenbanksymbol (Add from Database) öffnet den Objektpool, um aus diesem ein Objekt zur Objektliste hinzuzufügen.
Gegenstandsliste
Gegenstände: Objekte, die sich in der Liste der Gegenstände befinden, werden offen im Raum angezeigt. Dadurch sind sie permanent präsent und ziehen die Aufmerksamkeit des Spielers auf sich. Es ist praktisch an dieser Stelle alle Objekte die man "mitnehmen" kann zu platzieren, wenn es der Spielaufbau erlaubt. Wichtig ist zu wissen das Objekte, die man aus dem Inventar ablegt (auf den Boden), ausschließlich in dieser Liste erscheinen. Die Steuerelemente am unteren Rand funktionieren genau so wie oben bei der Objektliste.
Wenn du ein Objekt in eine dieser Listen mit einem Mausklick anwählst, so wird unten links im Raummenü das Objekteigenschaftenfeld eingeblendet und überdeckt das Wegefeld des Raumes. Der Editor befindet sich immer noch in selben Raum, aber referenziert ab jetzt auf das angewählte Objekt. Wenn du etwas am Raum selber ändern möchtest, musst du ihn erneut in der Raumliste anwählen. Mehr zu den Objekteigenschaften findest du unten im Objekteditor. Das Eigenschaftenfeld ist in beiden Ansichten identisch.
Objekteigenschaften
Objektansicht
In der zweiten Hauptansicht (Objects), werden alle Objekte deines Spiels verwaltet und bearbeitet. Es existiert eine Art Objekt-Datenbank der Objekt-Pool. Diesen findest du links oben unter den Ansichten-Tabs. Der Pool enthält sozusagen die Blaupause der Objekte, welche im Spiel erschaffen werden können. Er kann nicht vom Spieler geändert werden und ist nur für den Entwickler interessant. Im Spiel selber befinden sich immer nur Kopien eines Poolobjektes. Es können auch Objekte im Spiel existieren, die sich nicht im Pool befinden, diese besitzen dann aber keine Sicherheitskopie von sich. Die Kopie eines Objekts kann seine Eigenschaften ändern, ohne das die Blaupause im Pool geändert wird. Man kann die Objekte im Pool mit Klassen in objektorientierten Programmiersprachen vergleichen. Klick auf eines der aufgelisteten Objekte, um es zu bearbeiten. Auch in dieser Ansicht lässt sich die Reihenfolge eines gewählten Objekts mit der + und - Taste der Tastatur ändern. Der B+ Knopf (Basis-Objekte) öffnet eine Auswahl von vorinstallierten Objekten mit besonderen Eigenschaften. Der Mittelteil der Ansicht ist genau wie die Raumansicht eingeteilt. Oben ist der Objektname (mit Synonymen), darunter die Kurzbeschreibung, die Langbeschreibung und die Befehle des Objektes. Die Steuerung über + Knopf und Mülleimer ist ebenfalls identisch zur Raumansicht. Rechts ist eine große Ansicht der Objekteigenschaften des aktuelle gewählten Objekts. Diese ist ebenfalls gleich zur Liste der Raumansicht, siehe oben. Links unten ist die Inventarliste. Hier befinden sich alle Objekte, welche der Spieler im Inventar mit sich führt. Es kann genutzt werden, um beim Start des Abenteuers dem Spieler einige Gegenstände bereits mitzugeben. Es ist auch ein nützliches Tool beim Erstellen des Spiels.
Beschreibung der einzelnen Felder:
Objektname: Der Objektname ist, anders als bei Räumen, sein sichtbarer Name und gleichzeitig seine ID auf die referenziert wird. Objekte mit exakt gleichem Namen werden nicht unterschieden und es wird immer auf das erste Objekt referenziert welches die Bedingung des Referenzaufrufs erfüllt. Liegen zwei Steine im Raum mit exakt gleichem Namen (Stein), so wird mit "nimm Stein" der erste Stein aufgehoben den das System findet. Wird noch einmal "nimm Stein" ausgeführt, wird der zweite Stein aufgehoben, da nur noch der die Bedingung erfüllt nicht im Inventar zu sein. Es ist also sinnvoll auch Objekte eineindeutig zu benennen. Möchte man zwei Objekten aus spielstrategischen Gründen den gleichen Namen geben, dem Spieler aber auch die Möglichkeit anbieten gezielt mit ihnen zu interagieren, gibt es bei den Objektnamen Synonyme. Namens-synonyme werden in das Objektnamensfeld mit einem Komma getrennt hinter den Objektnamen geschrieben. Sie sind für den Spieler nicht sichtbar, können aber von ihm referenziert werden. Nur der erste Name des Objekts wird im Spiel angezeigt. Die Synonyme können sich selbsterklären, auf Hinweisen basieren oder speziellen Einsatzzwecken dienen.
Beispiel: Objekt 1: "Stein,Stein 1,großer Stein" Objekt 2: "Stein,Stein 2,kleiner Stein"
Der Spieler sieht im Raum zwei Objekte mit dem Namen Stein. Er wird mit "schau Stein" immer auf den ersten Stein der gefunden wird referenzieren. Aber mit "schau Stein 2" oder mit "schau kleiner Stein" wird er mit dem entsprechenden Objekt interagieren. Synonyme können auch einfach dazu benutzt werden unnötig komplexe Eingaben für den Spieler zu vermeiden und Logiklücken zu schließen.
Ich denke das folgende Beispiel ist selbterklärend: Hartlederbucheinband,Ledereinband,Bucheinband,Hartledereinband,Einband
Kurzbeschreibung: Wie bei den Räumen ist das eine kurze Beschreibung des Objekts, welche über den Namen hinausgeht. Sie wird bei dem Befehl schau angezeigt und kann gezielte Details enthalten.
Beschreibung: Die Langbeschreibung enthält endgültig alle Details und Eigenarten des Objektes, welche für dein Spiel wichtig sind. Hier kann eine kleine Geschichte erzählt, die Herkunft des Objektes beschrieben oder sein Einsatzzweck erklärt werden. Auch Hinweise zu Rätseln oder Teile der Hauptstory sind denkbar.
Befehle: Befehle funktionieren grundlegend wie in Räumen, nur das sie in den Objekten mit ihren Eigenschaften verankert sind. Es gibt bestimmte Aktionsbefehle, welche nur in Verbindung mit Objekten eingesetzt werden können. Solche Konstrukte werden dann beim jeweiligen Aktionsbefehl beschrieben.
Objekteigenschaften: Diese Eigenschaften machen ein Objekt erst zu dem, was es ist, oder sein soll. Die Eigenschaften modellieren ein Objekt zu einem Gegenstand, einer Waffe, einem NPC, Gegner, Türen oder sonstiges was man sich vorstellen kann. Nicht alle Spielelemente und Mechaniken müssen zwingen ein Objekt sein. Viele grundlegende Dinge können auch ohne sie erschaffen werden, aber wenn man wirklich dynamische und komplexe Text-Adventures erstellen möchte sind sie das Mittel der Wahl. Eigenschaften können bis auf gewisse Ausnahmen beliebig kombiniert werden. So kann ein NPC auch gleichzeitig ein Behälter und sammelbar sein. Kein Problem. Stell dir z.B. eine zahme Maus als Haustier vor, welche dich begleitet und sehr gern Käse mag.
Die Eigenschaften im Einzelnen:
Sammelbar: Das Objekt kann vom Spieler sowohl aufgehoben und in seinem Inventar verstaut, als auch an einem beliebigen Ort abgelegt werden.
Lichtquelle: Das Objekt ist eine Lichtquelle (eine generelle Spieleigenschaft). Ein Raum kann auf Lichtquellen geprüft werden, um gewisse Aktionen auszulösen.
Behälter: Behälter können andere Objekte aufnehmen, geöffnet werden und verschlossen sein. Kisten, Schränke oder Rucksäcke sind gute Beispiele für Behälter. Zudem hat ein Objekt, welches als Behälter deklariert ist weitere Untereigenschaften:
Volumen Max: Stellt einen Wert dar, der die Aufnahmegröße des Behältes bestimmt. Befinden sich Objekte in ihm, die ein Volumen haben, kann dieser Maximalwert nicht überschritten werden. Der Behälter ist sozusagen voll. 0 bedeutet das sein Volumen unendlich ist. Volumen Single: Ein Objekt kann für sich gesehen zu groß (sperrig) für einen Behälter sein und nicht hinein passen. Das gilt auch wenn das Maximale Volumen noch nicht ausgeschöpft oder unendlich ist. 0 bedeutet das jedes Objekt hineinpassen würde. Für: Eine Liste von Objekten die der Behälter aufnehmen kann. Steht mindestens ein Objekt in dieser Liste, kann der Behälter ausschließlich Objekte dieser Liste aufnehmen. Ist die Liste leer, kann jedes Objekt hineingesteckt werden, das nicht auf der Nicht-Für Liste steht. Für: Das Gegenstück zur FÜR-Liste. Objekte auf der Nicht-Für-Liste können nicht in den Behälter gesteckt werden.
Verschließbar: Wie es sich für ordentliche Schatzkisten, Türen oder Zugbücken gehört, können Objekte verschlossen werden. Das ist etwas anderes als geschlossen. Ist ein Objekt verschlossen, so benötigt man einen passenden Schlüssel, um es zu öffnen. Dieser Schlüssel kann ein beliebiges anderes Objekt sein. Behälter geben ihren Inhalt erst preis, wenn man sie geöffnet hat und das geht, nur wenn sie aufgeschlossen sind. Ein Objekt gilt im Spiel nur als verschlossen, wenn es ein Schlüsselobjekt besitzt. Wird das Schlüsselobjekt angewandt (öffne Objekt mit Schlüsselobjekt), so gilt das verschlossene Objekt als aufgeschlossen UND geöffnet, verliert aber nicht automatisch sein Schlüsselelement. Das bedeutet, das, wenn der Spieler oder eine Spielmechanik das Objekt wieder schließen, das Objekt erneut verschlossen ist, man also den Schlüssel benötigt, um es wieder öffnen zu können. Das mag am Anfang verwirrend sein, hat aber einen Grund, um einige sehr komplizierte Bedingungen (Multi-Keys) für diese Mechanik zu erfüllen. Besitzt das Schlüsselobjekt den Befehl: ;;KillKey. So wird der Schlüssel aus der Schlüsselliste des verschlossenen Objektes entfernt. Es kann danach auch ohne den Schlüssel geöffnet werden. Das ist der sich am natürlichsten anfühlende Fall. Eine Tür verschließt sich normalerweise ja nicht selber. Es gibt keinen Mechanismus für den Spieler ein Objekt aktiv abzuschließen. Eine vom Entwickler entworfene Mechanik, kann eine erneute Vergabe eines Schlüsselobjektes veranlassen und das Objekt damit wieder aktiv verschließen. Multi-Schlüssel Ein verschlossenes Objekt kann mehr als ein Schlüsselobjekt referenzieren. Das ist gar nicht so häufig der Fall wie man vermuten mag, aber es gibt diese Funktion seit neuestem in der A-Machine. !ACHTUNG! Aus Kompatibilitätsgründen ist die Schlüsselliste kein Array, sondern ein String dessen einzelne Werte mit Komma getrennt werden. Trage beim Schlüssel einfach alle Objektnamen getrennt mit einem Komma ohne Whitespaces ein, welche du als Schlüsselobjekt auserkoren hast. Jetzt entstehen mehrere Situationen deren Auswahl abhängig davon ist, was der Entwickler realisieren möchte: Ein Objekt hat mehrere Schlüsselobjekte und soll mit einem beliebigen von ihnen aufgeschlossen werden können. Z.B. Eine Tür könnte mit einem regulären Schlüssel ODER einem Dietrich aufgeschlossen werden.
  1. Es gibt keine zusätzlichen Regelungen -> Die Tür wird mit dem Schlüssel geöffnet und das System sagt, das du sie erfolgreich geöffnet hast. Die Tür ist jetzt offen und triggert ihr optionales ;;triggerByOpen Event. Würde der Spieler die Tür jetzt aktiv verschließen, so wäre sie wieder verriegelt, da sie immer noch ihre Schlüsselobjekte besitzt. Du besitzt weiterhin den Schlüssel und könntest die Tür jederzeit wieder öffnen.
  2. Der Dietrich und der Schlüssel besitzen den Befehl: ;;KillKey. Damit würden die entsprechenden Schlüsselobjekte beim Öffnen der Tür aus der Schlüsselliste entfernt. Das ist bei einer Tür mit nur einem Schlüsselobjekt kein Problem, da die Schlüsselliste zwingend leer sein wird. Aber Achtung! Bei zwei Schlüsselobjekten wird nur EINS entfernt. Nämlich das, mit dem man aufgeschlossen hat. Schließt man die Tür also wieder, so kann sie jetzt nur noch von dem jeweils anderen Schlüssel aufgeschlossen werden, da sich dieses immer noch in der Schlüsselliste befindet. (Deadlock?) Um zu gewährleisten, das nach dem Aufschließen die Tür aufgeschlossen bleibt, so nutzt man den Befehl ;;OpenByAllKey im Türobjekt. Dieses besagt das man ALLE Schlüssel auf das Objekt angewandt haben muss, ehe es sich öffnet. Das setzt zwingend ;;KillKey in jedem Schlüsselobjekt voraus, denn das Objekt gilt hier erst dann als aufgeschlossen, wenn es keine Schlüsselobjekte mehr besitzt. Die häufigste und natürlichste Situation ist die, das ein verschlossenes Objekt EINEN Schlüssel hat, welcher den Befehl ;;KillKey besitzt. Profitipp: Um das Inventar aufgeräumt und übersichtlich zu halten, kannst du in dem ;;triggerByOpen Befehl des Türobjektes ;;deleteInventarObject;Schlüsselobjekt aufrufen. Natürlich nur, wenn das Objekt nicht noch mal gebraucht wird. ;-)
Geschlossen: Gibt an, ob ein Objekt geschlossen ist. Auch hier wieder der Hinweis geschlossen ist nicht verschlossen. Dieser Flag wechselt beim Öffnen und schließen und kann auch als Abfrage für Entscheidungen dienen.
Tragbar: Tragbare Objekte können als Kleidung an- und ausgezogen werden. Siehe dazu auch unter ↓ Kleidung und Accesours ↓ Objekte mit dieser Eigenschaft können nicht gleichzeitig ein Behälter sein. (Eine kleine Einschränkung im System. Es gibt quasi keine "anziehbaren" Rucksäcke. Denk dir was anderes aus. ^-^) Darüberhinaus wird die Für-Liste anders interpretiert als bei Behältern. Bei tragbaren Objekten steht hier das Körperteil, an dem die Sache getragen wird. Z.B. "Körper". Zusätzlich kann mit einem ; ein sogenannter Layer, angegeben werden, der das jeweilige Körperteil noch einmal unterteilt. Das funktioniert so: Es können normalerweise beliebig viele tragbare Objekte an einem Körperteil getragen werden, wenn keine Layer angegeben sind. Möchte man das etwas beschränken, so kann man zusätzlich zum Körperteil eine Schicht angeben: Körper;0 Jede Schicht kann nur genau ein Objekt enthalten. Versucht man ein Objekt mit demselben Layer anzuziehen, welches das bereits getragene Objekt besitzt, so wird dies verweigert. Man muss zunächst das eine Objekt ausziehen. Gestalte es am besten so, das du mit dem Layer 0 anfängst und dich Zwiebelschichtweise nach außen vor arbeitest: Setting 1: Unterhemd->Körper;0 Kettenhemd->Körper;1 Rüstung->Körper;2 Umhang->Körper;3 Orden->Körper Setting 2: Negligé->Körper;0 Bluse->Körper;1 Morgenmantel->Körper;2 Halstuch->Körper;3 Ansteckblume->Körper Es wird ersichtlich das man entweder ein Unterhemd ODER ein Negligé tragen kann, aber nicht beides gleichzeitig. Dasselbe gilt für das Kettenhemd und die Bluse. Dafür kann man natürlich den Morgenmantel auch zusammen mit dem Kettenhemd und dem Umhang tragen. Ansteckblumen und Orden gehen beliebig zu kombinieren. Natürlich kommen jetzt noch andere Körperteile hinzu, welche für sich immer unabhängig sind, also eigenständige Layer besitzen. Die Einteilung und wie feingranular das gestaltet ist, ist dem Entwickler überlassen.
NPC: Nicht-Spieler-Charaktere und Lebewesen. Ersteres ist in der Jugendsprache scheinbar eine Beleidigung, bei uns noch eine tolle Möglichkeit Geschichten in Videospielen zu erzählen. Lebewesen, ob gut oder feindlich gesinnt, haben mehrere Besonderheiten. Zum einen kann mit ihnen Sprechen und sie nach ihrer Meinung zu bestimmten Objekten fragen. Zum anderen haben sie Lebenspunkte, einen Kraft- und einen Abwehrwert. Diese Werte können, müssen aber nicht gesetzt sein. Als Letztes kann mit dem Flag can Attack eingestellt werden, ob man das Lebewesen mit dem Standard-Kampfsystem angreifen kann.
Artikel: Bestimme die Artikel des Objektes. Diese werden von den Standardmechaniken der A-Machine verwendet und erhöhen die Lesbarkeit und die Immersion im Spiel. Artikel sind eine Liste, und es wird je ein Artikel auf eine Zeile geschrieben.
Status: Im Status können individuelle Eigenschaften eines Objektes gehalten werden. Ein Schwamm kann nass oder trocken sein, eine Herdplatte warm oder kalt. Beim Betrachten eines Objektes werden diese Attribute mit
Das Objekt ist ...
angezeigt. Man kann diese Eigenschaften frei abfragen und setzten, um bestimmte Bedingungen im Spiel abzubilden. Z.b.: Das Fenster kann erst geputzt werden, wenn der Lappen nass ist. Wie die Artikel, werden Statuseigenschaften untereinander in eine Liste geschrieben, jede Zeile wird als eine Eigenschaft interpretiert.
Volumen: Bestimmt wie "schwer" ein Objekt ist, oder wie viel Raum es einnimmt. Das Volumen wird für Behälter verwendet und kann als Spielmechanik abgefragt werde.
Befehl Beschreibung