เจาะลึกผู้พัฒนา: คะแนนรายบุคคลใน Hearthstone Battlegrounds
สวัสดีครับ! ผมชื่อเถียน เป็นนักวิทยาการข้อมูลอาวุโสในทีมงาน Hearthstone และวันนี้ผมจะมาพูดถึงระบบการคำนวณที่นำมาสู่คะแนนของคุณใน Hearthstone Battlegrounds ครับ!
หลังจากคุณได้ลองเลือกซื้อมินเนี่ยนในโรงเตี๊ยม จัดตำแหน่งมินเนี่ยนอย่างรอบคอบ และทำทริปเปิ้ลมากมายในเกมแรกของคุณ คุณก็จะสังเกตเห็นว่าคะแนนของคุณเพิ่มหรือลดตามอันดับที่คุณทำได้ในเกมนั้น หลังจากเห็นการเปลี่ยนแปลงของคะแนนนี้ คุณก็อาจจะรู้สึกสงสัยว่า "คะแนนตรงนี้คืออะไรกันแน่ และคะแนนของฉันกับคะแนนของคู่ต่อสู้มาจากไหน"
ผมมีคำตอบสำหรับคำถามเหล่านั้น รวมถึงคำถามอื่นๆ ที่คุณอยากรู้ เพื่อช่วยให้คุณได้รู้เบื้องหลังการคำนวณคะแนน Battlegrounds ครับ
คะแนนคืออะไร
คะแนนของคุณใน Hearthstone Battlegrounds เป็นมากกว่าตัวเลขธรรมดา คะแนนของคุณแสดงถึงระดับทักษะของคุณใน Hearthstone Battlegrounds (ยิ่งคะแนนสูง ก็หมายความว่าคุณเล่นได้ดีมาก) นอกจากนี้ คะแนนก็ช่วยให้เราสามารถจับคู่ผู้เล่นอีกเจ็ดคนที่อยู่ในระดับทักษะใกล้เคียงกันอีกด้วย ช่วยให้แต่ละเกมที่คุณเล่นเป็นเกมที่รู้สึกยุติธรรมที่สุด
เป้าหมายของระบบคะแนนของเราคือการสร้างระบบที่ผู้เล่นส่วนใหญ่อยู่ใกล้ "คะแนนกึ่งกลาง" (Rating Spectrum) เมื่อเราดูคะแนนของผู้เล่นทุกคนใน Hearthstone Battlegrounds ในทางคณิตศาสตร์ การแจกแจงคะแนนจะเป็นไปตามกราฟรูประฆังคว่ำที่เรียกว่าการแจกแจงแบบปกติ (Normal Distribution) ถ้าดูจากการออกแบบระบบคะแนนของเรา หากในวันที่สองของช่วงโอเพ่นเบต้านั้น คะแนนของคุณอยู่ที่ 4200 ก็นับได้ว่าคุณมีทักษะการเล่นที่สูงกว่า 77% ของผู้เล่นที่เล่น Battlegrounds หากคะแนนของคุณอยู่ที่ 5000 ก็นับได้ว่าคุณอยู่สูงกว่า 99% ของผู้เล่นทั้งหมด
คะแนนหลังจบแต่ละแมตช์ได้รับการอัพเดตอย่างไร
หนึ่งในเป้าหมายสำคัญของระบบคะแนนคือการระบุระดับทักษะที่แท้จริงของคุณอย่างรวดเร็ว และนำไปสู่การสร้างแมตช์ที่ทำให้คุณรู้สึกได้ว่าเป็นแมตช์ที่สูสีและยุติธรรม เพื่อบรรลุเป้าหมายดังกล่าว ผมจึงต้องพูดถึงปัจจัยใหม่ นั่นคือค่าความแปรปรวน (Variance)
ค่าความแปรปรวนคือตัวเลขที่เกี่ยวข้องกับคะแนนของคุณ แต่ไม่ได้แสดงให้คุณเห็นอย่างชัดเจน ค่านี้เป็นตัวระบุว่าเรามั่นใจในระดับทักษะของคุณมากน้อยแค่ไหน เมื่อคุณเพิ่งเริ่มเล่น Battlegrounds เราก็ยังไม่มั่นใจว่าระดับทักษะที่แท้จริงของคุณอยู่ ณ จุดใด เพราะคุณเล่นไปแค่ไม่กี่แมตช์ เรามีข้อมูลไม่เพียงพอที่จะระบุได้ว่าผลงานของคุณเปลี่ยนไปมากแค่ไหนเมื่อผ่านไปหลายๆ แมตช์ ดังนั้นค่าความแปรปรวนของคุณในช่วงนี้จะค่อนข้างสูง หลังจากที่คุณเล่นไปเรื่อยๆ ค่าความแปรปรวนของคุณก็มีแนวโน้มที่จะลดลง เพราะเราเริ่มมั่นใจมากขึ้นว่าระดับทักษะที่แท้จริงของคุณอยู่ใกล้กับคะแนนของคุณ อย่างไรก็ตาม หากเราดูผลลัพธ์จากแค่แมตช์เดียว ค่าความแปรปรวนของคุณอาจจะเพิ่มขึ้นในกรณีที่ผลลัพธ์ดังกล่าวไม่เป็นไปตามที่เราคาดหวัง ตัวอย่างเช่น หากผู้เล่นที่มีคะแนนสูงๆ พ่ายแพ้ให้กับผู้เล่นบางคนที่มีคะแนนต่ำกว่ามาก ก็อาจทำให้ค่าความแปรปรวนของผู้เล่นที่มีคะแนนสูงเพิ่มขึ้น
เมื่อเราทราบคะแนนและค่าความแปรปรวนของผู้เล่นทั้งแปดคนในแมตช์แล้ว เราก็ต้องคำนวณโอกาสชนะของผู้เล่นแต่ละคนเมื่อเทียบกับผู้เล่นอีกเจ็ดคนที่เหลือในแมตช์ การคำนวณแต่ละครั้งจะคำนึงถึงปัจจัยทุกอย่างที่เรากล่าวถึงข้างต้น และเราก็ต้องคำนวณมากถึง 56 ครั้ง!
ทีนี้เรากลับมาพูดถึงการอัพเดตคะแนนกันดีกว่าครับ หลังจากแต่ละแมตช์ คะแนนของคุณจะได้รับการอัพเดตโดยอิงจากคะแนนของคุณ คะแนนของคู่ต่อสู้ของคุณ อันดับที่คุณทำได้ในแมตช์นั้น โอกาสชนะที่ระบบทำนาย ค่าความแปรปรวนของคุณ และปัจจัยอื่นๆ อีกหลายอย่าง โดยทั่วไปแล้ว หากคุณมีค่าความแปรปรวนสูง คุณจะเห็นคะแนนเปลี่ยนไปคราวละมากๆ หลังจากจบแมตช์ เมื่อคุณเริ่มเล่น Battlegrounds ครั้งแรก เราไม่มีข้อมูลเกี่ยวกับผลงานและระดับทักษะของคุณในอดีต ดังนั้นเป้าหมายหลักของเราคือการส่งคุณไปอยู่ในระดับคะแนนที่เหมาะสำหรับคุณมากที่สุด ค่าความแปรปรวนของคุณจะสูงกว่าปกติ และคะแนนของคุณก็จะเปลี่ยนแปลงคราวละมากๆ หลังจบแต่ละแมตช์ หลังจากคุณเล่นเกมไปเรื่อยๆ เราจะมีข้อมูลมากขึ้น ช่วยให้เราประเมินได้ว่าคะแนนของคุณอยู่ในระดับที่เหมาะสม และทำให้คะแนนเปลี่ยนแปลงไปคราวละน้อยๆ
เมื่อเร็วๆ นี้ เราได้อัพเดตวิธีการคำนวณคะแนนเมื่อคุณเริ่มเล่น Battlegrounds เราต้องการกำหนดให้คะแนนไม่แกว่งเกินไป ซึ่งส่งผลให้ผู้เล่นอยู่ในกลุ่มคะแนนที่ไม่ถูกต้อง และเราต้องการทำให้แน่ใจว่าคุณเข้าใกล้ MMR ที่แท้จริงของคุณทุกครั้งที่คุณเล่นแต่ละแมตช์ เราเพิ่มปริมาณคะแนนที่คุณได้รับและเสียไปหลังจากที่คุณเล่นเกมมากพอจนคะแนนอยู่ใกล้ระดับที่แท้จริง ทำให้คะแนนของคุณมีการเปลี่ยนแปลงมากขึ้น
สมมติว่าคู่ต่อสู้ของคุณทุกคนมีคะแนนเท่ากับคุณ ในระบบเดิม คุณจะได้รับประมาณ 240 คะแนนเมื่อคุณได้อันดับหนึ่งในเกมแรกของคุณ และจะได้รับ 24 คะแนนเมื่อคุณได้อันดับหนึ่งในเกมที่ 150 หรือเกมหลังจากนั้น หลังจากการเปลี่ยนแปลงเมื่อวันที่ 19 พฤศจิกายน คุณจะได้รับประมาณ 195 คะแนนเมื่อคุณได้อันดับหนึ่งในเกมแรกของคุณ และจะได้รับ 98 คะแนนเมื่อคุณได้อันดับหนึ่งในเกมที่ 150 หรือเกมหลังจากนั้น ผมต้องการเน้นด้วยว่าสูตรการคำนวณการอัพเดตคะแนนนั้นคำนวณปัจจัยหลายๆ อย่างตามที่ได้อธิบายไว้ข้างต้น การอัพเดตคะแนนที่แท้จริงไม่ใช่การเลือกดูเพียงปัจจัยเดียว โปรดทราบว่าการเพิ่มคะแนนที่ได้รับเช่นนี้ไม่ได้หมายความว่าคุณจะได้คะแนนเพิ่มขึ้นจากเดิมเสมอ หากคะแนนของคุณคือคะแนนที่ตรงกับระดับทักษะของคุณจริงๆ คะแนนของคุณจะเพิ่มขึ้นและลดลงเรื่อยๆ แต่ก็จะอยู่ในระดับเดิมเมื่อคุณเล่นเกมมากพอ
นอกจากนี้ เรายังได้เพิ่มการปรับคะแนนเพื่อความก้าวหน้าเล็กน้อยหลังจากคุณเล่นแต่ละเกม การปรับคะแนนส่วนนี้เป็นการปรับเพิ่มคะแนนเสมอ และจะขึ้นอยู่กับคะแนนปัจจุบันของคุณ จนกว่าคะแนนคุณจะอยู่ที่ 6500 หรือสูงกว่านั้น ยิ่งคะแนนของคุณต่ำ การปรับค่าก็จะยิ่งสูงขึ้น ดังนั้นในทางทฤษฎีแล้ว ยิ่งคุณเล่น Battlegrounds บ่อย คุณก็จะมีแนวโน้ม "เพิ่ม" คะแนนของคุณ (ตราบใดที่คะแนนของคุณอยู่ต่ำกว่า 6500) และการปรับคะแนนส่วนนี้จะมีผลไม่ว่าคุณจะแพ้หรือชนะ ถือว่าเป็นการช่วยเพิ่มคะแนนเล็กน้อยเมื่อคุณเล่น Battlegrounds แต่ละครั้ง
เราขอทิ้งท้ายด้วยการตอบคำถามที่ผู้ที่คุ้นเคยกับอัลกอริทึมการจัดอันดับคงนึกสงสัยอยู่ ว่าทำไมอัลกอริทึมจัดอันดับที่ได้รับความนิยมอย่าง Elo หรือ Glicko จึงเป็นตัวเลือกที่ไม่เหมาะสมสำหรับเรา เราได้จำลองการเล่นเกมจำนวนมหาศาล และผลลัพธ์ที่ได้ก็แสดงให้เห็นว่าอัลกอริทึมของเรามีระยะเวลาทำงานที่รวดเร็วที่สุด (ช่วยให้ผู้เล่นค้นหาเกมได้อย่างรวดเร็ว) และความแม่นยำสูงสุด (ช่วยให้ผู้เล่นมีประสบการณ์การเล่นที่ดี) นอกจากนี้ระบบ Elo และ Glicko ยังเป็นระบบที่ได้รับการออกแบบมาสำหรับเกมที่มีผู้เล่น 2 คน ไม่ใช่เกมที่มีผู้เล่น 8 คนครับ
เราหวังว่าคุณจะสนุกไปกับ Hearthstone Battlegrounds! เรารับฟังความคิดเห็นของคุณอย่างต่อเนื่อง และคุณสามารถแสดงความคิดเห็นเกี่ยวกับการจับคู่และคะแนนในโหมดนี้ได้เลย แล้วพบกันในโรงเตี๊ยม!