Nếu không có những cái phổ biến, thì tại sao không?
Bởi vì không có gì giống với sự đồng thuận về cách một khung như vậy sẽ hoạt động.
Trên một chủ đề trên Gamedev.net tôi đã xác định rằng khi mọi người nói về các hệ thống trò chơi dựa trên thành phần, thực tế có ít nhất 8 hoán vị có thể về cách họ mong đợi chúng hoạt động, dựa trên 3 yếu tố khác nhau:
Trong và ngoài - các thành phần nên được tổng hợp thành một thực thể, hay chúng nên là một phần của hệ thống con và chỉ được liên kết bởi một ID thực thể?
Thành phần tĩnh so với động - nên các thực thể bao gồm một tập hợp các thành phần đã biết (ví dụ: 1 Vật lý, 1 Hoạt hình, 1 AI, v.v.) có thể giao tiếp bằng mã thông qua các giao diện nổi tiếng hoặc các thực thể có thể có số lượng thành phần tùy ý được thêm vào chúng (với các chiến lược liên quan để định vị các thành phần quan tâm khác)
Dữ liệu trên thành phần so với dữ liệu trên thực thể - Dữ liệu có nên được giữ bởi thành phần chủ yếu hoạt động theo nó không? Hoặc dữ liệu nên được lưu trữ trên thực thể trong một không gian chung, có thể truy cập bởi tất cả các thành phần?
Ngoài ra còn có nhiều câu hỏi khác về cách các thành phần nên giao tiếp (thông qua dữ liệu được chia sẻ? Thông qua con trỏ chức năng? Qua tín hiệu / khe cắm? Hoặc không phải tất cả?), Làm thế nào để cập nhật (theo thứ tự cố định dựa trên loại thành phần? thứ tự ưu tiên được xác định tại thời điểm tạo? dựa trên một loại cấu trúc liên kết cấu thành liên kết cấu trúc?), v.v.
Mỗi lựa chọn này là hoàn toàn tùy ý và bất cứ điều gì bạn có thể làm với một hệ thống đều có thể được thực hiện với hệ thống kia. Nhưng cách mà bạn phải mã hóa nó khá khác nhau trong từng trường hợp. Và mọi người dường như có ý kiến mạnh mẽ về cách làm việc tốt nhất cho họ.
Ngay bây giờ mọi người vẫn còn bị cuốn vào ý tưởng rằng các thành phần bằng cách nào đó thay thế cho hướng đối tượng (mà chúng không phải) và cũng tưởng tượng rằng chúng là một sự thay đổi lớn từ cách các trò chơi được tạo ra theo cách truyền thống (một lần nữa, chúng không phải là - mọi người đã tìm ra các hệ thống con khác nhau trong các thực thể của họ từ lâu), vì vậy có rất nhiều sự cường điệu và không có nhiều thỏa thuận. Có thể trong một vài năm mọi thứ sẽ ổn định và mọi người sẽ giải quyết theo một hoặc hai cách tiếp cận khá chuẩn.