Tôi đã thấy rất nhiều trò chơi xác định các thành phần thực thể trong tệp tập lệnh, nhưng khi chúng định cấu hình từng thực thể và chỉ định thành phần nào có, chúng sử dụng một số định dạng tệp khác (như XML). Tại sao họ làm điều đó?
Tôi đang hỏi chủ yếu để xem lý do của người khác là gì cho việc này. Tôi cũng định cấu hình các thực thể của mình bên ngoài các tập lệnh (mặc dù tôi đã chọn JSON chứ không phải XML). Lý do của tôi để làm điều này là để giúp tôi dễ dàng thực hiện lưu trò chơi hơn và cũng vì tôi nghĩ loại cấu hình này được tổ chức tốt hơn trong một cái gì đó như XML hoặc JSON.
Câu trả lời của @ Christopher Larsen: Quá lâu để đăng bình luận
Tôi sợ bạn có thể đã đi lệch một chút so với chủ đề của câu hỏi. Các vấn đề bạn đang mô tả có liên quan nhiều hơn đến các thực thể dựa trên phân cấp; lưu ý trong câu hỏi của tôi, tôi đã đề cập đến việc tôi đang nói về các thực thể dựa trên thành phần.
Đây là một ví dụ về những gì tôi muốn hỏi. Dưới đây là hai cách khác nhau để định cấu hình một thực thể: thông qua tập lệnh và thông qua tệp JSON bên ngoài. Câu hỏi của tôi là, tại sao nhiều người thích cấu hình thực thể bên ngoài các tập lệnh?
Một lớp thực thể cơ sở:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
Cách tiếp cận kịch bản:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
Cách tiếp cận JSON:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
Tôi đã nêu lý do của tôi để sử dụng phương pháp này, đó là kỹ thuật và tổ chức. Tôi muốn biết lý do tại sao rất nhiều người khác (từ những gì tôi đã thấy) sử dụng điều này.