Tôi đang xem xét làm thế nào để thực hiện một trò chơi dựa trên thành phần, vì đó dường như là điều nóng bỏng và tôi thích ý tưởng về một thiết kế linh hoạt như vậy. Một trong những tính năng của thiết kế như vậy là việc thêm những thứ mới vào trò chơi có thể được thực hiện thông qua dữ liệu, thường được trình bày dưới dạng tải nội dung thông qua các tệp văn bản như XML. Điều này có lợi thế là con người có thể đọc và dễ dàng chỉnh sửa trong bất kỳ trình soạn thảo văn bản nào. Mặt khác, văn bản có thể chậm hơn để xử lý và bạn phải quản lý một bộ sưu tập lớn các tệp dữ liệu. Các định dạng dựa trên văn bản tương tự như tệp JSON hoặc tệp cấu hình sẽ có lợi ích tương tự.
Mặt khác, có các cơ sở dữ liệu nhỏ, di động như SQLite hoặc Nội các Tokyo. Mặc dù không thể trực tiếp đọc được con người, nhưng các tệp này rất dễ giao tiếp và tôi tưởng tượng một loại công cụ chỉnh sửa nào đó sẽ thích hợp hơn cho thiết kế nội dung trò chơi. Sử dụng DB cho phép lưu trữ nhất quán thông tin cấu hình và dễ dàng truy xuất. Bạn cũng có thể tuần tự hóa dữ liệu vào DB để lưu trò chơi.
Hiệu suất khôn ngoan, tôi nghĩ rằng nói chung XML nhanh hơn đối với các tệp nhỏ nhưng cơ sở dữ liệu chia tỷ lệ tốt hơn với lượng lớn dữ liệu. Tôi tưởng tượng bất kỳ trò chơi thực sự nào cũng sẽ có rất nhiều đối tượng trò chơi.
Vì vậy, câu hỏi: phương pháp nào là thích hợp hơn? Tôi đang nghiêng về DB, nhưng tôi muốn biết liệu có những cạm bẫy tiềm ẩn hoặc lợi thế thực sự mạnh mẽ đối với các tệp văn bản. Hoặc nếu có những lựa chọn thay thế khác ngoài những điều này (nối tiếp sang định dạng nhị phân tôi đoán vậy?)