คู่มือเกมแลค › การออกแบบการซิงก์
ไม่มีการกดสกิลล่วงหน้า No input/spell queue
ID สาเหตุ sy-no-queue · ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ถ้าต้องได้การยืนยันจากเซิร์ฟเวอร์ว่าสกิลก่อนหน้าจบแล้วจึงจะกดสกิลถัดไปได้ ทุกคอมโบจะมีเวลาไปกลับแทรกเข้ามา
ทำไม รับอินพุตสกิลถัดไปเฉพาะ “หลังสกิลก่อนหน้ายืนยันแล้ว” เท่านั้น → ผลคือ ระหว่างสกิลแต่ละครั้งมีช่วงว่างเท่ากับปิง → บนหน้าจอ เกิดช่องว่างระหว่างคอมโบทุกครั้ง และยิ่งปิงสูง DPS ยิ่งลดลง
อาการ อินพุตดีเลย์ , กดไม่ติด/โรลแบ็ค
ปัจจัย ความหน่วง
ใครเจอ เราคนเดียว, เฉพาะบางฟีเจอร์
เกิดเมื่อไร ตอนทำแอ็กชันบางอย่าง
ผู้รับผิดชอบ ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
งานฝั่งทีมพัฒนาเกม ไคลเอนต์: มีช่วงเวลาที่รับการกดล่วงหน้า คือรับอินพุตที่กดภายในช่วงเวลาหนึ่งก่อนคูลดาวน์จบ (เช่น 0.3–0.4 วินาที) แล้วส่งให้เซิร์ฟเวอร์ทันที เซิร์ฟเวอร์: รับอินพุตที่มาถึงเร็วไปเล็กน้อยไว้ แล้วรันทันทีที่คูลดาวน์จบ
ตัวเลขที่ควรรู้ ในคอมโบที่คูลดาวน์ 1 วินาที ถ้าปิง 150 ms จะว่างระหว่างสกิลอย่างน้อย 0.15 วินาทีทุกครั้ง จำนวนสกิลที่ใช้ได้ในเวลาเท่ากันจะลดลงมากกว่า 13%
บนกราฟ สูงตลอดตั้งแต่แรก · ช่วงว่างระหว่างสกิล, RTT (ปิง)
จุดที่ต้องดู บันทึกเวลาที่คูลดาวน์สกิลจบ, เวลาที่คำขอสกิลถัดไปมาถึง และเวลาที่รัน ของแต่ละตัวละครลงใน log ของเซิร์ฟเวอร์ แล้วเทียบช่วงว่างระหว่างนั้นกับ RTT ของผู้เล่น สัญญาณว่าใช่ ตั้งแต่คูลดาวน์จบจนสกิลถัดไปทำงาน ว่างประมาณเท่า RTT ทุกครั้ง ผู้เล่นที่ปิงสูงกว่ามีช่วงว่างยาวกว่าและใช้สกิลได้น้อยกว่าในเวลาเท่ากัน สัญญาณว่าไม่ใช่ ช่วงว่างคงที่ไม่ขึ้นกับปิง: น่าจะเป็นการออกแบบ global cooldown หรือความยาวแอนิเมชัน ถ้าช่วงว่างพุ่งสูงแค่บางครั้ง ให้ดูจิตเตอร์, แพ็กเก็ตหาย หรือทิกเกินงบเวลา วิธีตรวจ ต้องมี log หรือเมตริกจากเซิร์ฟเวอร์/ไคลเอนต์เกม
รายละเอียดเพิ่มเติม ตัวอย่างเช่น World of Warcraft มีช่วงเวลาที่รับการกดล่วงหน้า และให้ผู้เล่นปรับได้ในการตั้งค่า ถ้าช่วงเวลานี้ยาวกว่าเวลาไปกลับ ปิงแทบไม่แทรกเข้ามาระหว่างคอมโบ
แหล่งอ้างอิง Latency and Player Actions in Online Games (Communications of the ACM, 2006) ACM ใน EverQuest 2 ยิ่งดีเลย์มาก ดาเมจที่ตัวละครทำได้ยิ่งลดลงและการต่อสู้ยิ่งยาวขึ้น (จาก 0 เป็น 500 ms การต่อสู้ที่ใช้เวลาประมาณ 2 นาทีนานขึ้น 5 วินาที)
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: การออกแบบการซิงก์
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (อินพุตดีเลย์)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง