2016-06-12 10 views
0

Ich schreibe gerade eine sehr einfache 2.5D Game Engine in Java und Spiel. Dies ist im Grunde nur ein lustiges Projekt, an dem ich gerade arbeite, so dass die Zeit, die es braucht, um Features zu implementieren, kein Problem ist, da ich es jederzeit beiseite legen und daran arbeiten kann. Vor diesem Hintergrund plante ich, ein benutzerdefiniertes Skript-System zu implementieren. Im Grunde wäre die Engine eine Shell eines 2.5D-Spiels, das durch einfache Skripte modifiziert und erweitert werden kann. Bisher habe ich die folgenden Ideen, wie ich das anstellen soll, aber ich bin mir nicht sicher, was praktisch ist oder nicht.Erstellen einer API oder Skriptsprache für Game Engine?

  1. Schreiben Sie eine sehr einfache Skriptsprache und einen vereinfachten Parser, der einen Ordner auf die Skripte überprüft und diese ausführt.
  2. Machen Sie eine Java-Bibliothek/API, die Sie
  3. Verwenden Sie eine bereits erstellte Sprache, die wie lua sehr einfache Teile des Spiels auf Client und Server über nur einfache alte Java modifizieren ermöglicht ausfahrbaren Teile des Spiels ist

Ich dachte wirklich über Option 1 als das, was ich tun wollte, aber ich habe nie wirklich so etwas getan, ich fragte mich, ob jemand empfehlen könnte, was ich hier tun sollte. Wenn ich eine einfache Sprache schreibe, suche ich nur nach Material oder Dokumentation zu solchen Themen. Würde ich mir nur anschauen, wie Leute einfache Compiler/Interpreter geschrieben haben?

Antwort

1

Die kurze Antwort wäre 2, gehen Sie mit der API. Dies ist der einfachste Weg, Funktionen zu Ihrer Spielengine hinzuzufügen oder zu ändern.

Erstellen Sie Ihre eigenen Skriptsprache und Parser ist verlockend für jeden Entwickler. Es ist eine großartige Lernerfahrung, aber es ist auch ein Nachteil. Wenn Sie mit dem Schreiben der Skripts beginnen und das Ergebnis nicht Ihren Erwartungen entspricht, wissen Sie nicht, ob sich der Fehler in Ihrem Skript oder im Parser befindet. Sie benötigen einige Debugging-Informationen aus dem Parser, vielleicht ein Stacktrace, sogar eine sehr einfache Skriptsprache könnte beginnen, Ihr Projekt zu übernehmen. Wenn Sie anfangen, Ihre Skripte zu schreiben, werden Sie sich wahrscheinlich durch die fehlenden Funktionen eingeschränkt fühlen, die Sie vom Schreiben von Java-Code gewohnt sind und vielleicht beginnen, die Skriptsprache zu erweitern.

Einige der Nachteile beim Erstellen Ihrer eigenen Sprache gilt auch für bereits vorhandene Sprachen. Wenn Sie wirklich eine sehr kostenlose Möglichkeit brauchen, um Ihre Spielengine zu erweitern, können Sie diese Straße wählen, aber ich würde es nicht empfehlen. Sie riskieren dennoch, den Fokus von Ihrer Game-Engine auf die Skript-Implementierung zu verlagern.

Eine Möglichkeit, darüber nachzudenken, ist auch vom Verfasser der Mods Sicht. Möchten sie in einer neuen Skriptsprache, in einer bestehenden Skriptsprache oder in Java schreiben? Die Antwort wird höchstwahrscheinlich Java sein und wahrscheinlich keine neue Sprache.

+0

Danke für die Eingabe. Du hast meine Meinung dazu verschoben. Ich war auf dem Zaun zwischen 1 und 2 und wollte mir selbst schreiben, aber du bringst ein paar gültige Punkte auf. Die Tatsache, dass ich mich eingeschränkt fühle, stimme ich vollkommen zu. Ich habe das Gefühl, dass ich nur zögernd einen "anständigen" Versuch machen könnte, aber egal, was das Projekt kosten würde. Die Java-API würde es mir ermöglichen, mehr benutzerdefinierte Fähigkeiten mit einfacheren und vertrauteren Methoden zu implementieren, was der eigentliche Sinn dessen ist, was ich zu tun versuche. – uncoded

+0

Ich bin froh, dass ich helfen konnte. Viel Glück mit Ihrem Projekt. –

Verwandte Themen