Gamestudio Links
Zorro Links
Newest Posts
voip phone service
by lorikob361. 05/24/24 03:33
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (Ayumi, lorikob361), 700 guests, and 6 spiders.
Key: Admin, Global Mod, Mod
Newest Members
LucasJoshua, Baklazhan, Hanky27, firatv, wandaluciaia
19053 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Verwaltung der Dialoge. Player-->NPC #11271
12/15/02 08:40
12/15/02 08:40

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Wie verwaltet ihr größere Mengen an Text Dialogen im Game?
Was hat man für Möglichkeiten?
Ich könnte zum Beispiel für jeden Character eine Textdatei erstellen die all seine Dialoge enthält. Aber diese Dateien werden nicht verschlüsselt können also direkt gelesen werden.
Finde ich nicht so gut.
Zur Zeit mache ich es so. Der gesamte Text eines Characters wird in einem Textobjekt geführt das mehrere Strings enthält. Je nach Ereignis wird der passende String in einen leeren String kopiert und dieser dann angezeigt. Das hat aber den Nachteil das mit steigender Komplexität des Games auch die Ereignisse immer komplexer werden. Ich habe die Befürchtung das ich das ganze dann nicht mehr überblicke.
Habt iht Tipps für den Aufbau eines Systems bei dem die Übersicht gewahrt bleibt?

Re: Verwaltung der Dialoge. Player-->NPC #11272
12/14/02 23:58
12/14/02 23:58

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Hallo Lolek !

Also, ich gehe seit einiger Zeit schon schwanger mit der Idee dafür einen Editor zu programmieren, also für Dialoge mit actors, welche dann außerdem in Abhängikeit zum Ergebnis des Dialoges auch ihr Verhalten ändern könnten. Zumindest Gesichtsmimik, also daß sie z.B. wütend werden oder erfreut u. ä. bzw. natürlich auch ihre Antworten oder Fragen ändern oder etwas "rausrücken" :-), wenn man richtig gefragt hat.

Als Grundlage eines solchen Systems wird man nicht darum herumkommen so etwas wie ein kleines Datenbanksystem zu benutzen und einige arrays anzulegen, welche beim Beginn des Spieles z.T. mit Daten aus den datenbankfiles gefüllt würden. Oder man greift nur direkt auf die Datenbankfiles zu und schreibt auch direkt zurück, geht aber glaube ich erst ab Pro version, weiß ich jetzt nicht genau.
Egal, muß man mal sehen. Auf jeden Fall sehe ich einen Editor eines solchen System als einzige Möglichkeit die Übersicht über ein komplexeres Dialogsystem zu behalten

Der Editor hätte folgende Aufgaben :

1. Das Eingeben eines schriftlichen Dialoges zu ermöglichen. Oder entrsprechend das direkte Aufnehmen per Mikrofon (Headset), oder importieren (sammeln) von wav Dateien für den Dialog.

2. Bestimmung des Ablaufes des Dialoges: Z.B. Dialogtiefe, also Anzahl der Fragen und Antworten. Fragetyp (!): Falsche oder unverschämte Frage müssen einen negativpunkt(oder flag) für den Actor speichern können, also je nachdem was der Player im Spiel als Frage oder Antwort anklickt, muß das Folgen haben können Das muß natürlich im Editor zu bestimmen sein.

3. Welche Folgeaktionen ? Actor wird langsam sauer, und schimpft mehr und mehr (da negativpunkte zu hoch werden) wird irgendwann handgreiflich (Animationframe-Wechsel muß bestimmbar sein). Oder: Actor wird immer freundlicher und offener, bis er schließlich einen entscheidenden Hinweis gibt oder etwas rausrückt. Was er dann rausrückt, müßte dann natürlich auch im Editor bestimmbar sein und der Name des MDL'S eingetragen werden (String array oder mindestens eine Indexliste).

4. Standard Floskeln zur Begrüßung und Verabschiedung müßten eintragbar sein. Diese könnten in Abhängigkeit eines Zufallsgenerators auch im Spiel ausgetauscht werden, also "Hallo Fremder" mit "Sieha da, ein Fremder" oder "Nanu Fremdling, was wolle er ?" o.ä.

5. "Memory" für actors (einfaches Array) um etwas zu ermöglichen wie "Hallo Fremder, nun hast Du mich schon so oft gerfragt...". Oder, daß der Actor nach einiger Zeit vielleicht nicht mehr feindlich gesinnt ist. Oder einfach vorbeiläuft. Oder erst nach einiger Zeit wieder angesprochen werden kann. Auch hier müßten die "defaults" bestimmbar sein.

6. "Memory" für den Player, auch der Player könnte natürlich ein "Memory" bekommen, welches ihm z.B. sagt, "Den zu fragen bringt nichts" oder "Das hast Du schon versucht".

7. Verzögerungen zwischen Frage und Antwort, also die Kunst der Pause. Per Slider einzustellen.

Alle diese Daten würden in Indexfiles gespeichert werden, die schriftlichen Dialogtexte, wie bei Dir geplant, in einem oder mehreren Textfiles, wären dann also über einen Index abrufbar und auf dem Bildschirm ausgebbar. Wav Dateien könnten darüber natürlich auch aufgerufen werden.
Verhaltenspunkte und Folgeanimationen, oder besser, ihre Namen ebenfalls.

Der Editor sollt dann auch in der Lage sein automatisch die Entsprechenden Actions für Player und Actor zu erzeugen oder zumindest Standard actions und includes mitzuliefern.

Ein solcher Editor ist natürlich ein Haufen Arbeit, besonders wenn's dann ans Testen geht. Ich bin mir also nicht sicher ob mich mich daran machen werde, obwohl ich schon ein Test-GUI dafür entworfen habe und wenn würde es sicherlich keine Freeware werden. Dennoch wäre es natürlich eine schöne Sache, das Gamestudio bekäme dann endlich eine Sprachwelt dazu.

Soweit erstmal, vielleicht nutzt ja auch irgend ein Supercoder diesen Post als Anregung :-)).

Adventsgrüße !

JH

www.stadtparkentertainment.de

Re: Verwaltung der Dialoge. Player-->NPC #11273
12/15/02 00:28
12/15/02 00:28

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Im Grunde versehe ich dich nicht:

Schreib doch mittels sdk einfach ne einfache verschlüsselung, die den text aus deiner txt in den speichern bzw. strings list, wo sollte das denn das problem liegen?

Re: Verwaltung der Dialoge. Player-->NPC #11274
12/15/02 01:50
12/15/02 01:50

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



@cnesm: Ich habe doch keine Ahnung vom programmieren mit SDK und C++. Ich muß aber sowieso mal damit anfangen, denn es gibt immer genau das nicht bei den Downloads was ich benötige.
@Jürgen Hunke: Da merkt man gleich das du dich damit schon beschäftigt hast. So tief hab ich die Sache noch gar nicht bedacht. Ist ein guter Ausgangspunkt für ein Script. Schade das man nicht weiß welche Scripts A6 mal mitbekommt. Könnte ja sein das A6 solch ein System enthält.

Danke für eure Antworten. Schönen Advent!

Re: Verwaltung der Dialoge. Player-->NPC #11275
12/15/02 03:01
12/15/02 03:01

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Nachtrag nochmal:

Ich hab noch mal im Handbuch nachgeschaut, wegen Files lesen und beschreiben, ab A5 sind offenbar alle gängigen Befehle vorhanden. Das dürfte also kein prob sein, damit könnte man dann immer direkt
aus dem File lesen oder zuückschreiben. Nur die Pro version hat eben richtige Datenbankbefehle "database", welche records lesen kann.

Ich hab mal einen kleinen Textadventure Generator programmiert (nicht veröffentlicht) daher vielleicht die Nähe zur Materie.
Es bietet sich aber ja eigentlich auch an, das Gamestudio für solche Dialog-Simulationen zu benutzen, damit könnte man ein ganz neues Genre schaffen, nach meiner Meinung, z.B. für Spiele-Krimis wo es mehr ums Köpfchen als um den Abzugfinger geht o.ä.

JH

Erlaube mir noch zum Spaß einen alten screen meines adventure creators zu posten, ist vielleicht ganz lustig, das ABSOLUTE Horrordesign ! Funktionierte aber wirklich, ob Ihrs nun glaubt oder nicht [Big Grin] . Nutzte den Dbase 2 standard.

Hier ist der screenshot (Dauert ein Minütchen):

www.StadtparkEntertainment.de/Textadv.jpg

Also so in die Richtung dachte ich mir jedenfalls das Interface für eine A5 Dialogwelt.

Re: Verwaltung der Dialoge. Player-->NPC #11276
12/21/02 06:43
12/21/02 06:43

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



hi,
<Dialog-Simulationen
genau daran arbeite ich zur zeit. Ich entwickle aber ein völlig neues und eigenes system, weil das dialogsystem aus den Templates höchsten als Anrufbeantworter zu gebrauchen ist.

Andreas

http://boygotchy.com
[Smile]

Re: Verwaltung der Dialoge. Player-->NPC #11277
12/22/02 08:08
12/22/02 08:08
Joined: Apr 2002
Posts: 119
Germany
Bones Offline
Member
Bones  Offline
Member

Joined: Apr 2002
Posts: 119
Germany
Wie Du Deine Dialoge verwaltest hängt davon ab wie groß der Freiheitsgrad für den Spieler sein soll. Ich nehme an - so ist es zumindest bei unserem Game - daß die eigentliche Story meist recht linear verläuft und die eigentlichen Dialoge einen gewissen kleinen Freiheitsgrad zulassen, deren Verlauf Auswirkungen auf Details des Spiels hat. Wir haben dafür eine Art Drehbuch geschrieben und die Dialoge in einem Flußdiagramm geordnet. Die einzelnen Texte enthalten zunächst nur den groben Inhalt/Aussage und werden in einer Textdatei gespeichert. Diese Datei wird in einer späteren Phase der Entwicklung von unserer Dialogautorin überarbeitet und mit Sprache gefüllt.
Die einzelnen möglichen Dialoge haben dann jeweils einzelne Functions, die den zuvor geplanten Flußdiagrammen folgen.
Der Nachteil an diesem System ist, daß man es sehr genau planen muß und man auch in späteren Entwicklungsphasen immer fest an das Drehbuch gebunden ist. Dafür ist es recht einfach umzusetzen.
Komplizierter wirds dann aber bei größeren Freiheitsgraden für den Spieler. Ist aber auch die Frage, ob das dann noch was für 3DGS-Games ist.


Bones --- www.circuit01.com "Ich habe genügend Vorstellungskraft um Dinge zu machen, von denen ich keine Ahnung habe." - Martin Scorsese
Re: Verwaltung der Dialoge. Player-->NPC #11278
12/23/02 19:15
12/23/02 19:15

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Hallo
Hier mal einige Gedanken zur dialog verwaltung. Ich würde gerne mit einigen Usern darüber diskutiren.
Ein Wort zuvor zu den sogenannten Template - Scripts. Diese sind vorgefertigte Scripts, mit welchen sie ihren Entitis Actionen zuweisen können ohne selber Code schreiben zu müssen. Obwohl diese Scripte sehr professionell entwickelt wurden und es leicht ist, einfach Player_move oder Actor_fight auf die entsprechende Entity zu legen, rate ich dringendst davon ab, diese Scripte zu benutzen.
Wenn sie nicht in der Lage sind eigene Aktionen zu schreiben werden sie auch nicht verstehen wie die Templates arbeiten. Wollen sie aber eine derartige Funktion abändern werden sie merken, dass es eine fast unüberschaubare Zahl von Vordefinitionen und verschachtelten Funktionsaufrufen gibt, welche obendrein auch noch schwach kommentiert sind. Nichts ist schlimmer als wenn ein Programmierer ein Script benutzt, welches er nicht versteht. Zudem sind diese Templatescripte doch sehr auf "Hauen und Stechen" ausgelegt, was zwar modern, aber nicht immer erwünscht ist.
Wie also sollte man anfangen?
Alles beginnt mit der Spielidee. Ich werde hier mal sehr undemokratisch eine Idee vorgeben.
„Der Spieler ist bei einen Flug mit seinem nagelneuen Privatflugzeug auf eine einsame Insel abgestürzt. Natürlich hatte er 30 Schutzengel dabei, so das ihm nix passiert ist. Das Flugzeug ist aber Schrott. Natürlich passt ihm das überhaupt nicht und er überlegt wie er wieder nach Hause kommt“. Diese Story dient als Einleitung . Das eigentliche Spiel beginnt, als der Player sich aufgerappelt hat und die ersten Kopfschmerzen verflogen sind. Er steht neben seiner kaputten Maschine und sollte nun beginnen die Insel auszukundschaften. Er wird bald merken, das er nicht allein ist. Auf der Insel wohnt eine Familie von Insulanern in einer Hütte. Der Mann und die Frau haben 2 Kinder. Zum glück sprechen alle gut deutsch (welch ein Zufall) und so kann der Player mit ihnen kommunizieren. Das war´s schon! Mehr ist zur Spielstory nicht zu sagen.
Nun werden sie sicher fragen was der Sinn des Spieles ist, welches Ziel der Spieler erreichen muss, oder wie die ganze Sache überhaupt ausgeht.
Genau hier liegt der Knackpunkt. Ein Spiel in welchen es ein festgelegtes Ziel gibt, oder der Spieler irgendeinen Endzustand erreichen muss, ist im Grunde kein Spiel, sondern ein Wettbewerb. Ein Spiel ist nach hinten immer offen, und darf keine entgültigen Handlungsstränge besitzen. Ein typisches Spiel aus der Kindheit ist „ Vater, Mutter, Kind“, oder „Schule“. Diese Spiele gehen jedes Mal anders aus, und sind so auch immer aktuell. Spiele im weitesten Sinne sind auch eigenständige Simulatoren, z.B. fahr- oder Flugsimulatoren, aber keine Renn und Kampfspiele.
Natürlich sind sie mit diesen Erklärungen noch immer nicht zufrieden! „wie geht das denn nun? Wie spiele ich dieses Spiel“? Was würden sie denn in diese Lage tun?
Natürlich können sie am Strand sitzen bleiben und sich solange selber bemitleiden bis es ihnen vor Hunger schwarz vor den Augen wird, oder sie versuchen einfach nach Hause zu schwimmen um eine Lücke in der Nahrungskette der Haie zu füllen. Es stehen ihnen alle Möglichkeiten offen, nur auf den Bus werden sie vergebens warten. Wohl oder übel werden sie Kontakt mit den Eingeborenen aufnehmen müssen. In vielen Computerspielen stellt man den Kontakt zu anderen Personen mit dem Baseballschläger her aber hier würde das auch nichts nützen. Besinnen sie sich also auf ihre menschliche Fähigkeit der Sprache. Gehe sie zu einer Figur und drücken sie die -T- (talk) Taste. Es geht ein Fenster auf das einen Chatfenster sehr ähnelt. Im unteren Teil geben sie ihren text ein und im oberen Teil wird ihnen der Actor antworten. In den Templates gibt es den sogenannten NPC Dialog und gleich auch den Grund dazu diese Scripte nicht zu verwenden. Die Masse der Strings potenziert sich mit jeder neuen Fragemöglichkeit. Das wiederum schränkt die Freiheitsgrade der Figuren ein.So wie hier sollte es schon aussehen:
Player: guten Tag
Actor: hallo, wo kommen sie den her?
Player: ich bin mit dem Flugzeug abgestürzt
Actor: ja diese Dinger sind gefährlich
Player: ich möchte wieder nach Hause
Actor: warum? Es ist doch schön hier.
Usw.

Also wenn es hier sehr stark nach KI riecht, täuscht sie ihre Nase nicht. Da wären wir also schon beim nächsten Kriterium für ein gutes Spiel. Die Entwicklungs- und Sozialisierungs- fähigkeiten des Actors, bzw aller NPC´s. Aber zuvor noch ein wenig Talk über die KI. Was ist das überhaupt? Obwohl darüber schon ganze Abhandlungen geschrieben wurden, konnte man sich noch nicht auf eine einheitliche Definition einigen. Ich sehe das so:
Ein Objekt besitzt KI, wenn es in der Lage ist mir dieses glaubhaft zu machen J
Jeder NPC „lebt“ in einem Kontext zu seiner Umwelt, welche Einfluss auf sein Verhalten und seinen Zustand hat, die er aber auch aktiv verändern kann. Und zwar nicht nur seine Eigenschaften sondern auch die der andren NPC. Der Zustand des Players, wiederum, ist von der Bewertung aller NPC abhängig.
Nehmen wir mal an, sie kommen auf die Idee Bäume zu fällen um ein Boot zu bauen, so brauchen sie dazu Werkzeug. Das wiederum liegt im Schuppen des Mannes. Der rückt es aber nicht raus, weil sie am Vorabend zu lange mit seiner Frau geredet haben und ihn nun die Eifersucht plagt. Betteln will der Player aber nicht, und nun versucht er eines der Kinder zu überreden, Papas Kettensäge zu klauen. Je nachdem wie dieses Kind den Player bewertet, wird es ihm entweder helfen und das Ding besorgen oder es sofort brühwarm dem Vater erzählen. Jeder NPC hat also eine bestimmte Meinung über einen andren NPC, oder den Player. Daraus ergibt sich ihre Stellung im Spiel und der Spielverlauf. Wie verändert sich aber die Meinung der Figuren im Spiel? Die Kinder werden den Player mögen, wenn er oft mit ihnen spielt, oder wenn er dafür sorgt das die Eltern nichts von ihren Schandtaten erfahren. Die Frau bekommt man vielleicht mit Komplimenten rum und dem Mann wird geschmeichelt, wenn man seinen selbstgebrannten nicht ablehnt und seine handwerklichen Fähigkeiten in den höchsten Tönen lobt. Aber Vorsicht! Wenn sie zu sehr schleimen könnte der Mann misstrauisch werden. Sie müssen also sehr diplomatisch vorgehen.
Hört sich ja alles sehr gut an werden sie sagen (oder auch nicht).Wie auch immer! Das ganze muss erst mal programmiert werden. Wie versteht der Computer den eingegebenen Text?
Zunächst benötigen sie eine Datenbank der relevanten Wörter. Das ist die Hauptarbeit, welche auf sie zukommt. Der Ablauf der Texterkennung ist dann folgender:
1.Bestimmen des Satzcharakters
2.Lokalisieren der Attribute im Satz
3.eliminieren von Bezeichnern
4.assoziieren
5.ermitteln der Stellung des NPC zur Satzaussage
6.Korrektur der Stellung des NPC zur Satzaussage
7.Montage der Antwort
8.Generierung der Action des NPC in Abhängigkeit von punkt 7 und der jeweiligen Situation
Auf diese weise ist er möglich, das der NPC auf die Eingabe des Spielers vernünftig antwortet und reagiert. Im Grunde ist der Programmablauf klar, es fehlt nur an Zeit und alles alleine machen möchte ich auch nicht
Das ist nur ein kurzer Gedankenansatz zum Thema Dialoge. Wer Lust hat an diesem System mitzuarbeiten, der möge sich bei mir melden.
Ich habe ein kleines Spiel,gemacht,in welchen diese Dialogroutine eingebaut ist. Wer es haben will kann mir ja schreiben.
Andreas
http://boygotchy.de

Re: Verwaltung der Dialoge. Player-->NPC #11279
12/23/02 19:42
12/23/02 19:42
Joined: Jun 2002
Posts: 663
Germany, Hessen, Wanfried
R
rai Offline
Developer
rai  Offline
Developer
R

Joined: Jun 2002
Posts: 663
Germany, Hessen, Wanfried
Warum schreibt man nicht gleich ein DLL, welches das Spiel mit einen Spracherkennung und -ausgabe verknüpft? Wenn man schon ein script hat,welches intelligent auf vorgaben antwortet, kannman den Text des Insulaners beispielsweise mit webspeech wiedergaben lassen... Die Eingabe kannman mit mit Dragon Point & Speak (billig) machen... Aber der Aufwand ist doch etwas hoch, obwohl das nicht schwer zu realisieren währe, wennman das AI script hat. Aber hunderte wissenschaftler forschen an so einer KI und bekommen immer noch nichts hin, was den (ich glaube) Asimow- Test(ein Mensch redet mit verschiedenen Kandidaten. einer davon ist ein PC. Nach dem Gespräch darf er die Menschlichen Antworten nicht von denen vom Computer unterscheiden können) besteht. Und sowas soll ich ein Spiel eingebaut werden... das dauert aber noch eine Weile... Am MIT wurde kürzlich eine Software entwickelt, in die man einen 5 minütigen video- Film in dem eine Person etwas sagt (erfolgreich mit O. B. Laden auspobiert)einspielt, und einen Text schreibt. Auf dem Bildschirm erscheint dan diese Person und spricht den text. Niemand kann dies Aufnahme von einer echten unterscheiden. man kann ich Fernsehn leute etwas sagen lassen, was sie in echt nie gesagt haben,und doch wird keiner an der Echtheit dieser Aufnahmen zweifeln... Sowas sollte man mal als spachausgabe in ein Spiel einbauen! leider sind die Lizens-Gebühren nicht zu bezahlen.


Für Rechtschreibfehler haftet mein Deutschlehrer!!! ;-) ICQ: 170177424 http://www.wega3d.de
Re: Verwaltung der Dialoge. Player-->NPC #11280
12/23/02 21:08
12/23/02 21:08

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Ich will mal auf dem Teppich bleiben.
Von dll Programmierung verstehe ich nichts.
Ich war auf der Seite von Andreas13 und ziemlich beeindruckt. Vor allem davon das er 14 ist und schon C++ beherrscht. Daran bin ich gescheitert (bin 37 Jahre jung).
Zurück zum Thema.
Eine solche Tiefe der KI ist zwar toll zu lesen aber sehr schwer umsetzbar. Für mich jedenfalls. Mir persönlich würde es schon reichen nur die technische Verwaltung der gesamten b.z.w. noch nachträglich einbringbaren Textstrings mit so einfach wie möglich gehaltenen Mitteln hinzubekommen. Das was an Beispielen z.B. im Venture Workshop zum Thema steht habe ich verstanden und kann ähnliches selber umsetzen. Das Beispiel eines Editors nach Jürgen Hunke gefällt mir aber am besten. So ein Editor lässt mir den Überblick über vielleicht dutzende Akteure mit tausenden Sätzen. Hier im Forum gibt es Spezialisten in jede Richtung. Der eine erfindet eben einen Dialogeditor und der andere stellt seine Modelle ins Netz.
Leider bin ich nicht derjenige der einen Dialogeditor programmieren wird. Aber ich würde gerne einen nutzen.

Page 1 of 2 1 2

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1