Gần đây tôi đã bắt đầu thiết kế một Game Engine bằng cách sử dụng mô hình Entity System, tức là có các thực thể như một tập hợp các thành phần và các hệ thống thực hiện trò chơi thực tế. Trong khi tôi gặp khó khăn ở nhiều khía cạnh khác nhau, điều tôi quan tâm nhất là sự trừu tượng / mô đun hóa của các Thành phần / Hệ thống khác nhau. Cụ thể, giả sử tôi Player
có một số trạng thái hoạt hình, ví dụ. Walking
, Sleeping
, Jumping
, Và một loại Opponent
thực thể có một số (không nhất thiết phải giống nhau) tiểu bang là tốt, ví dụ. Walking
, Hiding
Vv
Tôi nên thiết kế động cơ như thế nào để nó xử lý các trạng thái (hoạt hình) khác nhau của từng loại thực thể? Nên có hệ thống hoạt hình khác nhau cho từng loại Thực thể? Tôi có nên sử dụng các cờ báo hiệu Hệ thống hoạt hình để hiển thị đúng thực thể không? Ngoài ra, tôi có thể tránh sử dụng enum "mã hóa cứng" cho các tư thế khác nhau không? Tôi có thể thấy rằng một hệ thống kịch bản có thể có thể giúp đỡ, nhưng tôi gần như chắc chắn có một giải pháp đơn giản hơn.
if
trong số các hệ thống hoạt hình; Trước đây tôi đã hoài nghi về việc sử dụng từ điển của các chuỗi (trong C ++), bộ nhớ khôn ngoan. Đọc hôm nay về hashtables, tôi thấy câu trả lời của bạn đủ đơn giản. Về phần 'máy xay sinh tố': "Thêm 50% đi bộ" có nghĩa là thay thế một số khung hình bằng các khung 'đi bộ' với 50% thời gian không?