Phát hiện các chiến thắng trong các trò chơi RTS ngang hàng như Starcraft


8

Một trò chơi RTS điển hình được triển khai với mô hình mạng tiêu chuẩn: bước ngang hàng ngang hàng.

Hãy xem xét Starcraft 2, vì Battle.net có lẽ không biết gì về trạng thái của trò chơi khi chỉ có sự giao tiếp giữa hai người chơi trong một mô hình ngang hàng, làm sao Battle.net biết ai là người chiến thắng cuối cùng . Dựa vào hai đồng nghiệp để không cố gắng gian lận và báo cáo kết quả chính xác là ngây thơ.


2
"Dựa vào hai đồng nghiệp để không cố gắng gian lận và báo cáo kết quả chính xác là ngây thơ." Tại sao? Nếu hai người không đồng ý, thì rõ ràng có ai đó đã làm hỏng việc. Và vì chỉ có một người chơi có thể giành chiến thắng, nếu họ báo cáo điều tương tự, thì vấn đề là gì? Hai người có thể gian lận, nhưng chỉ một trong số họ có thể giành chiến thắng .
Nicol Bolas

1
Trên thực tế, nó thậm chí còn vui hơn. Như @Nicol đã đề cập, miễn là hai người chơi đồng ý, máy chủ sẽ không bận tâm đến việc tranh cãi. Bạn có thể sử dụng điều này làm cơ sở để thiết lập cấp độ kỹ năng cơ bản của người chơi, cũng như độ tin cậy của họ, có thể được sử dụng để xác định khả năng người chiến thắng tranh chấp thực sự thuộc về ai. Máy chủ cũng có thể yêu cầu phát lại dữ liệu, mặc dù vì bạn cũng có thể nói dối về điều đó ...
Clockwork-Muse

Câu trả lời:


3

Nếu tôi nhớ chính xác, SC2 thực sự không phải là ngang hàng; đó là máy chủ-máy khách với Battle.net (mặc dù vẫn có khóa xác định) nên đây không phải là vấn đề. Tuy nhiên, trong thế giới thực, việc tất cả các đồng nghiệp đồng ý với một số trạng thái hoặc kết quả của một số hoạt động ("người chiến thắng" chắc chắn là trạng thái được chia sẻ trong thời điểm này) là điều không thể trong thời gian bị ràng buộc. Hãy xem bằng chứng chính thức cho vấn đề Byzantine Generals và cả vấn đề đồng thuận của Fischer. Đây là một điểm khởi đầu tốt (nhìn vào các trích dẫn và đọc chúng): Đồng thuận (Khoa học máy tính)


0

Nếu tất cả người chơi đồng ý, thì đó rõ ràng là chính xác. Khác, trạng thái của trò chơi là không hợp lệ và không ai "thắng". Tuy nhiên, lưu ý rằng bạn có thể sử dụng SSL để mã hóa thông tin liên lạc giữa BNet và ứng dụng khách trò chơi - điều rõ ràng phải tồn tại, làm thế nào khác có thể tồn tại các tính năng như trò chuyện trong trò chơi? Không có lý do để tin rằng các khách hàng không giao tiếp với Battle.NET trong một trò chơi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.