Cách đơn giản nhất hiệu quả nhất để xếp hạng và đo lường kỹ năng của người chơi trong môi trường nhiều người chơi?


12

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 nghĩ một chút chủ quan / rộng rãi, bạn nghĩ đến thể loại game nào? (Tôi không thấy một trò chơi fps và đua xe chia sẻ một phương pháp xếp hạng đơn giản). Có lẽ đây nên là cộng đồng wiki-ed và được lập thành một danh sách các thuật toán / phương pháp / phần mềm trung gian / bất cứ điều gì?
Riley Adams

Hầu hết các hệ thống xếp hạng sử dụng tỷ lệ thắng, thua và trận đấu. Sau đó nhường chỗ cho các điều kiện cụ thể của trò chơi để hầu hết các phương pháp nên hoạt động với điều chỉnh nhỏ.
Wight

1
Có bất kỳ vấn đề bằng sáng chế với TruSkill? Microsoft đã xây dựng nó và họ không được biết là thân thiện với cộng đồng.
deft_code

2
Nếu bạn tránh các thuật toán có thể được cấp bằng sáng chế, bạn sẽ không thể làm bất cứ điều gì thiết thực. Nếu bạn biết một cái gì đó được cấp bằng sáng chế và sử dụng nó bằng mọi giá, bạn có thể sẽ bị thiệt hại nhiều hơn nếu bạn bị kiện. Vì vậy, giả sử không, nó không được cấp bằng sáng chế - nó đã được đăng ký nhãn hiệu, vì vậy đừng gọi nó là "TrueSkill" trừ khi bạn đang sử dụng Xbox Live.

2
Thật không may, TrueSkill được cấp bằng sáng chế nên sử dụng nó cho bất kỳ mục đích nào có thể gây nguy hiểm cho bạn.
Petr Pudlák

Câu trả lời:


10

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:

  • ELO
  • một biến thể ELO của Days of Wonder
  • TrueSkill (và glicko, mà nó dường như được dựa trên hoặc ít nhất là tương tự như)
  • Xếp hạng eGenesis (cho Tales in the Desert)

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.)


"Đơn giản nhất hiệu quả nhất" chỉ là một mánh gian lận để ngăn chặn việc buộc phải biến đây thành một wiki cộng đồng.
Hendrik Brummermann

7

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.


Mọi thứ về thiết kế luôn là sự cân bằng =)
Wight

3

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.


Tôi chỉ tìm kiếm một sự thay thế có thể được điều chỉnh dễ dàng hơn. Giống như những gì Starcraft 2 đã sử dụng. Nhưng TrueSkill là một biện pháp tốt, thật khó để đưa các biện pháp chơi vào phương sai.
Wight

2

Thế còn một hệ thống cặp đôi như elo thì sao? Nó đã được sử dụng cho lứa tuổi trong các môn thể thao "bình thường" với kết quả tuyệt vời.

Đối với tất cả các trận đấu miễn phí, bạn có thể hiểu chúng là một loạt các trận đấu theo cặp và gán điểm dựa trên bảng xếp hạng tương đố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.