LỜI NÓI ĐẦU
Đối với những ai đã từng là game thủ, khi chơi game, đặc biệt là các game online, chắc hẳn đều đã nghe đến thuật ngữ “rank” và thấm thía được được giá trị xương máu của nó.
Khi còn trẻ (trâu), có những lúc tôi thức suốt đêm để lao đầu vào các trận đấu (cụ thể luôn là Dota2) chỉ vì một vài điểm xếp hạng. Không ai có thể phủ nhận ma lực của các hệ thống xếp hạng trong game.
Nó vẫn luôn là một trong các lí do khiến chúng ta tiêu tiền vào game nhiều nhất.
[Tìm hiểu thêm] Các lí do khiến người chơi trả tiền cho game.1. Xếp hạng là gì?
“Xếp hạng” là cấp bậc của người chơi trong game. Trong các game online, để có được các cấp bậc này này, người chơi phải tham gia các trận đấu xếp hạng (Ranked Match).
Lượng người chơi ở các trận đấu này luôn nằm ở mức vượt trội so với các phần còn lại của game.
Khái niệm thì có lẽ nhiều người đã biết. Câu hỏi đặt ra là: “Làm thế nào nào để có thể thiết kế một hệ thống xếp hạng đủ sức hấp dẫn?”
2. Các yếu tố chính của một hệ thống xếp hạng
Hệ thống xếp hạng được xây dựng trên một bộ khung xương vững chắc, cấu thành từ các yếu tố sau
- Giá trị của người chơi (Elo)
- Ghép trận (Matchmaking)
- Cấp bậc (Rank)
Giá trị của người chơi
Elo là một thuật ngữ khá phổ biến trong môn cờ vua. Elo được đặt theo tên của chính người phát minh ra nó – hệ thống xếp hạng Elo – Árpád Elo
[Tìm hiểu thêm] Hệ thống xếp hạng Elo?
Trong game, giá trị của người chơi – Elo – có thể hiểu như là đơn vị dùng để đo vị trí của người chơi trong game của bạn.
Các đại lượng dùng để đánh giá có thể kể đến: tỉ lệ trận Thắng/Thua (Win/Lose), Điểm (score), Kill/Death (Tiêu diệt/Bị tiêu diệt), thậm chí có thể là lượng tiền mà người chơi đó đã nạp cho game.
Ghép trận
Ghép trận – matchmaking – là phương thức để đưa những người chơi có cùng mức Elo vào trong một trận đấu. Phương thức ghép trận càng tốt, người chơi sẽ càng cảm thấy sự hấp dẫn và công bằng trong sản phẩm của bạn.
Điểm Elo được dùng như phần thưởng chính cho các trận đấu này. Hệ thống luôn bao gồm một cơ chế cộng/trừ điểm rõ ràng.
Cấp bậc
Cấp bậc là hình thức đánh giá và vinh danh người chơi. Thông thường sẽ kèm theo các phần thưởng có giá trị trong game.
Cấp bậc cũng là một phương thức để thể hiện sự cạnh tranh giữa các người chơi với nhau.
3. Thiết kế hệ thống ghép trận dựa trên Elo
Như đã đề cập ở trên, trong ba yếu tố chính(Elo, MatchMaking và Rank) thì Elo và Matchmaking có liên hệ mật thiết với nhau trong việc thiết kế nên hệ thống ghép trận.
Matchmaking nhận nhiệm vụ giúp cho các người chơi có cùng hoặc gần bằng Elo có thể gặp nhau.
Giả thuyết đặt ra cho một trậu đấu PVP 1v1, bài toán có thể được giải quyết như sau:
- Hầu hết người chơi khi đấu xếp hạng đều cần chờ tìm đối thủ phù hợp – tạm gọi thời gian chờ mỗi phiên là Delta Time.
- Trong những giây đầu tiên của việc Matchmaking, hệ thống sẽ tìm kiếm những đối thủ có elo gần với người chơi nhất – khoảng chênh lệch gọi là Matching Elo.
- Sau một khoảng thời gian nhất định, nếu không tìm được đối thủ trong khoảng Matching Elo phù hợp thì nới khoảng này lên – gọi là Delta Elo.
Vậy chúng ta có 3 đại lượng (Delta Time, Matching Elo, Delta Elo) cho ví dụ:
Một người chơi có Elo = 100, anh ta ở hạng Bạc, Matching Elo cho hạng này là 20. Delta Elo = 10. Delta Time = 30s
- Bắt đầu tìm trận, hệ thống sẽ quét các người chơi có Elo từ 80 – 120, lựa chọn những người chơi có điểm tiệm cần gần với player đang tìm trận nhất.
- Sau 30s. Nếu không có đối thủ phù hợp thì quét trong 70 – 130 (cộng thêm Delta Elo vào).
Quá trình này diễn ra liên tục cho đến khi tìm được đối thủ.
4. Các vấn đề phát sinh
Thời gian tìm trận quá lâu
Dĩ nhiên công thức trên chỉ là thể hiện cơ bản, bạn cần tìm được một phương trình tăng tuyến tính cho Delta Time và Delta Elo phù hợp với game của mình để đảm bảo người chơi không phải đợi quá lâu.
Không tìm được đối thủ ở bậc xếp hạng cao
Ở các bậc xếp hạng cao, rõ ràng việc người chơi tìm được một đối thủ có Elo phù hợp với mình là điều rất khó, chưa kể đến thời gian chờ.
Hệ thống của bạn cần nhận biết những người chơi này để cấp cho họ một Delta Time và Delta Elo phù hợp.
Hãy đảm bảo rằng game của bạn có những phương thức chống SnowBall trong trong trường hợp người chơi tìm được đối thủ có trình độ thấp hơn họ.
LỜI KẾT
Thiết kế hệ thống xếp hạng trong game sao cho hấp dẫn chưa bao giờ là điều đơn giản, nhưng kết quả đạt được rất đáng để cho bạn cố gắng.
Hi vọng một vài phương pháp ở trên có thể giúp ích cho hệ thống mà bạn đang xây dựng. Nếu bạn có thắc mắc hoặc cách khác hay hơn, hãy bình luận để chia sẻ cho mình cùng biết với nhé.
Chúc bạn sớm tăng được Elo cho sự nghiệp Thiết kế Game của mình!