วิธีที่มีประสิทธิภาพที่สุดในการจัดอันดับและวัดทักษะผู้เล่นในสภาพแวดล้อมแบบมัลติเพลเยอร์?


12

ฉันรู้เกี่ยวกับอัลกอริทึม Truskill มันค่อนข้างซับซ้อน แต่มีประสิทธิภาพ

คำถามของฉันมีอัลกอริธึม / วิธีอื่นในการกำหนดทักษะของผู้เล่นเพื่อการวัดที่แม่นยำสำหรับการแข่งขันที่มีผู้เล่นหลายคนหรือไม่?


ฉันคิดว่าเป็นอัตวิสัย / กว้าง ๆ เกมแนวไหนที่คุณคิดเป็นพิเศษ (ฉันไม่เห็นเกม fps และเกมแข่งรถที่แชร์วิธีการจัดอันดับอย่างง่าย) บางทีนี่อาจเป็นชุมชน wiki-ed และทำเป็นรายการอัลกอริทึม / วิธีการ / มิดเดิลแวร์ / อะไร?
Riley Adams

ระบบการจัดอันดับส่วนใหญ่ใช้การชนะแพ้และการจับคู่อัตราส่วน จากนั้นให้มีพื้นที่สำหรับเงื่อนไขเฉพาะของเกมดังนั้นวิธีการส่วนใหญ่ควรทำงานกับการปรับแต่งเล็กน้อย
ไวท์

1
มีปัญหาสิทธิบัตรกับ TruSkill หรือไม่? Microsoft สร้างขึ้นและพวกเขาไม่รู้จักว่าเป็นมิตรกับชุมชน
deft_code

2
หากคุณหลีกเลี่ยงอัลกอริทึมที่อาจได้รับการจดสิทธิบัตรคุณจะไม่สามารถทำสิ่งใดได้ในทางปฏิบัติ หากคุณรู้ว่ามีบางสิ่งที่ได้รับการจดสิทธิบัตรและใช้งานต่อไปคุณสามารถจบลงด้วยความเสียหายมากขึ้นหากคุณถูกฟ้องร้อง ดังนั้นสมมติว่าไม่ใช่ไม่ใช่สิทธิบัตร - เป็นเครื่องหมายการค้าดังนั้นอย่าเรียกว่า "TrueSkill" เว้นแต่ว่าคุณใช้ Xbox Live

2
น่าเสียดายที่ TrueSkill ได้รับการจดสิทธิบัตรดังนั้นการใช้เพื่อวัตถุประสงค์ใดก็ตามที่อาจเป็นอันตรายสำหรับคุณ
Petr Pudlák

คำตอบ:


10

ฉันคิดว่าการขอ "ความเรียบง่ายที่สุดที่มีประสิทธิภาพที่สุด" เป็นข้อกำหนดที่ไม่สมจริง แต่ก็มีวิธีการที่ดีอยู่บ้าง แทนที่จะเข้าไปดูรายละเอียดฉันจะเชื่อมโยงไปยังบทความ:

http://www.lifewithalacrity.com/2006/01/ranking_systems.html

ครอบคลุมนี้:

  • ELO
  • ตัวแปร ELO โดย Days of Wonder
  • TrueSkill (และ glicko ซึ่งดูเหมือนว่าอิงหรืออย่างน้อยก็คล้ายกับ)
  • การจัดอันดับ eGenesis (สำหรับ Tales in the Desert)

โดยรวมแล้วคุณจะเห็นว่าพวกเขาทั้งหมดมีรูปแบบที่แตกต่างกันมากในชุดรูปแบบเดียวกัน - คุณเลือกค่าเริ่มต้นหรือค่าเฉลี่ยสำหรับผู้เล่นจากนั้นค่าจะใช้ในการทำนายผลลัพธ์ของเกม ความแตกต่างระหว่างผลลัพธ์ที่เกิดขึ้นจริงและผลลัพธ์ที่คาดการณ์ไว้จะใช้ในการปรับเปลี่ยนคะแนนของผู้เล่นแต่ละคนและกระบวนการจะทำซ้ำด้วยคะแนนที่ปรับ เนื่องจากการปรับเปลี่ยนแต่ละครั้งให้คะแนนทำให้ผลลัพธ์ที่คาดการณ์มีความแม่นยำมากขึ้นคะแนนจึงมาบรรจบกับค่าที่ 'จริง' (สิ่งนี้ถือว่าจริงว่ามันเป็นเกมของทักษะมากกว่าโอกาสทักษะที่เป็นปัญหาสามารถจัดอันดับเป็นเส้นตรงเป็นต้น)


"ง่ายที่สุดมีประสิทธิภาพมากที่สุด" เป็นเพียงการโกงเพื่อป้องกันไม่ให้ถูกบังคับให้ทำวิกิชุมชนนี้
Hendrik Brummermann

7

ขึ้นอยู่กับเกม มีปัญหาเล็กน้อยที่คุณจะได้รับ:

  • สำหรับเกมที่มีองค์ประกอบโชคและองค์ประกอบทักษะ (Bridge, Poker, Magic: the Gathering, ฯลฯ ) อัลกอริทึมส่วนใหญ่ไม่ได้คำนึงถึงความจริงที่ว่าผู้เล่นที่อ่อนแอกว่าบางครั้งจะโชคดี หากเกมของคุณอยู่ในหมวดหมู่นี้คุณจะต้องทำงานบางอย่าง โดยทั่วไปนี่หมายถึงการหาเปอร์เซ็นต์ของโชคและเปอร์เซ็นต์ของทักษะคืออะไร (เคล็ดลับยาก ๆ แต่ถ้าคุณใช้อัลกอริทึมแบบอิงทักษะเช่น Elo แล้วคุณสามารถเรียกใช้ตัวชี้วัดบางอย่างในผลลัพธ์เพื่อหาความถี่ของอัลกอริธึม ทำนายอารมณ์เสียเมื่อเทียบกับความถี่ที่เกิดขึ้นจริง) จากนั้นคุณต้องเปลี่ยนอัลกอริทึมและสิ่งที่จะเปลี่ยนเป็นอาจเกินขอบเขตของคำถามนี้

  • สำหรับเกมที่สามารถจัดการแข่งขันได้ (ฉันสามารถเลือกที่จะเล่นเกมติดอันดับกับเพื่อนของฉัน) คุณต้องวางมาตรการป้องกันพิเศษไว้เพื่อป้องกันไม่ให้ผู้เล่นขว้างการแข่งขันโดยเจตนา

  • สำหรับเกมที่ผู้เล่นสามารถ "หลุดพ้นจากการฝึกฝน" หากพวกเขาไม่ได้เล่นเป็นประจำระบบอาจเกี่ยวข้องกับการย่อยสลายตามเวลา ระบบ Glicko เป็น mod ของ Elo ที่เพิ่มตัวแปร "ความไม่แน่นอน" ในการจัดอันดับของผู้เล่นแต่ละคนขึ้นอยู่กับจำนวนเกมที่พวกเขาเล่นและวิธีที่พวกเขาเล่นเมื่อไม่นานมานี้ ยิ่งอันดับของผู้เล่นมีความแน่นอนมากเท่าใดก็จะเปลี่ยนจากเกมเป็นเกมน้อยลงเท่านั้น

  • เกมที่มีผู้เล่นหลายคน (ไม่ว่าจะฟรีสำหรับทุกคนทีมหรือโครงสร้างผู้เล่นอื่น ๆ ) จำเป็นต้องได้รับการดูแลเป็นพิเศษแน่นอน เกมที่อิงกับทีมบางเกมทำให้ง่ายต่อการเข้าใจการสนับสนุนของแต่ละคนเมื่อเปรียบเทียบกับเกมอื่น ๆ

  • ถามว่าจุดประสงค์ของระบบการจัดอันดับ / อันดับของคุณ ในเกมและกีฬาระดับมืออาชีพจุดประสงค์คือเชิงสถิติ: การให้คะแนนจะใช้เป็นตัวทำนายผลการแข่งขันที่กำหนด เป้าหมายหลักที่นี่คือความแม่นยำ อย่างไรก็ตามนี่ไม่ค่อยเป็นสิ่งที่ผู้เล่นต้องการ แต่พวกเขาต้องการความก้าวหน้ารู้สึกว่าพวกเขาดีขึ้นและปีนผ่านตำแหน่ง (ไม่ว่าพวกเขาจะดีขึ้นจริงหรือไม่) ในระยะสั้นมีการแลกเปลี่ยนระหว่างความถูกต้องและความสนุกสนานที่คุณต้องพิจารณา


ทุกอย่างเกี่ยวกับการออกแบบคือความสมดุลเสมอ =)
Wight

3

อะไรที่คุณจะพบความซับซ้อนเกี่ยวกับTrueSkill ? ฉันคิดว่ามันเป็นอัลกอริธึมที่ตรงไปตรงมาที่มีปุ่มปรับปริมาณที่เหมาะสมสำหรับโหมดเกมที่แตกต่างกันและมันจะลดลงถึง Elo เมื่อเกมเป็นแบบตัวต่อตัวที่มีความมั่นใจสูง

หากคุณกำลังมองหาวิธีที่ง่ายที่สุดในการจัดอันดับและวัดผลผู้เล่นในสภาพแวดล้อมแบบผู้เล่นหลายคนได้อย่างมีประสิทธิภาพคำแนะนำของฉันคือ TrueSkill


ฉันแค่มองหาทางเลือกที่สามารถปรับแต่งได้ง่ายขึ้น เหมือนที่ Starcraft 2 ใช้ แต่ TrueSkill เป็นตัวชี้วัดที่ดีมันยากกว่าที่จะรวมมาตรการการเล่นเข้ากับความแปรปรวน
Wight

2

แล้วระบบ pairwise อย่างeloล่ะ? มันถูกใช้สำหรับทุกเพศทุกวัยในกีฬา "ปกติ" ด้วยผลลัพธ์ที่ยอดเยี่ยม

สำหรับการแข่งขันฟรีสำหรับทุกการแข่งขันคุณสามารถตีความพวกเขาว่าเป็นการจับคู่ตามจำนวนคู่และกำหนดคะแนนตามอันดับที่สัมพันธ์กัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.