2XKO จัดการกับการเล่นออนไลน์อย่างไร

นี่คือเทคโนโลยีทั้งหมดที่เราใช้เพื่อทำให้การเล่นออนไลน์ยุติธรรม รวดเร็ว และสนุกไม่ต่างกัน

ว่าไงทุกคน! Tony Cannon วิศวกรซอฟต์แวร์อาวุโสของ 2XKO อยู่ที่นี่แล้ว ในบทความนี้ เราจะเปิดม่านเล่าถึงสิ่งที่เรากำลังพยายามดำเนินการเพื่อสร้างประสบการณ์การเล่นออนไลน์ที่ดีที่สุดเท่าที่จะทำได้

เรามีเทคโนโลยีหลายอย่างให้พูดถึง ดังนั้นนี่คือสรุปสั้น ๆ เผื่อไว้ให้:

  • เราตั้งใจจริง ๆ ที่จะทำให้การเล่นออนไลน์ปลอดภัยและไร้ซึ่งแลคเท่าที่จะทำได้ เราใช้ระบบมากมายหลายอย่างเพื่อทำให้สิ่งนี้กลายเป็นจริง รวมถึงโครงสร้างไคลเอนต์เซิร์ฟเวอร์ โรลแบคเน็ตโค้ด รวมถึงสิ่งที่เราเรียกว่าโหมดแฟร์เพลย์ (Fair Play)
  • เราจริงจังกับระบบป้องกันการโกง หมายความว่าเราจะใช้งาน Riot Vanguard ซึ่งช่วยให้มั่นใจว่าคู่ต่อสู้ของคุณเป็นมนุษย์จริง ๆ ที่ไม่ได้ใช้งานสคริปต์
  • เราใช้เครื่องมือใหม่มากมายเพื่อทำให้ระบบต่าง ๆ ภายในเกมเวิร์คที่สุด
    • เราใช้งานสิ่งที่เราเรียกว่าเซิร์ฟเวอร์ยืนยันตัวเกมเพื่อรันทุก ๆ เกมในระบบ Cloud ซึ่งช่วยในด้านป้องกันการโกง ระดับทักษะ และการเข้าชม
    • ระบบจับคู่ตอนนี้สามารถค้นหาเกมได้ในทั่วทุกล็อบบี้ ดังนั้นคุณจะเจอคู่ต่อสู้ไวขึ้น แม้ว่าล็อบบี้ของคุณจะไม่ได้แน่นมากก็ตาม

เอาล่ะ มาเริ่มกันเลย

สร้างเพื่อออนไลน์ตั้งแต่แรก

ตั้งแต่ช่วงแรกเริ่มของการพัฒนา 2XKO เราก็ตั้งเป้าระดับหนึ่งไปที่การเล่นออนไลน์ เป้าหมายแรก ๆ ตอนที่สร้างเทคโนโลยีเบื้องหลังหลักภายในเกมก็คือการนำ GGPO มาใช้ และย้ายการทดสอบเล่นทั้งหมดไปเป็นแบบออนไลน์ แม้ว่าตอนนั้นตัวเกมจะเป็นแบบ Peer-to-Peer แต่เราก็สร้างและรันระบบแพ็คเกตพร็อกซีในศูนย์ข้อมูลลาสเวกัสของ Riot ดังนั้นการทดสอบประจำวันทั้งหมดจึงเกิดขึ้นในระบบอินเทอร์เน็ตจริง ๆ มันสำคัญมาก ๆ ที่จะเน้นย้ำเรื่องนี้ในช่วงออกแบบ ท่าโจมตี มิกซ์อัพ แอนิเมชัน และเอฟเฟกต์ของตัวละครแต่ละตัวล้วนถูกสร้างและทดสอบในระบบออนไลน์ก่อน เพื่อให้มั่นใจว่าการเล่นออนไลน์จะรู้สึกไม่แตกต่างจากแบบออฟไลน์

โครงสร้างไคลเอนต์เซิร์ฟเวอร์

ในขณะที่การพัฒนาดำเนินไป เราก็ย้ายจากระบบ Peer-to-Peer มาเป็นโครงสร้างไคลเอนต์เซิร์ฟเวอร์ ซึ่งเป็นผลมาจากทั้งความอยากสร้างแมตช์ผู้เล่น 4 คน รวมถึงความต้องการให้เกมเสถียรและขยับขยายได้มากขึ้น ในเกมผู้เล่น 4 คน ผู้เล่นแต่ละคนจะส่งและรับข้อมูลราวหนึ่งในสามเข้าสู่เซิร์ฟเวอร์ไคลเอนต์ มากกว่าที่ทำในระบบ Peer-to-Peer ซึ่งช่วยลดเงื่อนไขแบนด์วิดธ์ ลดโอกาสดรอปแพ็คเก็ต และรับประกันประสิทธิภาพที่ไหลลื่นแม้ในการเชื่อมต่อที่ไม่ดีนัก อีกทั้งยังมีอีกหลายเหตุผลในการใช้งานโครงสร้างไคลเอนต์เซิร์ฟเวอร์อีกเช่นกัน

ปกป้องความเป็นส่วนตัวและ IP

อย่างแรกและที่สำคัญที่สุดเกี่ยวกับการใช้งานโครงสร้างไคลเอนต์เซิร์ฟเวอร์ ก็คือไม่มีทางที่เราจะเปิดเผยที่อยู่ IP ของคุณแก่ผู้เล่นอื่นภายในเกม ซึ่งถือเป็นภัยใหญ่สุดสำหรับระบบ Peer-to-Peer เพราะแค่เล่นเกมกับผู้เล่นอื่น คุณก็เปิดช่องให้พวกเขาสามารถส่งแพ็คเกตมากมายเข้ามาสู่เครือข่ายของคุณ ทำให้หลุดการเชื่อมต่อ และยิ่งเจ็บใจจากการพ่ายแพ้เข้าไปใหญ่ อีกทั้งการเปิดเผยที่อยู่ IP ของผู้เล่นยังทำให้พวกเขาเสี่ยงที่จะถูกโจมตีแบบ Dox อีกด้วย ความปลอดภัยของผู้เล่นคือสิ่งที่เราพิจารณาอย่างจริงจัง และการย้ายไประบบไคลเอนต์เซิร์ฟเวอร์ก็คือหนทางที่ดีที่สุดในการปกป้อง IP ของคุณ 

การควบคุมเวลาและอินพุตข้อมูล

เซิร์ฟเวอร์ยังมาพร้อมอีกหนึ่งบทบาทสำคัญอย่างมากในระบบ นั่นก็คือมันทำหน้าที่เป็นผู้ควบคุมอินพุต สภาวะ และเวลาของระบบ ในฐานะผู้พัฒนา เมื่อคุณเปิดใช้งานระบบโรลแบคแล้ว ปัจจัยใหญ่ที่สุดซึ่งส่งผลต่อคุณภาพของเน็ตโค้ดก็คือความยืดหยุ่นของอัลกอริทึมที่ใช้ในการปรับสมดุล “Rift” ง่าย ๆ ว่าทำให้มั่นใจว่าผู้เล่นจะแชร์โรลแบคเดียวกัน หากเรามองเห็นโรลแบลสามเฟรม คุณก็ควรเห็นเหมือนกัน หากเรามองเห็นโรลแบคห้าเฟรม และคุณเห็นแค่เฟรมเดียว นั่นก็น่าจะเป็นเพราะ Rift เกิดความไม่สมดุล 

เราไม่อยากลงลึกมากเกินไป แต่การปรับสมดุล Rift หมายความถึงการปรับนาฬิกาเกมของผู้เล่นทุกคนให้เท่ากัน แค่นี้ก็ยากมากพอแล้วในเกม Peer-to-Peer ผู้เล่นสองคน เพราะจะมั่นใจได้อย่างไรว่าผู้เล่นทั้งสองคนได้รับข้อมูลที่เท่ากัน? (ขอ Geek นิดหน่อย: ที่จริงส่วนนี้เกี่ยวข้องกับปัญหา Two Generals และแทบจะเป็นไปไม่ได้ แต่เราขอค้าน…) ซึ่งในเกมผู้เล่นสี่คน มันก็ยิ่งปวดหัวไปกันใหญ่! 

นี่แหละที่หมายความว่าเซิร์ฟเวอร์คือผู้ควบคุมเวลา ด้วยระบบควบคุมกลางที่คอยติดตามนาฬิกาของผู้เล่นทั้งหมดภายในเกม เราก็จะสามารถปรับสมดุล Rift สำหรับทุกคนได้ดียิ่งขึ้น

โหมดแฟร์เพลย์ (Fair Play)

เรากำลังดำเนินการเกี่ยวกับอีกหนึ่งฟีเจอร์ที่ใช้ในการพัฒนาประสบการณ์ออนไลน์ของ 2XKO ในชื่อโหมดแฟร์เพลย์ เราทุกคนต่างก็เคยจับคู่แมตช์กับผู้เล่นที่เล่นบน Wi-Fi หรือบนโทรศัพท์ หรือบนคอมพิวเตอร์ที่ต่ำกว่าสเปคขั้นต่ำอยู่นิดหน่อย เกิดอะไรขึ้นล่ะ? เกมมักจะหยุดหรือกระตุก แย่กว่านั้นก็คือเกิดโรลแบคมหาศาลที่ทำให้ตัวละครวาร์ปไปมา ในเกมแบบ Peer-to-Peer นั่นคือดีที่สุดที่ทำได้แล้ว หากไม่มีอินพุตข้อมูลในช่วงเวลาที่เหมาะสมสำหรับผู้เล่นทุกคนภายในเกม แม้แต่โรลแบคก็ช่วยคุณไม่ได้ และยิ่งเป็นปัญหาเข้าไปใหญ่หากมีผู้ประสงค์ร้ายเข้ามาเกี่ยว ผู้เล่นที่ตั้งใจสามารถเพิ่มสวิตช์แลคบนคอนโทรลเลอร์ของพวกเขาเพื่อทำให้เกิดสภาวะสูญเสียแพ็คเกตตามที่ต้องการ หรือแค่ชี้แถบหัวข้อ Windows บน PC เพื่อหยุดไม่ให้เกมส่งข้อมูล ทั้งสองอย่างทำให้เกิดอาการแลครุนแรงสำหรับคุณ และคอมโบหลุดในเวลาที่ไม่ต้องการ 

เมื่อโหมดแฟร์เพลย์เปิดใช้งาน เซิร์ฟเวอร์เกม 2XKO จะมอบพรวิเศษเล็กน้อยให้กับอินพุตของผู้เล่นแต่ละคนก่อนส่งเข้าระบบ หากข้อมูลมาช้า อินพุตสุดท้ายของผู้เล่นจะถูกคัดลอกและเกมจะดำเนินต่อไป นี่ถือเป็นเรื่องใหญ่มาก เพราะไม่ว่าคู่ต่อสู้ของคุณจะทำอะไรกับเครือข่ายของพวกเขา ประสบการณ์เกมเพลย์ของคุณก็จะไม่ได้รับผล หากพวกเขาเปิดใช้สวิตช์แลคหรือ Wi-Fi หลุด คุณก็แทบจะไม่ทันสังเกตเห็นเลย แต่ก็เป็นดาบสองคมเช่นกัน เพราะหากการเชื่อมต่ออินเทอร์เน็ตของคุณประสบพบเจอ Glitch เป็นเวลาหนึ่ง คุณก็อาจโดนคอมโบใหญ่ของอีกทีมได้แบบไม่ตั้งตัว

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

โครงสร้างระดับโลกและระบบป้องกัน

แน่นอนว่าการปรับปรุงเครือข่ายเหล่านี้คงจะไม่ส่งผลอะไร หากขาดซึ่งกระดูกสันหลังระดับโลกที่มีประสิทธิภาพมาช่วยซัพพอร์ต หมายความว่าเราจะยกระดับพลังฉบับขั้นสุดของโครงสร้างเครือข่าย Riot เพื่อให้สิ่งนี้เกิดขึ้นได้ ระบบเครือข่าย 2XKO จะแล่นไปบนเส้นทาง Riot Direct เพื่อช่วยรับประกันว่าแพ็คเกตของคุณจะไปถึงเซิร์ฟเวอร์ได้เร็วกว่า Latency ของอินเทอร์เน็ต ตัวเซิร์ฟเวอร์เองจะถูกปกป้องโดย Generalized DDoS Service ดังนั้นผู้ประสงค์ร้ายก็ไม่ควรจะสามารถขัดขวางรอบชิงชนะเลิศทัวร์นาเมนต์ที่คุณจัดในล็อบบี้ส่วนตัวได้ เราจะใช้ Game Provisional Platform ของ Riot เพื่อปล่อยตัวเซิร์ฟเวอร์ทั่วโลก และรับประกัน Ping ต่ำในแมตช์ของผู้เล่นทั้งหมดในทุก ๆ ภูมิภาคปล่อยตัว เราตั้งเป้าที่จะมีเซิร์ฟเวอร์ใกล้ ๆ ผู้เล่นทุกคนในทั่วโลก แต่ก็อาจต้องใช้เวลาสักพักเพื่อดำเนินการในส่วนนั้น ขอขอบคุณที่อดทนรอในขณะที่เราค่อย ๆ ปล่อยตัวต่อไปนะ

ระบบป้องกันการโกง Riot Vanguard

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

ดีเลย์การกดปุ่มแบบคงที่ (Fixed) และความเร็วเฟรม

เรายังปรับเปลี่ยนระบบรองอย่างดีเลย์การกดปุ่มและความเร็วเฟรมอีกด้วย เพื่อให้มั่นใจว่าเกมเพลย์ของ 2XKO จะสม่ำเสมอที่สุดเท่าที่ทำได้ โดยไม่สนว่าคุณจะเล่นแบบออนไลน์/ออฟไลน์ หรือบน PC และคอนโซล 

ดีเลย์การกดปุ่มแบบคงที่ (Fixed)

กลไกแรกที่เราใช้ก็คือการเพิ่มดีเลย์สามเฟรมแบบคงที่เข้าไปในปุ่มทั้งหมด นี่ถือเป็นเทคนิคทั่วไปในเกมต่อสู้เพื่อลดจำนวนโรลแบค โดยใน 2XKO เราจะเพิ่มดีเลย์นี้ทั้งแบบออนไลน์และออฟไลน์ หมายความว่าช่วงจังหวะคอมโบและกล้ามเนื้ออัตโนมัติที่คุณขัดเกลามาจากโหมดฝึกฝนก็ควรจะส่งผลโดยตรงเมื่อเล่นแบบออนไลน์เช่นกัน เราตัดสินใจเรื่องสามเฟรมนี้มาหลายปีแล้ว ทุก ๆ อย่างไม่ว่าจะเป็นช่วงจังหวะพันนิชพลาด ไปจนถึงท่าโจมตีเร็วที่สุดในเกมล้วนถูกสร้างและทดสอบโดยคำนึงถึงดีเลย์สามเฟรมในทุกระบบการเล่น ดังนั้นเกมจึงยังเล่นได้ดีไม่ว่าจะมีดีเลย์เท่าไหร่ก็ตาม 

ช่วงจังหวะเฟรม

กลไกที่สองคือการเน้นหนักไปที่ช่วงจังหวะเฟรม โดยช่วงจังหวะเฟรมคือความเร็วและความสม่ำเสมอในการจำลอง เรนเดอร์ และแสดงผลเฟรม หากช่วงจังหวะเฟรมไม่สม่ำเสมอ คุณอาจพบเจอเหตุการณ์วิดีโอกระตุกบ่อย ๆ หรือท่าโจมตีลิงก์หนึ่งเฟรมของคุณบางครั้งกลับไม่ยอมแสดงผล แม้จะมั่นใจว่ากดถูกจังหวะแล้วก็ตาม เราจึงเน้นดำเนินงานเกี่ยวกับช่วงจังหวะเฟรมทั้งในด้านลดดีเลย์การกดปุ่ม รวมถึงความต่างระหว่างคอนโซลและ PC ทำให้ตอนนี้เวลาระหว่างที่คุณกดปุ่มลงไปและแสดงผลลัพธ์ในเกมนั้นแทบจะไม่ต่างกันเลยทั้งบน PC, PS5 และ Xbox ย้ำอีกครั้งก็คือ 2XKO ควรจะให้ความรู้สึกในการเล่นเหมือนกันไม่ว่าจะเล่นออฟไลน์ ออนไลน์ บน PC ที่บ้าน หรือบนเครื่องคอนโซลในงานอีเวนต์

Game Validation Server (GVS)

เราบอกไปก่อนหน้านี้ว่าเซิร์ฟเวอร์เกมคือผู้ควบคุมสภาวะต่าง ๆ แต่ไม่ได้อธิบายเจาะจงว่าหมายถึงอะไร ซึ่งประโยชน์หลักก็คือระบบป้องกันการโกงและป้องกันสเมิร์ฟ ทุก ๆ แมตช์แข่งขันของ 2XKO จะรันอีกหนึ่งเกมจำลองของแมตช์นั้น ๆ ในเซิร์ฟเวอร์ด้วยเสมอ ดังนั้นในเกมแบบ 2v2 ก็หมายความว่าจริง ๆ แล้วจะมีเกมจำลอง 5 เกมรันอยู่พร้อมกันในระบบ Cloud เราเรียกสิ่งนี้ว่า Game Validation Server หรือ GVS 

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

GVS ยังส่งข้อมูลผลลัพธ์แมตช์เข้าไปในกระบวนการข้อมูลปลายทางของเราด้วย ตัวอย่างเช่น เราจะส่งสถิติโดยละเอียดของทุก ๆ เกมที่เกิดขึ้นไปยังบริการจัดอันดับส่วนกลางของ Riot โดยบริการจัดอันดับจะส่งต่อสถิติจบเกมผ่านระบบประมวลผล Microsoft’s True Skill 2 เพื่อช่วยตีวงระดับทักษะของผู้เล่นอย่างมีประสิทธิภาพ โดยใช้แค่ไม่กี่เกมเท่านั้น หมายความว่าเกมถล่มฝ่ายเดียวจะทรมานน้อยลง และหวังว่าจะช่วยลดบัญชีสเมิร์ฟได้แบบมหาศาล

ล็อบบี้และการเข้าชมเกม

นอกเหนือจากเกมเพลย์แล้ว เราก็ยังมุ่งเน้นดำเนินงานอย่างหนักไปที่ระบบภายนอกเกม ซึ่งเห็นชัดเจนที่สุดก็คือระบบล็อบบี้ของเรา เกมต่อสู้จะดีที่สุดก็เมื่อได้เล่นกับกลุ่มเพื่อนที่บ้าน หรือรวมตัวกันในงานอีเวนต์ท้องถิ่นเพื่อแข่งทัวร์นาเมนต์หรือพบปะประจำสัปดาห์ ล็อบบี้ของ 2XKO จึงถูกสร้างมาเพื่อจำลองระบบสังคมแบบนั้นในรูปแบบออนไลน์

แมตช์ที่กำลังดำเนินอยู่

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

เมื่อผู้เล่นในล็อบบี้ 2XKO เดินไปใกล้มากพอกับตู้เกมที่มีแมตช์แข่งขันอยู่ หน้าจอจะเด้งขึ้นมาเหนือหัวพวกเขา และไม่กี่วินาทีจากนั้นคุณก็จะเห็นสภาวะปัจจุบันของแมตช์ได้ในทันที ไม่ว่าพวกเขาจะอยู่ในหน้าเลือกแชมเปี้ยน เพิ่งเริ่มเกม หรืออยู่ในเฮือกสุดท้ายของรอบพยายามโจมตีให้โดนเพื่อตัดสินผู้ชนะ คุณก็จะเห็นเช่นเดียวกับที่ผู้เล่นเห็นแบบเรียลไทม์ โดยไร้ซึ่งช่วงเวลาการโหลดหรือดีเลย์การเล่นใด ๆ ทำให้สามารถกระโดดเข้าร่วมวงได้เหมือนกับว่าอยู่ตรงนั้นมาตั้งแต่แรกแล้ว

ระบบเข้าชมทำงานอย่างไรในด้านเซิร์ฟเวอร์

การทำให้ระบบเข้าชมทำงานได้อย่างถูกต้องใช้การทดสอบหลายอย่าง เกมต่อสู้ที่ใช้งานระบบโรลแบคอย่าง 2XKO นั้นมีการกำหนดค่าข้อมูลแน่นอน คุณเลยสามารถรีเพลย์สภาวะแมตช์ได้เสมอ ขอแค่มีอินพุตก็พอ ดังนั้นหากใครบางคนเดินไปที่ตู้เกมและเริ่มรับชมตั้งแต่รอบแรก เราก็จะส่งอินพุตข้อมูลให้พวกเขาตามลำดับ และทุกอย่างก็ไปได้สวย แต่ถ้าเกิดเราอยู่ในระหว่างแมตช์ล่ะ? แบบว่า เราก็สามารถมอบอินพุตทั้งหมดให้ผู้เข้าชมแต่ละคน และปล่อยให้พวกเขาเร่งเวลาไปเรื่อย ๆ จนกว่าจะตามทัน แต่นั่นใช้เวลาค่อนข้างเยอะ ซึ่งจริง ๆ แล้ว เวอร์ชันแรกเริ่มของล็อบบี้ใน 2XKO ก่อนช่วง Alpha Lab 1 ก็ทำงานแบบนี้ มันใช้งานได้ แต่ไม่ได้รู้สึกดีเท่าไหร่ การต้องรอระหว่าง 5 ถึง 20 วินาทีเพื่อให้หน้าจอตามทันจุดล่าสุด ทำให้ผู้เล่นแทบไม่อยากใช้ฟีเจอร์นี้

แต่เมื่อ GVS เปิดใช้งาน เราก็มีโอกาสทำสิ่งที่ฉลาดมากขึ้น จำได้ไหมว่า GVS คือระบบที่คอยประเมินสภาวะของเกมแบบเรียลไทม์ในเซิร์ฟเวอร์ เมื่อผู้เล่นเริ่มรับชมเกมในระหว่างกลางแมตช์ เราจะไม่ส่งอินพุตทั้งหมดให้พวกเขาอีกต่อไป กลับกันเราจะขอให้ GVS ทำการสรุปภาพรวมเกมในปัจจุบัน และเริ่มส่งอินพุตจากจุดนั้นแทน โดยภาพรวมเกมคือสภาวะเซฟของเกมซึ่งใช้ความทรงจำระบบเพียงนิดเดียว จากส่วนที่กำหนดไว้ของระบบ ซึ่งใช้แค่ 50 KB เท่านั้น ดังนั้นจึงส่งให้ผู้เล่นได้อย่างรวดเร็วทันใจ แทนที่จะต้องเร่งเวลาอินพุตกว่าสามนาที เราก็แค่โหลดเซฟ 50 KB และผู้เล่นก็ตามทันได้ในทันที ฟังดูเหมือนเวทมนตร์เลยนะ อย่างน้อยก็สำหรับเราล่ะนะ

เราคงไม่สามารถสร้างฟีเจอร์นี้ได้หากขาดไปซึ่งการจำลองเซิร์ฟเวอร์เกม ในเวอร์ชันต้นแบบของระบบเข้าชม เรานำภาพรวมจากผู้เล่นคนแรกในเกมและส่งมันไปยังผู้เข้าชม ซึ่งทำให้เกิดปัญหามากมาย อย่างแรกคือ การเรียกใช้และบีบอัดไฟล์ภาพรวมนั้นมีสิ่งที่ต้องแลกหลายอย่าง ในอุปกรณ์ที่สเปคค่อนข้างต่ำ สิ่งนี้จะแสดงผลเป็นบั๊ก FPS สำหรับผู้เล่นในทุกครั้งที่ใครก็ตามกดรับชม ซึ่งเป็นสิ่งที่รับไม่ได้เด็ดขาด ลองนึกภาพคอนเฟิร์มฮิตพลาด เพียงเพราะใครบางคนกดรับชมเกมของคุณผิดที่ผิดเวลาดูสิ? ไม่ใช่แค่เรื่องนั้น มันยังไม่ปลอดภัยด้วย เราไม่อยากเปิดช่องการโจมตีแก่ผู้ประสงค์ร้าย ที่ซึ่งพวกเขาสามารถสร้างภาพรวมเกมที่ประกอบด้วยการบัฟเฟอร์ท่าโจมตีที่มากเกินพอดี หรือหนทางอื่น ๆ ในการแฮ็กอุปกรณ์ของผู้เล่น ซึ่งปัญหาทั้งหมดนี้สามารถหลีกเลี่ยงได้โดยการย้ายแหล่งข้อมูลการรับชมทั้งหมดไปยังแหล่งที่เชื่อถือได้ในเซิร์ฟเวอร์

ระบบจับคู่ข้ามล็อบบี้

สิ่งสุดท้ายที่เราอยากพูดถึงก็คือฟีเจอร์จับคู่ข้ามล็อบบี้ ล็อบบี้ของ 2XKO มีหลายหนทางในการค้นหาแมตช์ คุณสามารถท้าทายผู้เล่นโดยตรง นั่งที่ตู้เกมและรอให้ใครสักคนมานั่งข้างกัน ชูป้าย “คนถัดไป” แบบเดียวกับวันวานในสมัยตู้เกม หรือไม่ก็ขอให้ระบบจับคู่หาคู่ต่อสู้ให้ 

โดยรวมแล้วสิ่งนี้เป็นไปได้ด้วยดีหากคนเต็มล็อบบี้ แต่ก็มีกรณีพิเศษบางอย่างด้วย ถ้าเกิดว่าทุก ๆ คนในล็อบบี้กำลังเล่นอย่างเมามันส์ และคุณเป็นคนเดียวที่มองหาแมตช์อยู่ล่ะ? 

ในช่วง Alpha Lab 1 การเล่นในล็อบบี้มาพร้อมสิ่งดี ๆ มากมาย เช่นกระดานอันดับ สถิติชนะต่อเนื่อง และการเดินไปรับชมเกม แต่บางครั้งมันก็แลกมาด้วยเวลาในการจับคู่สำหรับบางกรณีพิเศษแบบด้านบน ที่จริงแล้วสำหรับผู้เล่นที่อยากเข้าเล่นแมตช์ออนไลน์ให้เร็วที่สุด ฟีเจอร์อย่างการ “ค้นหาแมตช์” ในหน้าเมนูหลักก็จะทำให้พวกเขาเจอแมตช์ไวขึ้น ง่าย ๆ เลยคือมันจะมองหาจากผู้เล่นทั้งหมด แทนที่จะเป็นแค่ผู้เล่นในล็อบบี้เท่านั้น 

ใน Closed Beta เราจึงปรับให้ระบบจับคู่ค้นหาแมตช์ในล็อบบี้ออนไลน์ทั้งหมด ไม่ใช่แค่ล็อบบี้ที่คุณอยู่เท่านั้น หากมันเจอแมตช์ในล็อบบี้ปัจจุบันของคุณ เราก็จะจองแมตช์ไว้ที่ตู้เกมและส่งผู้เล่นไปเล่นด้วยกัน ซึ่งหากแมตช์กับผู้เล่นในล็อบบี้อื่น ประสบการณ์ก็แทบจะไม่ต่างกันเลย ก็คือเราจะจองตู้เกมให้ผู้เล่นแต่ละคนในล็อบบี้ของพวกเขา และเรนเดอร์ภาพโฮโลแกรมของคู่ต่อสู้ให้มานั่งเล่นด้วยกัน จากนั้นเมื่อแมตช์จบลง ผู้เล่นทั้งสองก็จะกลับไปที่ล็อบบี้เดิม ไม่ต้องกังวลไป สถิติชนะต่อเนื่องยังคงอยู่ไม่ไปไหน 

เนื่องจากผู้เล่นทุกคนในล็อบบี้ทั่วเซิร์ฟเวอร์จะถูกจับเข้าคิวในระบบจับคู่ข้ามล็อบบี้เดียวกัน การค้นหาแมตช์ในล็อบบี้ก็น่าจะรวดเร็วไม่ต่างจากการค้นหาแมตช์จากหน้าเมนูหลักนอกระบบล็อบบี้ ระบบจับคู่ถูกปรับให้มอบแมตช์ที่ดีที่สุดภายในช่วงเวลาที่กำหนดไว้ หากเป็นชั่วโมงคนเล่นเยอะและมีผู้เล่นออนไลน์หลายคน ก็คาดไว้ได้เลยว่าคุณจะเจอแมตช์ที่ดีหลังจากรอไม่กี่วินาทีเท่านั้น แต่หากมันเป็นเวลาตี 3 และมีคนให้แมตช์ไม่เยอะนัก เราก็ยังพยายามที่จะหาแมตช์ให้กับคุณ แต่อาจมีระดับทักษะที่ต่างกันมากขึ้นกว่าในช่วงคนเยอะ ประสบการณ์เข้าคิวนานในช่วงคนน้อยไม่ใช่สิ่งที่มีเฉพาะ 2XKO เท่านั้น มันคือเรื่องปกติของระบบจับคู่ในเกมออนไลน์ใด ๆ ก็ตามเมื่อจำนวนผู้เล่นไม่ได้มากนัก ความสำคัญระหว่างเวลาในการเจอแมตช์กับความต่างของระดับทักษะเป็นสิ่งที่ปรับเปลี่ยนได้ และเราก็อยากได้ยินข้อเสนอแนะของพวกคุณเกี่ยวกับประสบการณ์เหล่านี้นะ เพราะเราอยากทำให้สิ่งนี้สมบูรณ์ในขณะเปิดให้เล่นช่วง Early Access ต่อไป

มองไปยังอนาคต

เราพูดถึงหลายอย่างเลยในบทความ ขอคารวะหากคุณอ่านมาจนถึงตอนนี้ เราเชื่ออย่างสุดหัวใจว่าการเล่นออนไลน์ไม่ควรเป็นหนทางรองในการเพลิดเพลินไปกับเกมต่อสู้ ฟีเจอร์ทั้งหมดที่เราสร้าง ไม่ว่าจะเป็นระบบยืนยันเซิร์ฟเวอร์และปรับเปลี่ยนโรลแบค ไปจนถึงการรับชมและจับคู่ข้ามล็อบบี้ ล้วนถูกออกแบบมาเพื่อให้การเล่นออนไลน์มีความยุติธรรม รวดเร็ว และสนุกไม่ต่างจากการเล่นออฟไลน์ ถึงจะพูดอย่างนั้น แต่เราก็ยังคงปรับแก้ ทดสอบ และรับฟังข้อเสนอแนะของพวกคุณอย่างใกล้ชิด ในขณะที่เราเข้าสู่ช่วง Early Access และต่อ ๆ ไป บอกให้เรารู้หน่อยว่ามันรู้สึกอย่างไร รวมถึงคอยรายงานบั๊กและให้ข้อเสนอแนะเข้ามาเรื่อย ๆ ได้เลย

ขอบคุณที่อ่านจนจบนะ

Tony Cannon