Ich hoffe, dass ich dies korrekt poste, da ich neu auf der Website bin. Sie können mich gerne korrigieren, wenn ich an der falschen Stelle bin.
Was mein Problem betrifft: Ich arbeite an einem 2D-Side-Scrolling-Plattformspiel in libGDX und bin auf ein Problem gestoßen, das ich zuvor in Betracht gezogen habe, aber nie eine solide Antwort erhalten habe. Hier ist ein Beispiel für das, worüber ich mich wundere: In Spielen wie beispielsweise der Legende von Zelda kann dies, wenn der Spieler auf einen Schalter tritt oder eine brennende Fackel fängt, eine Tür öffnen oder ein Monster freisetzen oder eine Vielzahl verursachen von anderen Dingen zu passieren.
Nun stelle ich mir vor, dass dies eine Art Ereignis-Trigger-Beziehung oder ein Messaging-System verwendet, aber es scheint verrückt zu sein, alle diese Ereignisse in die Spiel-Engine selbst zu codieren, selbst wenn ein ereignisbasiertes System verwendet wird.
Gleiches gilt für Lernprogramme und Dialogsysteme: Der Spieler interagiert mit einem NPC oder einer Art Objekt im Spiel, und das Dialogfeld / Lernprogramm wird an bestimmten Punkten fortgesetzt.
In meinem Spiel muss ich in der Lage sein, Ereignisse auszulösen, nachdem ein Charakter eine bestimmte Sache getan hat, und ich muss in der Lage sein, eine Reihe von Dialogen auszulösen. Ich denke, ich weiß, wie ich diese Dinge fest codieren kann, aber ich werde zahlreiche Ebenen haben, die ich mit einem Ebeneneditor wie Tiled entwickeln möchte, anstatt sie fest zu codieren. Aus diesem Grund weiß ich nicht, wie ich Ereignisse in ein solches System integrieren würde.
Meine Fragen sind: Was tun Spielprogrammierer, um zu vermeiden, dass diese Dinge in ihre Spiele hartcodiert werden? Wie werden diese mit einem riesigen Quest-System mit tonnenweise Dialogen oder zahlreichen Levels mit Schaltern und Ereignissen, die ausgelöst werden sollen, in das Spiel integriert?
Vielen Dank für jede Antwort, die Sie mir geben können, ich bin wirklich ratlos über diese :)
PS Wenn Sie mehr Klarheit darüber benötigen, was ich verlange, sagen Sie es mir bitte, damit ich bei Bedarf weitere Einzelheiten mitteilen kann.
PPS Ich habe dieses Post- Level-Editor-Ereignissystem gesehen, wie man Ereignisse in Spielaktionen übersetzt, aber ich habe auf anderen Seiten gesehen, dass Leute hin und her gehen, ob sie eine Skriptsprache oder ein Dateiformat wie XML oder JSON verwenden sollen. und es ist sehr verwirrend ...