Eu já vi muitos jogos que definem os componentes da entidade nos arquivos de script, mas quando eles configuram cada entidade e especificam quais componentes ela possui, eles usam algum outro formato de arquivo (como XML). porque eles fazem aquilo?
Estou pedindo principalmente para ver qual era a lógica dos outros para isso. Eu também configurar meus entidades fora dos roteiros (embora eu escolhi JSON não XML). Minhas razões para fazer isso são facilitar a implementação de jogos salvos e também porque acho que esse tipo de configuração é melhor organizado em algo como XML ou JSON.
@ Resposta de Christopher Larsen: Muito tempo para postar como comentário
Receio que você tenha se desviado um pouco do assunto da pergunta. Os problemas que você está descrevendo estão mais relacionados a entidades baseadas em hierarquia; Observe na minha pergunta que mencionei que estava falando sobre entidades baseadas em componentes.
Aqui está um exemplo do que eu queria perguntar. Abaixo estão duas maneiras alternativas de configurar uma entidade: por meio do script e por um arquivo JSON externo. Minha pergunta era: por que tantas pessoas preferem configurar a entidade fora dos scripts?
Uma classe de entidade base:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
A abordagem do script:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
A abordagem JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Eu já afirmei minhas razões para usar essa abordagem, que são técnicas e organizacionais. Eu queria saber por que tantos outros (pelo que vi) usam isso.