Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Kannst du das vielleicht etwas ausführen? Was meinst du mit Dokumenten? Einfach txt Dokumente/Word?Dokumente und Hyperlinks. Gekoppelt mit Scripten, die Start-Dialoge basierend auf Character- und NPC-Status ermitteln können.
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Word wäre schlecht, weil Du dann etwas bräuchtest, was Word-Dokumente lesen kann. Sinnvoll wäre wohl etwas HTML/RTF-ähnliches, eben eine Auszeichnungssprache, wo Du Links setzen kannst und was gleichzeitig super einfach zu laden ist.Kannst du das vielleicht etwas ausführen? Was meinst du mit Dokumenten? Einfach txt Dokumente/Word?
Reine Pfade in einer Datenbank haben das Problem, dass sie nicht Kontext-abhängig sind. Was z.B. wenn ein Dialog nur Spielern über einem gewissen Level präsentiert werden soll? Oder Spielern, die ein bestimmtes Item besitzen (was sie z.B. in einem vorherigen Quest bekommen)? Oder Spieler, die einen gewissen Skill gelernt haben, ein bestimmtes Haustier/Minion besitzen, eine bestimmte Menge Monster gekillt haben, etc, etc, etc? Du willst für all diese Bedingungen, die Du am Ende nur einmal für ein ganz spezielles Quest brauchst, keine IDs in einer Datenbank anlegen und dann harten Code dafür schreiben. Da bietet es sich eher an ein Script zu schreiben, was diese Eigenschaften prüft und dann zwischen verschiedenen Dialogen auswählt.Wieso eine Scriptsprache? (...) Daher wiederholt die Frage, welchen Vorteil bringt eine Scriptsprache gegenüber meiner Idee? Generell bin ich nur mit Python und JS in Kontakt gekommen, wenn es um Web-Programmierung ging, bin daher absoluter Laie was Scriptsprachen angeht.
Relative Pfade zu anderen Dialogen, ja. Allerdings hat da die Datenbank relativ wenig Sinn, bzw. schafft eine zusätzliche Indirektionsebene, die völlig überflüssig und lediglich verwirrend und kompliziert ist. Aus meiner Sicht ist ein Quest-Dialogfluss in einem Spiel erstaunlich ähnlich zu einer Webseite. Man kann gewisse Dinge lesen, man kann an gewisse andere Stellen springen, man kann Buttons anklicken, die dann zu verschiedenen Resultaten führen. Das auch so abzubilden hat mMn ziemlich viele Vorteile. Bei Lineage II wurde das intern z.B. auch genauso umgesetzt.Was ich mir jetzt vorstelle wäre, wenn ich das Stichwort Hyperlinks lese, die relativen Pfade als Strings in einer DB abzuspeichern, die dann mit den NPCs zu verknüpfen und dann bei Bedarf abzufragen.
Also den Punkt kann ich absolut nicht nachvollziehen. Ein Storybasiertes Spiel, lebt von seiner Geschichte und die wird am besten ausgedrückt mit Text. Wenn ich mir Spiele wie Final Fantasy anschaue, kann man doch schnell erkennen dass Dialoge/Story sehr wichtig sind. Oder wie meinst du das mit "vermieden" werden.Zitat
Bei Spielen sollte man bedenken, dass Dialoge, Texte allgemein und
Cutscenes möglichst vermieden werden sollten. Selbst wenn diese hübsch
anzusehen sind, brechen sie eher den Spielfluss ab, indem der Spieler
die Kontrolle über seinen Charakter gänzlich verliert. Auch sollte
möglichst viel dem Spieler mit Hilfe der Mechaniken des Spiels
mitgeteilt werden, statt über Text.
Also den ersten Teil, bezüglich der Kontext-abhängigkeit kann ich nachvollziehen.Zitat
Reine Pfade in einer Datenbank haben das Problem, dass sie nicht
Kontext-abhängig sind. Was z.B. wenn ein Dialog nur Spielern über einem
gewissen Level präsentiert werden soll? Oder Spielern, die ein
bestimmtes Item besitzen (was sie z.B. in einem vorherigen Quest
bekommen)? Oder Spieler, die einen gewissen Skill gelernt haben, ein
bestimmtes Haustier/Minion besitzen, eine bestimmte Menge Monster
gekillt haben, etc, etc, etc? Du willst für all diese Bedingungen, die
Du am Ende nur einmal für ein ganz spezielles Quest brauchst, keine IDs
in einer Datenbank anlegen und dann harten Code dafür schreiben. Da
bietet es sich eher an ein Script zu schreiben, was diese Eigenschaften
prüft und dann zwischen verschiedenen Dialogen auswählt.
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Da würde ich jetzt nur überflüssig alle Vorteile von Scripten gegenüber fest kompiliertem Code aufzählen. Der wichtigste ist mMn allerdings, daher nenne ich ihn jetzt mal separat trotzdem, die Möglichkeit das Script zu ändern und während der Laufzeit des Spiels neu zu laden, ohne es komplett anzuhalten, neu zu bauen und wieder dort einzusteigen, wo man gerade war. Dieser Vorteil ist unschätzbar.Wenn ich aber jetzt, wie du oben beschreibst auf einfach Dokumente switche, kann ich die Bedingung wann welcher Dialog ausgewählt werden auch mit Java prüfen. Daher stehe ich immer noch komplett auf dem Schlauch warum es sinnvoller ist auf Script zu setzen.
Werbeanzeige