Scripting Engine für XNA


9

Angenommen, ich mache dieses große Spiel in C # mit XNA.

Welche Optionen muss ich haben, um eine Skriptfunktion in meine Codebasis aufzunehmen?


2
Welche Funktionen, speziell , eine Scripting - Engine haben Sie wirklich brauchen? Die überwiegende Mehrheit der Dinge, die Ihnen eine Skript-Engine bietet, ist bereits in C # verfügbar.
Andrew Russell

Grundsätzlich denke ich daran, so etwas wie einen GUI-basierten XNA-Spielehersteller zu machen. Sie verwenden diesen Game Maker und greifen über ein Skript auf meine C # -Klassen und -Funktionen zu, um das Gameplay zu implementieren.
Astk

1
Wer ist der Endbenutzer? Ist das so etwas wie Klik & Play (Kinder, Bastler)? Oder ist es eher wie Unreal Kismet (Künstler und Designer)? Oder etwas anderes?
Andrew Russell

Sagen wir wie Game Maker. Während es erlaubt, jede Spielmechanik zu implementieren, ist es für Klik and Play immer noch in Ordnung. Es muss keinen visuellen Skripteditor wie Kismet geben.
Astk

Das unterscheidet sich sehr von der Frage, die Sie gestellt haben. Versuchen Sie vielleicht, einen anderen zu fragen, der Ihre Anforderungen besser erklärt. Oder nehmen Sie meine kurze Antwort: Verwenden Sie C # -Delegierte als Grundlage für ein System, das Funktionen wie Objekte behandeln kann. Verwenden Sie diese Objekte, um ein GUI-System zu erstellen, oder setzen Sie das System fortgeschrittenen Endbenutzern über C # zur Verfügung, wie in meiner Antwort beschrieben.
Andrew Russell

Antworten:


15

Ich empfehle, keine Skriptsprache in C # zu verwenden . C # löst bereits die überwiegende Mehrheit der Probleme, die mit einer Skript-Engine gelöst werden. Verwenden Sie C # einfach so, wie Sie eine Skriptsprache verwenden würden.

Da ich das schon mehrmals durchgesehen habe, hier ein paar Lesematerialien für Sie:


UPDATE: Wenn Sie einen Live-Bearbeitungsworkflow wünschen, probieren Sie diese freche Methode für die Verwendung von Bearbeiten und Fortfahren aus .


1

Wenn Sie auf die XBox360 oder Windows Phone 7 abzielen möchten, sind Ihre Optionen eingeschränkt. Diese Plattformen unterstützen keine Generierung von Laufzeitcode, daher wäre Ihre einzige Option eine interpretierte Sprache. Ich würde empfehlen, sich von interpretierten Sprachen fernzuhalten, da ihre Leistung tendenziell von "unterdurchschnittlich" bis "abgrundtief" reicht.

Wenn Sie nur auf Windows abzielen und wirklich eine Skriptsprache benötigen / möchten, schauen Sie sich IronPython oder IronRuby an. Beide zielen auf das DLR ab und arbeiten sehr gut (als dynamische Sprachen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.