Anfang

 

 2

 

Inhaltsverzeichnis

 

Seite 1

 

Vorwort

 

NPC Editor Limits

 

Installation

 

Dialogarten

 

Kurzlehrgang

 

anbinden der Dialoge an das Projekt

 

Seite 2

 

Programmbeschreibung

 

Editor

 

Testraum

 

Seite 3

 

interaktive Dialoge, Beispiele

 

Datenformat einer Dialogdatei

 

Aufbau einer Dialogdatei

 

Aufbau der "diabasic.wdl"

 

mehrere Projekte verwalten

 

 

Vorwort

Dieses Programm wurde erstellt um die Dialoge hunderter NPC's (NonPlayerCharacter) eines Adventure Games zu erstellen und zu verwalten. Es ist speziell für mein Projekt gedacht und erfüllt nicht all euere Wünsche. Er kann aber nicht nur für Dialoge benutzt werden, sondern auch für Monologe, Einleitungen und Briefings.

Der NPC Editor wurde komplett mit 3DGS A6 erstellt. Leider liegt darin auch eine Schwäche. Die Eingabe der Texte in die Textbox kann nur zeilenweise geschehen. Diese Funktion wurde mit inkey erstellt und ich habe es einfach nicht anders in den Griff bekommen. Aus diesem Grunde ist ein einfaches editieren des Textes nicht möglich. Es ist aber ohne Probleme möglich erstellte Dialogdateien mit einem anderen Texteditor zu ändern oder sogar komplett zu schreiben. Es kann ausschliesslich mit True Type Fonts gearbeitet! werden. Das Programm läuft ab A6.11

 

NPC Editor Limits

- maximal 996 Entityfiles

- maximal 996 Dialoge pro Entity

- maximal 996 Dialogparts pro Dialog (ein Dialogpart ist der Teil eines Dialoges den ein Akteur in einem Stück  spricht)

- maximal 6000 Zeichen pro Dialogpart (die Verarbeitung großer Dialoge ist im Editor sehr langsam)

- Textboxgröße maximal 672x256 Pixel (Text kann natürlich länger sein)

 

Installation

Entpacke die 3DGSTOOL.ZIP  Datei an einem Ort deiner Wahl. Ein Klick auf "SIMPDIAG.WMP" startet das Programm innerhalb des WED. Leider war es mir nicht möglich das Tool zu einer einzigen ausführbaren Datei zu packen. Der Grund ist der das durch die Wahl des Textfonts die 'diset.wdl' verändert wird. Das aber lässt eine publishte Version des Tools nicht zu.

 

Dialogarten

Es gibt zwei Arten von Dialogen, wobei die zweite eine Vielzahl an Möglichkeiten bietet. Beispiele im Kapitel "interaktive Dialoge" auf Seite 3.

1. der lineare Dialog: Dabei wird ein Dialog hintereinander abgearbeitet. Begegnet der Player der Entity wieder wird der nächste Dialog abgearbeitet u.s.w. bis der letzte Dialog erreicht ist. Dieser wird dann ständig wiederholt.

2. der interaktive Dialog: Auch hier wird ein Dialog vollständig abgearbeitet, aber es kann gleichzeitig eine Dialognummer für eine andere oder die eigene Entity gesetzt werden. Stellt sich diese Variable im Game als wahr heraus wird dann dieser Dialog statt des eigentlich nächsten abgespielt. Damit sind Schleifen innerhalb einer Entity möglich oder solche Dinge wie "finde den Schlüssel und ich gebe dir eine Belohnung dafür"oder "kannst du mir diesen Gegenstand besorgen dann zeige ich mich erkenntlich". Das Auslösen eines jeden gewünschten Dialoges einer jeden gewünschten Entity kann auch ganz einfach nachträglich per kurzem Script erfolgen. Damit werden die Möglichkeiten noch einmal stark ausgeweitet. Löse Dialoge bei betreten eines bestimmten Gebietes aus oder nach Ablauf einer vorgegebenen Zeit. Alles kein Problem.

 

Kurzlehrgang

 

01.

 

Starte den Editor

 

 

 

 

 

 

 

EDITOR

 

 

 

 

 

02.

 

Öffne die Textbox auf die passende Größe für dein Game

 

03.

 

Gib Playernamen und Entitynamen ein

 

04.

 

Schreib die Textfarbe Red, Green, Blue für Player und Entity ein

 

05.

 

Wähle Tempo und Texteffekt

 

06.

 

Möchtest du das die Namen automatisch eingeschrieben werden, dann klick den Button AUTONAME an

 

07.

 

Wer soll diesen Dialog beginnen? Treffe deine Auswahl mit dem DIALOGSTARTER PLAYER oder ENTITY Button.

 

08.

 

Klick in die Textbox um die erste Zeile für den ersten Dialogpart im ersten Dialog zu schreiben.

 

09.

 

Beende die erste Zeile mit der ENTER Taste

 

10.

 

Wiederhole Punkt 8. bis 10. bis der erste Dialogpart fertig ist. Ist der Text länger als die Textbox, wird diese geleert und der Text beginnt wieder in der ersten Linie

 

11.

 

Du hast dich verschrieben? Solange der Eingabecursor zu sehen ist kein Problem. Nach dem beenden einer Zeile schon. Dann Klick auf DIALOGPART DELETE und schreib den Part noch einmal. Ein einmal begonnener Part muß geschrieben werden.

 

12.

 

Falls du den Dialogpart geändert hast muß er nun mit CHANGED  DIALOG SAVE gesichert werden, eher kann nicht zum nächsten Dialogpart gewechselt werden.

 

13.

 

Falls das kein Dialog sondern ein Monolog sein sollte wäre hier schon Schluß.

 

14.

 

Um zum nächsten Dialogpart zu kommen klicke auf den ausgeschaltenen DIALOGSTARTER PLAYER oder ENTITY Button.

 

15.

 

Wiederhole Punkt 8. bis 10. bis der nächste Dialogpart fertig ist.

 

16.

 

So geht das weiter bis dein erster Dialog fertig ist. Sichere ihn mit dem SAVE Button.

 

17.

 

Hat der NPC mehrere Dialoge? Dann klick auf den UpPfeilbutton der sich rechts neben der Anzeige für die Dialogenummern (ganz links unter AUTONAME) befindet.

 

18.

 

Das ganze beginnt nun bei Punkt 5 falls du einen anderen Texteffekt für den zweiten Dialog haben möchtest.

 

 

 

EINS FEHLT NOCH IN DER EDITOR KURZANLEITUNG ! DIE MÖGLICHE EINGABE VON WERTEN IN DIE BEIDEN "ANOTHER ENTITY" FELDER. Das wird im Kapitel "interaktive Dialoge" auf Seite 3 behandelt. Diese Eingaben können später auch noch erledigt werden.

 

19.

 

Sind alle Dialoge geschrieben und gesichert könnten nun weitere NPC Dialogdateien erstellt werden.

 

20.

 

Klick dazu auf den UpPfeilbutton rechts neben der Entitynummeranzeige (unter dem +10-) Button.

 

21.

 

Schreib einen neuen Entitynamen ein und wähle wenn du möchtest eine neue Textfarbe. u.s.w.

 

22.

 

Zeit das geschriebene zu testen! Wechsel zum Testraum mit dem TESTROOM PREVIEW Button

 

 

 

 

 

 

 

TESTRAUM

 

 

 

 

 

23.

 

Warte bis das oK. Zeichen kommt das alle Entitys eingelesen sind.

 

24.

 

Klick auf FLAGS und schalte mindestens das VISIBLE Flag an damit du etwas siehst.

 

25.

 

Ein weiterer Klick auf den FLAGS Button lässt Panel und Textbox wieder verschwinden.

 

26.

 

Wähle den Starttyp mit dem STARTTYP Panel

 

27.

 

Bewege die Textbox mit dem TEXTPOS Panel an den Ort deiner Wahl. Denke für später daran das der aktuelle Monitorsize 1024x768 ist. Das anpassen der Textboxposition an andere Auflösungen muß zur Zeit noch manuell in der "diabasic.wdl" eingestellt werden.

 

28.

 

Stelle die Scanbedingungen des Players mit dem SCAN Panel ein

 

29.

 

Gut! Nun am besten alle Panele schliessen damit etwas zu sehen ist.

 

30.

 

Wähle die zu testenden Entitys aus der CHOICE Liste (bis zu 10 NPC's) und schließe danach dieses Panel

 

31.

 

Maximal 10 Dummys stehen nun um den Playerdummy herum und warten darauf angesprochen zu werden.

 

32.

 

Sobald der erste Text erscheint wird seine Lage mit Hilfe der TEXTOFFSET Buttons im TEXTPOS Panel zur Textbox justiert.

 

 

 

Falls nachträglich Entitynamen, Entityfarbe, Texteffekt, oder "another Entity" Daten geändert werden, muß anschliessend der SAVE Button gedrückt werden um die geänderte Datei zu speichern!

 

 anbinden der Dialoge an das Projekt

 

Beispiel für die normalen Template Files.

 

 

01.

 

kopiere 'diset.wdl', 'diabasic.wdl', 'dialog.wdl'  sowie sämtliche entXXX.dat Dateien in das Verzeichnis des Games. TIPP! Mit der Comercial Version können maximal 40 wdl Dateien included werden. Deshalb kannst du auch den Inhalt von diset.wdl und diabasic.wdl an den Anfang in der dialog.wdl kopieren und sparst so 2 Dateien ein. Dann hast du nur noch die eine dialog.wdl.

 

02.

 

öffne deine main.wdl Datei und include die drei wdl Dateien

 

 

 

 

 

 

 

 

03.

 

Erstelle eine Action für den Player. Hier heißt sie "player_star". Die "player_move" und die "move_view"  Funktion sind aus den Template wdl's. Die "scan_world" Funktion scannt die Umgebung ab. Diese Funktion müßte so oder ähnlich abgeschrieben werden. "D_HORSCAN", "D_VERTSCAN", "D_SCANRAD" sind in der "diabasic.wdl" definiert. "diapart_stop", "diapart_stop2" und "function_stop" sind in der "dialog.wdl" definiert

 

 

 

 

 

 

 

 

 

 

 

 

04.

 

Fehlt noch die event Aktion die jeder NPC bekommt. Hier nur ein ganz kurzes Beispiel für den "event_scan". Wichtig ist hier in der "entity_event" Funktion die Verbindung zur "dialog_main()" Funktion. Diese stellt die Startfunktion in der "dialog.wdl" dar. Sobald die Entity gescannt wird startet diese Funktion und die Dialoge werden entweder automatisch oder nach Tasten/Buttondruck ausgelöst.

 

 

 

 

 

 

 

 

 

 

 

 

05.

 

Das war die ganze Scriptarbeit. Nun bleibt noch das Zuordnen sämtlicher erstellter entXXX.dat Dateien an die Entitymodelle im WED. Im NPC Editor müßt ihr euch für einen der 48 Entityskills entscheiden. Wählt diesen Skill bei jedem euerer NPC's/Entitys im WED an und tragt dort die zugehörige ENTITY Nummer ein. Die ENTITY Nummer steht im NPC Editor rechts neben ENTITY SKILL. Die gleiche Nummer hat die jeweils zugehörige Dialogdatei "entXXX.dat". Im unten stehenden Beispiel wurde dem NPC Modell im WED die "entity_star" Aktion zugewiesen. Im SKILL 1 wurde die ENTITY Nummer '1' eingeschrieben. Bei einem Treffen des Players mit diesem NPC und dem auslösen der Dialogfunktion wird die "ent001.dat" Datei geöffnet und der Dialog beginnt.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2