Ich habe viele Spiele gesehen, die die Entitätskomponenten in Skriptdateien definieren, aber wenn sie jede Entität konfigurieren und angeben, welche Komponenten sie enthält, verwenden sie ein anderes Dateiformat (wie XML). Warum machen sie das?
Ich frage hauptsächlich, was die Gründe anderer dafür waren. Ich auch so konfigurieren , meine Einheiten außerhalb von Skripten (obwohl ich wählte JSON nicht XML). Meine Gründe dafür sind, mir die Implementierung von Speicherspielen zu erleichtern und auch, weil ich denke, dass diese Art der Konfiguration besser in XML oder JSON organisiert ist.
@ Christopher Larsens Antwort: Zu lange, um als Kommentar zu posten
Ich fürchte, Sie sind vielleicht ein bisschen vom Thema der Frage abgewichen. Die Probleme, die Sie beschreiben, beziehen sich eher auf hierarchiebasierte Entitäten. Beachten Sie in meiner Frage, dass ich über komponentenbasierte Entitäten gesprochen habe.
Hier ist ein Beispiel dafür, was ich fragen wollte. Im Folgenden finden Sie zwei alternative Möglichkeiten zum Konfigurieren einer Entität: über das Skript und über eine externe JSON-Datei. Meine Frage war, warum so viele Leute es vorziehen, die Entität außerhalb von Skripten zu konfigurieren.
Eine Basisentitätsklasse:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
Der Skriptansatz:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
Der JSON-Ansatz:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Ich habe bereits meine Gründe für die Verwendung dieses Ansatzes angegeben, die technisch und organisatorisch sind. Ich wollte wissen, warum so viele andere (nach dem, was ich gesehen habe) dies verwenden.