Tôi hiện đang thực hiện một dự án khá tham vọng. Nói tóm lại, đây là một game chiến thuật nhiều người chơi thời gian thực có cơ chế vi khuẩn.
Về cơ bản, tôi có hai người chơi từ xa trong môi trường và họ có thể sinh ra các đơn vị giống như vi khuẩn tấn công lẫn nhau và nhân lên, tự nhân đôi cho đến khi giới hạn tài nguyên bị tấn công. Điều này thường dẫn đến khoảng hơn 200 đối tượng trò chơi được hiển thị trên màn hình, mỗi đối tượng có trạng thái và chuyển động riêng. Điều này nghe có vẻ tệ, nhưng lối chơi cục bộ chống lại bot thực sự rất tốt và tôi đã xoay sở để làm cho nó khá hiệu quả.
Tuy nhiên, vấn đề phát sinh khi tôi cố gắng nối mạng trò chơi này. Tôi đã cố gắng làm theo hướng dẫn này để triển khai tính năng này: http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Điều này tạo ra một trải nghiệm trò chơi khá chậm, khó chịu ngay cả với độ trễ tốt nhất. Điều này có thể xảy ra do phải truyền dữ liệu chuyển động cho hàng trăm đơn vị.
Câu hỏi tôi đang đặt ra:
Làm cách nào tôi có thể tối ưu hóa kết nối mạng và đồng bộ hóa của nhiều đơn vị di chuyển giữa hai khách hàng?
Tôi đã nghĩ ra một cách để làm điều này. Sau khi sinh ra một đơn vị, chúng sẽ chỉ đi theo một hướng cho đến khi chúng chạm phải thứ gì đó - có lẽ tôi chỉ có thể đồng bộ hóa khi các đơn vị được sinh ra và khi chúng tương tác với một đối tượng khác? Điều này sẽ có nhiều lợi ích? Cách lý tưởng để thực hiện điều này là gì?
Cảm ơn trước phản hồi!