ลิลิธขมวดคิ้วเล็กน้อย เธอหันไปมองหน้าจอคอมพิวเตอร์ และพบว่าบันทึกการแก้ไขบั๊กบนนั้นละเอียดมากจริงๆ
ทั้งเวลาที่พบและเวลาที่แก้ไขล้วนถูกบันทึกไว้อย่างชัดเจน อีกทั้งรูปแบบอาการเฉพาะของบั๊กตลอดจนผลการทดสอบหลังการแก้ไขก็ถูกบันทึกไว้ด้วยเช่นกัน
นั่นก็คือ เกมนี้เดิมทีมีบั๊กอยู่หลายสิบจุด กู้ฝานกับซูถงสองคนเหน็ดเหนื่อยกับการทดสอบและแก้ไข จนเหลือบั๊กอยู่แค่สองจุด
ดูจากตรงนี้แล้ว... การขยายเวลาทดสอบและการจ้างหัวหน้าทีมทดสอบก็ส่งผลดีจริงๆ
แต่นั่นก็ยังไม่สามารถไขข้อสงสัยของลิลิธได้อย่างสมบูรณ์ "แต่ทำไม 'วิถีนรก' ถึงใช้เวลาทดสอบแค่สามวัน แล้วมีบั๊กแค่จุดเดียว ส่วน 'ซิซีฟัส' ใช้เวลาทดสอบถึงสองสัปดาห์กลับมีบั๊กตั้งสองจุดล่ะ?
"เมื่อดูจากจำนวนบั๊กทั้งหมดที่พวกนายแก้ไขไป มันก็เพิ่มขึ้นอย่างเห็นได้ชัดเลยนะ!"
กู้ฝานพูดอย่างจริงจังว่า "พวกปีศาจอย่างคุณนี่ชอบยึดติดตรรกะทื่อๆ หรือไง? ความยากในการพัฒนาของสองเกมนี้มันเท่ากันที่ไหนล่ะ?
"'วิถีนรก' เป็นเกมแนว FPS มาตรฐาน มีเทมเพลตสำเร็จรูปให้ใช้ บั๊กก็เลยน้อยอยู่แล้ว ส่วน 'ซิซีฟัส' เป็นระบบการเล่นที่คุณคิดขึ้นมาเองใหม่หมด ไม่มีเทมเพลต ผมต้องเขียนโค้ดขึ้นมาสดๆ บั๊กมันก็ต้องเยอะกว่าเป็นธรรมดาสิ!
"ในฐานะนักออกแบบ คุณไม่รู้หรือไงว่าระบบการเล่นใหม่ที่เกี่ยวข้องกับกฎฟิสิกส์ขั้นพื้นฐานแบบนี้มันเขียนยากขนาดไหน!"
ลิลิธถึงกับพูดไม่ออกไปชั่วขณะ แต่ไม่นานเธอก็หาข้อโต้แย้งใหม่ได้ "แต่ถึงอย่างนั้นก็เถอะ...
"ทำไมบั๊กที่พวกนายแก้ถึงดูเป็นแค่บั๊กหยุมหยิมที่ไม่สลักสำคัญอะไร แต่กลับปล่อยบั๊กที่สำคัญที่สุดสองจุดนี้ทิ้งไว้ล่ะ!"
กู้ฝานพูดอย่างฉะฉานมั่นใจ "บั๊กหยุมหยิมอะไรกัน? บั๊กก็คือบั๊ก พวกเราปฏิบัติกับมันอย่างเท่าเทียมกันหมด พูดได้แค่ว่าบั๊กเหล่านั้นมันอยู่แค่เปลือกนอกของเกม เลยค้นพบได้ง่ายกว่า!
"ส่วนบั๊กสองจุดที่ไม่พบนั้นเป็นบั๊กฝังลึก ผมเดาว่าพวกมันน่าจะเกี่ยวข้องกับกฎฟิสิกส์ขั้นพื้นฐานของเอนจิน มันจะไปทดสอบเจอได้ง่ายๆ ยังไงล่ะ!
"ไม่สิ บางทีมันอาจจะไม่นับว่าเป็นบั๊กด้วยซ้ำ ควรจะเรียกว่า 'ช่องโหว่ของการออกแบบ' มากกว่า!"
สีหน้าของลิลิธเปลี่ยนเป็นตกตะลึงในพริบตา "เอาล่ะ นายยอมรับแล้วสินะว่านี่คือช่องโหว่ของโปรแกรมที่นายเขียนขึ้นมาเอง!"
กู้ฝานส่ายหน้าอย่างระอาใจเล็กน้อย "คุณช่วยแคะหูตัวเองหน่อยเถอะ ฟังอะไรไม่รู้เรื่องเลยหรือไง!
"ผมไปพูดตอนไหนว่ามันคือช่องโหว่ของโปรแกรม? ผมบอกว่ามันคือช่องโหว่ของ 'การออกแบบ'! แผนการออกแบบที่คุณให้ผมมาตั้งแต่แรกต่างหากที่มีปัญหา!"
ลิลิธแทบจะโกรธจนควันออกหู "อะไรนะ? แผนของฉันจะมีปัญหาได้ยังไง นายพูดมาให้เคลียร์เลยนะ!"
กู้ฝานถอนหายใจออกมาเงียบๆ เขาเริ่มลงมือตรวจสอบหาสาเหตุของบั๊กอย่างรวดเร็วเหมือนก่อนหน้านี้อีกครั้ง
ส่วนลิลิธก็ยืนมองอยู่ข้างๆ ด้วยความรู้สึกไม่พอใจและไม่ยอมรับ
ในที่สุด หลังจากที่กู้ฝานตรวจสอบไปอีกกว่าครึ่งชั่วโมง เขาก็สามารถระบุตำแหน่งโค้ดหลักที่เป็นต้นเหตุของบั๊กได้สำเร็จ
"ดูสิ นี่ไงปัญหาเรื่องกฎขั้นพื้นฐานอย่างที่ผมบอก! แล้วไอ้ปัญหาเรื่องกฎขั้นพื้นฐานที่ว่านี่ มันก็เกี่ยวข้องกับแผนการออกแบบของคุณอย่างใกล้ชิดเลยล่ะ!
"คุณเขียนไว้ในแผนอย่างชัดเจน ว่าคราวนี้พวกเราต้องพยายามใช้เทมเพลตเกมที่มีเอนจินฟิสิกส์สมจริงให้มากที่สุด ถูกไหม?"
ลิลิธพยักหน้าด้วยใบหน้าบึ้งตึง
นี่เป็นสิ่งที่เธอเขียนระบุไว้ในแผนการออกแบบอย่างชัดเจนจริงๆ เหตุผลนั้นง่ายมาก: เธอต้องการให้หินก้อนใหญ่นี้กลิ้งลงเขาได้สมจริงยิ่งขึ้น หากไม่มีเอนจินฟิสิกส์ที่สมจริง จะจำลองกระบวนการนี้ให้ออกมาดีได้ยังไง? แล้วจะทำให้ผู้เล่นสติแตกจนมอบอารมณ์ด้านลบให้ได้ยังไงล่ะ?
ดังนั้น ตอนที่กู้ฝานสร้างเกมนี้ เขาก็ได้เลือกใช้เอนจินฟิสิกส์ที่ค่อนข้างล้ำสมัยในปัจจุบันจริงๆ
"แต่ยิ่งเป็นเอนจินฟิสิกส์ที่สมจริงมากเท่าไหร่ มันก็ยิ่งกระตุ้นให้เกิดบั๊กประหลาดๆ ได้ง่ายขึ้นเท่านั้น โดยเฉพาะในส่วนที่เกี่ยวข้องกับแรงกระทบและเอฟเฟกต์ทางฟิสิกส์..."
กู้ฝานชี้ไปที่โค้ดสองสามบรรทัด "ในตอนที่ซิซีฟัสไม่ได้แบกหินอยู่ การกระโดดเดิมทีเป็นแค่การกระทำที่ไม่มีความหมายอะไร แต่ภายใต้การทำงานของเอนจินฟิสิกส์ตัวนี้ มันกลับสร้างแรงกระทำบางอย่างส่งไปยังก้อนหินอย่างน่าประหลาด ทำให้มันยิ่งกลิ้งก็ยิ่งเร็วขึ้น
"ส่วนบั๊ก 'มังกรสยายปีก' นั่นก็ใช้หลักการเดียวกัน..."
กู้ฝานพูดพลางค้นหาโค้ดอีกท่อนหนึ่งอย่างรวดเร็ว "แผนการออกแบบของคุณเขียนไว้ว่า มังกรยักษ์สามารถขัดขวางผู้เล่นได้ สามารถใช้ปีกตบผู้เล่นให้ร่วงลงไปได้ ดังนั้นมังกรยักษ์ตัวนี้ก็ต้องมีโมเดล มีขอบเขตการชน แล้วก็ต้องมีเอฟเฟกต์ฟิสิกส์ด้วย ตรงนี้ไม่มีปัญหาใช่ไหม?
"ผมก็เลยทำตามนั้น
"แต่ใครจะไปคิดล่ะว่าผู้เล่นจะสามารถกระโดดขึ้นไปบนหลังมังกรได้ด้วย!
"ส่วนเรื่องการกระทำอย่างมังกรสยายปีกยิ่งหลุดโลกเข้าไปใหญ่ ผู้เล่นกระโดดในจังหวะเดียวกับที่ถูกปีกมังกรตบ การกระโดดนั้นไปทับซ้อนกับแรงของปีกมังกรและแรงยกของกระแสลม ผู้เล่นก็เลยลอยละลิ่วบินขึ้นไปได้
"ส่วนเรื่องที่เขาจะบินไปได้สูงแค่ไหน นั่นก็เป็นหน้าที่ของเอนจินฟิสิกส์ในเกมที่จะคำนวณออกมาเองโดยอัตโนมัติ ไม่ได้เกี่ยวอะไรกับผมเลยสักนิด..."
ลิลิธเบิกตากว้างขึ้นเล็กน้อย บนใบหน้าเต็มไปด้วยความไม่อยากจะเชื่อ
"นายหมายความว่า ความผิดแบบร้อยเปอร์เซ็นต์เต็มเป็นของเอนจินฟิสิกส์งั้นเหรอ?"
กู้ฝานส่ายหน้า "ผมไม่ได้พูดแบบนั้นนะ ผมคิดว่าโยนความผิดให้เอนจินฟิสิกส์สักเจ็ดสิบเปอร์เซ็นต์น่าจะสมเหตุสมผลกว่า"
ลิลิธพยักหน้า "ดี ถือว่านายยังพอมีความเป็นคนอยู่บ้าง ในฐานะโปรแกรมเมอร์ นายก็สมควรรับความผิดไปสามสิบเปอร์เซ็นต์จริงๆ นั่นแหละ"
ทว่ากู้ฝานกลับส่ายหน้าทันควัน "ผมไปพูดตอนไหนว่าจะรับผิดชอบสามสิบเปอร์เซ็นต์ที่เหลือ? สามสิบเปอร์เซ็นต์นั่นมันเป็นของคุณต่างหาก!"
ลิลิธตกตะลึง "จะเป็นของฉันได้ยังไง!"
กู้ฝานอธิบาย "ถ้าไม่ใช่เพราะคุณระบุเจาะจงไว้ในแผนการออกแบบว่าต้องการใช้ 'เอนจินฟิสิกส์ที่สมจริง' มันจะเกิดสถานการณ์แบบนี้ขึ้นได้ยังไง? ต่อให้เอนจินตัวนี้จะมีปัญหา มันก็เป็นสิ่งที่ถูกเลือกมาตามความต้องการของคุณนะ!
"อีกอย่าง คุณก็ไม่เคยเขียนคำอธิบายเพิ่มเติมเอาไว้ในแบบร่างการออกแบบเลยสักนิด!
"คุณไม่ได้บอกสักหน่อยว่าหินก้อนใหญ่นี้ห้ามเร่งความเร็ว? แล้วคุณก็ไม่ได้บอกด้วยว่ามังกรตัวนี้ห้ามเหยียบ?
"ในเมื่อคุณไม่ได้เขียนระบุไว้ แล้วมันจะนับว่าเป็นบั๊กได้ยังไงล่ะ?
"ถ้าคุณเขียนไว้ในแผนการออกแบบ มีหรือที่ผมจะไม่ทำให้?
"ฟังก์ชันที่คุณต้องการ ผมก็เขียนให้คุณหมดแล้ว ส่วนฟังก์ชันที่คุณไม่ต้องการ ผมก็ไม่กล้าใส่เพิ่มซี้ซั้วหรอกนะ ไม่อย่างนั้นถึงเวลาคุณก็จะหาว่าผมทำอะไรตามอำเภอใจอีก!
"สรุปก็คือ แผนการออกแบบเป็นสิ่งที่คุณเขียนขึ้นมา เอนจินเกมก็เลือกมาตามความต้องการของคุณ ต่อให้มันจะมีช่องโหว่ นั่นก็เป็นเพราะคุณคิดไม่ถึงเองต่างหาก แล้วมันจะมาเกี่ยวอะไรกับผม!
"นักออกแบบอย่างคุณยังคิดไม่ถึงเลยว่าผู้เล่นอาจจะเล่นด้วยวิธีแบบนี้ แล้วโปรแกรมเมอร์อย่างผมจะไปนึกถึงได้ยังไง!
"คุณลองบอกมาสิ ว่าตกลงนี่มันคือ 'ช่องโหว่ของโปรแกรม' หรือ 'ช่องโหว่ของการออกแบบ' กันแน่?"
ลิลิธถึงกับอึ้งไป เธอคล้ายกับกำลังพยายามมองหาช่องโหว่ในคำพูดของกู้ฝาน ทว่ากลับหาไม่พบเลยสักนิด
ซ้ำยังรู้สึกขึ้นมาอย่างน่าประหลาดว่ามันก็มีเหตุผลอยู่เหมือนกัน!
เธอก้มหน้าลง ขมวดคิ้วแน่น "ทำไมถึงกลายเป็นปัญหาของฉันอีกแล้วเนี่ย!"
แม้จะสับสน แม้จะไม่ยอมรับ แต่ลิลิธก็พบว่ามันยากมากจริงๆ ที่เธอจะหาคำมาโต้แย้ง
ถึงขนาดไม่อาจพูดได้เต็มปากว่านี่คือบั๊กสองจุด เพราะมันไม่ได้มีความผิดพลาดทางโค้ดใดๆ เลย กลับดูเหมือนเป็น 'สถานการณ์เหนือความคาดหมาย' บางอย่างที่เกิดขึ้นจากความบังเอิญ หลังจากปัจจัยหลายๆ อย่างส่งผลกระทบซึ่งกันและกันภายใต้กฎของเอนจินฟิสิกส์ในเกมเสียมากกว่า
จะให้กู้ฝานมารับผิดชอบบั๊กสองจุดนี้งั้นเหรอ? มันก็ดูไร้เหตุผลเกินไปหน่อยจริงๆ
แต่เห็นได้ชัดว่าลิลิธยังไม่ยอมแพ้ง่ายๆ "เดี๋ยวสิ ยังไงก็ไม่ถูกอยู่ดี หรือว่าฉันควรจะเป็นคนรับผิดชอบทั้งหมด? คนอื่นไม่มีส่วนรับผิดชอบเลยแม้แต่นิดเดียวหรือไง?"
กู้ฝานถอนหายใจออกมาเงียบๆ "ถ้าคุณยืนกรานจะพูดแบบนั้นล่ะก็...
"ผมคิดว่าสาเหตุที่เกิดบั๊กนี้ขึ้นมาได้ มีทั้งสาเหตุจากเอนจินฟิสิกส์ มีทั้งสาเหตุจากแบบร่างการออกแบบของคุณ นอกจากนี้ ยังมีอีกหนึ่งสาเหตุสำคัญมากๆ อยู่ด้วย
"สาเหตุนั้นก็คืออาจารย์ติง!
"แต่ก็นะ สาเหตุที่มาจากอาจารย์ติง สุดท้ายก็ยังโยงกลับมาที่คุณอยู่ดี"
ลิลิธตกใจ เธอชี้หน้าตัวเอง "ทำไมสาเหตุจากอาจารย์ติงถึงต้องโยงมาที่ฉันด้วยล่ะ?"
กู้ฝานพูดอย่างฉะฉานมั่นใจ "คุณลองคิดดูให้ดีๆ สิ งบโปรโมตสามล้านทั้งหมดนั่นถูกทุ่มไปที่อาจารย์ติงคนเดียว นี่เป็นการตัดสินใจของคุณใช่หรือเปล่า?
"ถ้าให้เขาโปรโมตแค่สองชั่วโมงเหมือนรอบก่อน เขาคงไม่มีทางค้นพบบั๊กนี้เลยใช่ไหมล่ะ?"
ลิลิธชะงักงัน
ตามแผนเดิม จ้างแค่สองชั่วโมงงั้นเหรอ?
จริงด้วยสิ ถ้าเป็นแบบนั้นก็ดูเหมือนจะไม่มีปัญหาอะไรจริงๆ...
ต้องรู้ก่อนว่า วันแรกที่อาจารย์ติงสตรีมคือ 'วันคริสต์มาสอีฟ' ซึ่งไม่มีอะไรเกิดขึ้นเลยสักนิด
เขาสตรีมไปสองชั่วโมง และไม่พบบั๊กใดๆ เลยแม้แต่น้อย ดูจากสภาพในตอนนั้น อาจารย์ติงแทบจะสติแตกเพราะเกมนี้อยู่แล้ว ถึงขนาดเริ่มสงสัยในสัจธรรมชีวิต พอออกจากเกมปุ๊บ เขาก็รีบไปเล่นเกมแนว FPS สองตารวดเพื่อระบายความโกรธทันที
พอถึงวันที่สอง จำนวนสตรีมเมอร์ที่สตรีมเกม 'ซิซีฟัส' บนอินเทอร์เน็ตก็ลดลงอย่างฮวบฮาบ
หากไม่ใช่เพราะสัญญาจ้างบังคับให้อาจารย์ติงต้องสตรีมอย่างน้อยห้าวัน วันที่สองเขาก็คงไม่เปิดเกม 'ซิซีฟัส' ขึ้นมาเล่นอีก และแน่นอนว่าย่อมไม่มีทางพบบั๊กที่ซ่อนอยู่ในเกมด้วย
และการตัดสินใจที่ให้อาจารย์ติงสตรีมต่อเนื่องห้าวัน ก็เป็นสิ่งที่ลิลิธตัดสินใจเองกับมือ
แรงจูงใจก็แสนจะเรียบง่าย เธอแค่อยากแก้แค้น อยากใช้เกมนี้มาทรมานอาจารย์ติงให้หลาบจำ
เพียงแต่คาดไม่ถึงว่า ผลลัพธ์มันจะกลับตาลปัตร...