Я бачив багато ігор, які визначають компоненти сутності у файлах сценаріїв, але коли вони конфігурують кожну сутність і вказують, які компоненти у неї є, вони використовують якийсь інший формат файлів (наприклад, XML). Чому вони роблять це?
Я здебільшого я прошу подивитися, на чому обґрунтовували це питання інші. Я також конфігурую свої об'єкти поза сценаріями (хоча я вибрав JSON не XML). Мої причини для цього полягають у тому, щоб мені було легше реалізовувати ігри збереження, а також тому, що я думаю, що така конфігурація краще організована в щось на зразок XML або JSON.
@ Крістофер Ларсен відповідь: Занадто довго, щоб залишити коментар
Я боюся, що ви могли дещо відхилитися від теми запитання. Проблеми, які ви описуєте, більше пов'язані з ієрархічними об'єктами; Зауважте, у своєму запитанні я згадував, що говорив про об'єкти, що базуються на компонентах.
Ось приклад того, що я хотів запитати. Нижче наведено два альтернативних способи налаштування об'єкта: через сценарій та через зовнішній файл JSON. Моє запитання було, чому так багато людей вважають за краще налаштовувати суть за межами сценаріїв?
Базовий предметний клас:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
Підхід до сценарію:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
Підхід JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Я вже заявив про свої причини використання такого підходу, які є технічними та організаційними. Я хотів знати, чому так багато інших (з того, що я бачив) використовують це.