Ok, ich gebe zu, der Titel ist blöd. In Englisch klingt er besser: Thoughts on Dialogue Systems. Aber das ist halt ein deutscher (und in letzter Zeit ein wenig vernachlässigter) Blog, also gibst blöde, deutsche Titel 😉
Aber nun zum eigentlichen Thema dieses Post: Wie macht ein gutes Dialogsystem? Fangen wir mit den Anforderungen an:
- Der Spieler muss verschiedene Optionen haben. Es gibt keinen festen Ablauf.
- Der Dialog wird zwischen dem Spieler und einem oder mehr NPCs geführt. Technisch gesehen ist der Spieler aber auch ein NPC.
- Zu bestimmten Zeitpunkten sollen Scripte ausgeführt werden können. Möglichst, wenn eine Dialogzeile zu Ende ist.
- Es soll durch Scripte möglich sein, zu bestimmen, ob eine Dialogzeile angezeigt wird, bzw. den Verlauf des Dialogs zu bestimmen.
- Es muss einen Editor geben, in dem man die Dialoge erstellt.
- Die Dialoge sollen über die Content Pipeline geladen werden können.
Ich habe jetzt angefangen, ein eigenes System zu schreiben. Dieses funktioniert auch relativ gut, und es hatte auch eine Integration der Content Pipeline. Nun bin ich aber auf ein Problem gestoßen: Die Auswahl durch den Spieler.