Tôi biết về thuật toán Truskill, nó khá phức tạp nhưng hiệu quả.
Câu hỏi của tôi là có các thuật toán / phương pháp khác để xác định kỹ năng của người chơi để đo lường chính xác để chơi cạnh tranh nhiều người chơi không?
Tôi biết về thuật toán Truskill, nó khá phức tạp nhưng hiệu quả.
Câu hỏi của tôi là có các thuật toán / phương pháp khác để xác định kỹ năng của người chơi để đo lường chính xác để chơi cạnh tranh nhiều người chơi không?
Câu trả lời:
Tôi nghĩ rằng yêu cầu "đơn giản nhất hiệu quả nhất" là một yêu cầu không thực tế, nhưng chắc chắn có một vài cách tiếp cận tốt. Thay vì đi vào chi tiết, tôi sẽ liên kết đến một bài viết:
http://www.lifewithalacrity.com/2006/01/ranking_systems.html
Điều này bao gồm:
Nhìn chung, bạn sẽ thấy rằng tất cả chúng đều có khá nhiều biến thể trong cùng một chủ đề - bạn chọn giá trị bắt đầu hoặc trung bình cho người chơi và sau đó các giá trị được sử dụng để dự đoán kết quả trò chơi. Sự khác biệt giữa kết quả thực tế và kết quả dự đoán được sử dụng để sửa đổi điểm số cho từng người chơi và quá trình lặp lại với điểm số được điều chỉnh. Vì mỗi lần sửa đổi điểm số làm cho kết quả dự đoán chính xác hơn, điểm số sẽ hội tụ theo giá trị 'thật' của chúng. (Điều này thực sự cho rằng đó là một trò chơi kỹ năng chứ không phải tình cờ, rằng kỹ năng được đề cập có khả năng được xếp hạng tuyến tính, v.v.)
Phụ thuộc vào trò chơi. Có một vài vấn đề bạn có thể gặp phải:
Đối với các trò chơi có thành phần may mắn và thành phần kỹ năng (Bridge, Poker, Magic: the Gathering, v.v.), hầu hết các thuật toán không tính đến thực tế là người chơi yếu hơn đôi khi có thể gặp may mắn. Nếu trò chơi của bạn rơi vào danh mục này, bạn sẽ cần thực hiện một số công việc. Nói chung, điều này có nghĩa là tìm ra bao nhiêu phần trăm là may mắn và bao nhiêu phần trăm là kỹ năng (một mẹo khó, nhưng nếu bạn đã sử dụng thuật toán dựa trên kỹ năng như Elo, bạn có thể chạy một số số liệu về kết quả để tìm ra mức độ thường xuyên của thuật toán dự đoán một sự buồn bã so với mức độ thường xuyên xảy ra). Sau đó, bạn phải thay đổi thuật toán, và chính xác những gì cần thay đổi nó có lẽ nằm ngoài phạm vi của câu hỏi này.
Đối với các trò chơi có thể điều khiển các trận đấu (tôi có thể chọn chơi một trò chơi xếp hạng với bạn tôi), bạn phải đặt thêm các biện pháp bảo vệ an toàn để ngăn người chơi ném các trận đấu một cách có chủ đích.
Đối với các trò chơi mà người chơi có thể "không tập luyện" nếu họ không chơi thường xuyên, hệ thống có thể liên quan đến một số loại suy thoái dựa trên thời gian. Hệ thống Glicko là một bản mod của Elo bổ sung biến "không chắc chắn" cho xếp hạng của mỗi người chơi, dựa trên số lượng trò chơi mà họ đã chơi và cách họ chơi gần đây; thứ hạng của người chơi càng chắc chắn thì càng ít thay đổi từ trò chơi này sang trò chơi khác.
Tất nhiên, các trò chơi nhiều người chơi (cho dù miễn phí cho tất cả, dựa trên đội hoặc một số cấu trúc người chơi khác) cần được chăm sóc đặc biệt. Một số trò chơi dựa trên nhóm giúp dễ dàng tìm ra sự đóng góp của mỗi cá nhân, so với các trò chơi khác.
Cũng hỏi mục đích của hệ thống xếp hạng / xếp hạng của bạn là gì. Trong các trò chơi và thể thao chuyên nghiệp, mục đích là thống kê: đánh giá được sử dụng như một công cụ dự đoán kết quả của bất kỳ trận đấu nào. Mục tiêu chính ở đây là sự chính xác. Tuy nhiên, đây hiếm khi là những gì người chơi muốn; thay vì họ muốn tiến bộ, một cảm giác họ đang trở nên tốt hơn và leo qua các cấp bậc (cho dù họ có thực sự trở nên tốt hơn hay không). Nói tóm lại, có một sự đánh đổi giữa độ chính xác và niềm vui mà bạn cần xem xét.
Bạn thấy điều gì phức tạp về TrueSkill ? Tôi nghĩ rằng đó là một thuật toán đơn giản với số lượng nút bấm phù hợp để điều chỉnh cho các chế độ trò chơi khác nhau và nó giảm xuống Elo khi trò chơi đối đầu với độ chắc chắn cao.
Nếu bạn đang tìm kiếm cách đơn giản nhất để xếp hạng và đo lường hiệu quả người chơi trong môi trường nhiều người chơi - đề xuất của tôi là TrueSkill.