Widziałem wiele gier, które definiują komponenty encji w plikach skryptów, ale kiedy konfigurują każdą encję i określają jej komponenty, używają innego formatu pliku (np. XML). Dlaczego oni to robią?
Pragnę głównie zobaczyć, jakie były uzasadnienia innych. Ja również skonfigurować moje podmioty spoza skryptów (choć nie wybrałem JSON XML). Moim powodem jest ułatwienie implementacji zapisywania gier, a także dlatego, że myślę, że tego rodzaju konfiguracja jest lepiej zorganizowana w coś takiego jak XML lub JSON.
@ Odpowiedź Christophera Larsena: Za długo, aby opublikować komentarz
Obawiam się, że mogłeś nieco odstąpić od tematu pytania. Opisywane przez ciebie problemy są bardziej związane z podmiotami opartymi na hierarchii; uwaga w moim pytaniu, o którym wspominałem, mówiłem o jednostkach opartych na komponentach.
Oto przykład tego, o co chciałem zapytać. Poniżej znajdują się dwa alternatywne sposoby konfiguracji encji: za pomocą skryptu i zewnętrznego pliku JSON. Moje pytanie brzmiało: dlaczego tak wiele osób woli konfigurować byt poza skryptami?
Podstawowa klasa jednostek:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
Podejście skryptowe:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
Podejście JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Podałem już powody, dla których stosuję to podejście, które mają charakter techniczny i organizacyjny. Chciałem wiedzieć, dlaczego tak wielu innych (z tego, co widziałem) korzysta z tego.