Tôi đã suy nghĩ một thời gian về việc tạo ra một trò chơi 2D RTS trực tuyến. (2-6 người chơi trong một trận đấu, tối đa 50-60 đơn vị, không có AI). Điều quan trọng ở đây là tôi muốn trò chơi có thể chơi được trên trình duyệt, vì vậy nó sẽ phải là flash hoặc java applet, cả hai đều sử dụng socket TCP. Lúc đầu, tôi hoàn toàn tập trung vào flash vì khả năng tiếp cận thị trường và khả năng tiếp cận cao hơn. Tuy nhiên, sau khi xem xét các phương pháp kết nối mạng khác nhau, tôi không thể đưa ra lựa chọn.
Tôi thực sự thích cách tiếp cận mô phỏng bước khóa trong đó máy chủ và mọi khách hàng đang chạy cùng một mô phỏng, cho đến khi tôi nhận ra rằng sẽ khó khăn như địa ngục (nếu không thể) thực hiện chính xác cùng một logic trong hai ngôn ngữ khác nhau, một trong hai ngôn ngữ là hành động. Đây là nơi java xuất hiện. Với java client và máy chủ có thể chia sẻ mã liên quan đến mô phỏng - điều đó cũng có thể cắt giảm một nửa thời gian phát triển.
Nhưng sau đó, có một cách tiếp cận khác, trong đó khách hàng cố gắng mô phỏng (hay đúng hơn là ngoại suy) trạng thái trò chơi một cách chính xác càng lâu càng tốt, nhưng họ không phải làm đúng - đến một lúc nào đó họ sẽ nhận được toàn bộ trạng thái chụp nhanh Điều chỉnh phù hợp. Flash trông giống như một lựa chọn khả thi một lần nữa, nhưng vẫn, mô phỏng bước khóa có vẻ đơn giản hơn nhiều, vì không có phần "điều chỉnh".
Vậy giả định của tôi có đúng không? Bạn muốn đề nghị gì?