Ho visto molti giochi che definiscono i componenti di entità nei file di script, ma quando configurano ciascuna entità e specificano quali componenti ha, usano un altro formato di file (come XML). Perché lo fanno?
Chiedo principalmente di vedere quale fosse la logica degli altri per questo. Ho anche configurare il mio soggetti al di fuori di script (anche se ho scelto JSON non XML). Le mie ragioni per farlo sono di semplificare l'implementazione dei salvataggi e anche perché penso che questo tipo di configurazione sia meglio organizzato in qualcosa come XML o JSON.
@ Risposta di Christopher Larsen: Troppo lungo per pubblicare un commento come
Temo che potresti esserti discostato un po 'dall'argomento della domanda. I problemi che stai descrivendo sono più correlati alle entità basate sulla gerarchia; nota nella mia domanda che ho menzionato stavo parlando di entità basate su componenti.
Ecco un esempio di ciò che volevo chiedere. Di seguito sono due modi alternativi per configurare un'entità: tramite lo script e tramite un file JSON esterno. La mia domanda era: perché così tante persone preferiscono configurare l'entità al di fuori degli script?
Una classe di entità base:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
L'approccio alla sceneggiatura:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
L'approccio JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Ho già dichiarato le mie ragioni per utilizzare questo approccio, che sono tecniche e organizzative. Volevo sapere perché così tanti altri (da quello che ho visto) usano questo.