He visto muchos juegos que definen los componentes de la entidad en los archivos de script, pero cuando configuran cada entidad y especifican qué componentes tiene, usan algún otro formato de archivo (como XML). ¿Por qué hacen eso?
Estoy pidiendo sobre todo para ver cuál era la razón de los demás para esto. Yo también configurar mi entidades fuera de los guiones (aunque no he elegido JSON XML). Mis razones para hacer esto son facilitarme la implementación de juegos guardados y también porque creo que este tipo de configuración está mejor organizada en algo como XML o JSON.
Respuesta de @ Christopher Larsen: demasiado tiempo para publicar como comentario
Me temo que podría haberse desviado un poco del tema de la pregunta. Los problemas que está describiendo están más relacionados con entidades basadas en la jerarquía; Nota en mi pregunta mencioné que estaba hablando de entidades basadas en componentes.
Aquí hay un ejemplo de lo que quería preguntar. A continuación hay dos formas alternativas de configurar una entidad: a través del script y a través de un archivo JSON externo. Mi pregunta fue, ¿por qué tanta gente prefiere configurar la entidad fuera de los scripts?
Una clase de entidad base:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
El enfoque del guión:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
El enfoque JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Ya dije mis razones para usar este enfoque, que son técnicas y organizativas. Quería saber por qué tantos otros (por lo que he visto) usan esto.