Nhìn bề ngoài, Entity-Element có vẻ như là một cách tốt để lập trình trò chơi. Tất cả mọi thứ là một đối tượng trò chơi và những đối tượng trò chơi được tạo thành từ các thành phần. Điểm hấp dẫn là các thành phần rất linh hoạt, chỉ cần bạn "thêm" chúng vào đối tượng trò chơi để kế thừa chức năng của nó.
Vì vậy, rõ ràng một ví dụ tốt có thể là một nền tảng mà nhân vật phải nhảy vào. Có lẽ thứ này có một máy va chạm, một thành phần chuyển động, có thể là một thành phần xoay hoặc thậm chí có thể là một "Xoay vòng cứng". Được rồi, nghe có vẻ hay, chỉ cần thêm tất cả các thành phần này vào đối tượng trò chơi và thế là xong, bạn có chức năng bổ sung này. Tuy nhiên, tôi thấy rằng mức độ phức tạp này là nơi mà tính hữu dụng của nó kết thúc.
Hãy thử điều này với các menu, chuyển động nhân vật phức tạp với nhiều trạng thái, ý tưởng trừu tượng như chế độ trò chơi hoặc trạng thái trò chơi, và tính linh hoạt và mô đun của bạn bị phá hủy. Menu liên quan đến rất nhiều chi tiết cụ thể, chuyển động nhân vật phức tạp thường liên quan đến nhiều trạng thái có nghĩa là cần phải giao tiếp giữa các thành phần này hoặc phải có một thành phần điều khiển được tạo ra chỉ dành cho loại nhân vật này. Trên hết, một số thành phần sẽ cần phải dựa vào trạng thái trò chơi theo một cách nào đó.
Tôi thấy rất ít lợi ích để lập trình theo cách này so với thừa kế thông thường. Việc thiếu cấu trúc đối tượng tại thời gian biên dịch khiến cho việc thực hiện rất nhiều thứ trở nên rất khó khăn và không đáng tin cậy.
Tôi cảm thấy cách tốt nhất và dễ dàng nhất về mọi thứ sẽ là sử dụng các thành phần lớn hơn với nhiều phụ thuộc hơn. Tôi không thấy đây là một vấn đề (giống như kiến trúc 4 không thực), nhưng sau đó tôi tự hỏi điểm nào trong kiến trúc Thực thể-Thành phần.