วันนี้เราจะพาคุณย้อนเวลาไปยังปี 1999 เพื่อไปเยี่ยมเยือนเกมที่ถือได้ว่ามีเทคโนโลยีที่ล้ำที่สุดในช่วงนั้น: Nintendo 64 port ของ Resident Evil 2
ในยุคของการแข่งขันชิงความเป็นใหญ่ของสองค่ายเกมยักษ์ Playstation ปะทะ Nintendo 64 เมื่อช่วงปลายทศวรรษที่ 1990 ที่ผ่านมา บรรดาผู้กองเชียร์ของเครื่องเกมค่าย Sony มักจะเอาเรื่องของ full motion video ในเกมบางเกมของ Playstation มาอ้างความเหนือชั้นของเทคโนโลยีของตัวคอนโซลเสมอ ไม่เหมือนกับยุคปัจจุบันที่คอนโซลเกมส่วนใหญ่ถูกออกแบบมาคล้ายๆ กัน Playstation และ Nintendo 64 สมัยมีความแตกต่างกันมาก จนอาจจะเรียกได้ว่าเป็นอุปกรณ์คนละประเภทกันเลยทีเดียว Sony เลือกที่จะใช้การบรรจุข้อมูลผ่าน CD-ROM ที่สามารถจุข้อมูลได้เยอะ ในขณะที่ทาง Nintendo เลือกใช้ flash memory ที่ถึงแม้จะจุข้อมูลได้น้อยกว่าแต่สามารถรันได้เร็วกว่า เมื่อเอามาเทียบกัน อย่างไรก็ดี สองอย่างนี้ก็ไม่ใช่อะไรที่จะเอามาใช้วัดได้ว่าเครื่องเกมตัวไหนมีเทคโนโลยีที่เหนือชั้นกว่ากัน
แต่ที่ได้กล่าวมานั้นก็มีข้อยกเว้นอยู่ นั่นก็คือ Nintendo 64 port ของ Resident Evil 2 เวอร์ชั่นของ Resident Evil 2 บนคอนโซล Nintendo ที่มีความอลังทุกอย่างในตัว พอๆ กับ full motion video ด้วยการใช้ CD ของทาง Playstation เลยทีเดียว
เมื่อใช้ตัวถอดโค้ดของเทคโนโลยีในปัจจุบัน การวิเคราะห์เกม Resident Evil 2 ของยุคนั้นก็ไม่ใช่เรื่องที่ยากเย็นอะไรเลย ในขณะที่ Resident Evil 2 ของ Playstation มาในรูปแบบ CD 2 แผ่นสุดหรู ความจุรวม 1.2 GB พวกทีมงานที่ต้องจัดการพอร์ตเกมลงใน Nintendo 64 กลับมีพื้นที่แค่ 64MB ให้ใช้ พวกเขาต้องจัดการเอา gamedata และข้อมูลเกี่ยวกับ texture (พื้นผิว) และ sound (เสียง) ลงไปรวมๆ กันอยู่ให้ได้ในพื้นที่แคบๆ นั้น และทั้งๆ ที่ตัวเกมสมควรจะถูกย่อให้สั้นลง ลดจำนวนเลเวล หรือละเลยบางรายละเอียดออกไปบ้าง ทางบริษัทที่รับหน้าที่พอร์ตเกมอย่าง Angel Studios กลับต้องคงเอาเนื้อหาและทุกอย่างของเกมเอาไว้ให้ได้มากที่สุดเท่าที่จะมากได้ในพื้นที่ที่มีอยู่แค่ 64MB นั้น
Playstation ยังมีความได้เปรียบทางฮาร์แวร์เมื่อเทียบกับ Nintendo 64 อีกอย่าง (ที่นอกเหนือไปความจุข้อมูล) นั่นก็คือ ตัว video decompression processor สุดละเอียดอ่อนจากทาง MDeC อย่างไรก็ดี เพื่อที่จะโต้กลับข้อได้เปรียบเหล่านี้ Nintendo เองก็มีข้อดีอยู่ 2 อย่าง นั่นก็คือ แรมความจุ 4MB เมื่อเทียบกับ Playstation ที่มีแค่ 1MB และระบบ RSP ที่สามารถถูกโปรแกรมให้รันและทำงานช่วย CPU ได้ (แต่ก็ไม่ได้สมบูรณ์แบบเหมือนกับระบบ GPGPU ในปัจจุบันนะครับ)
กลับมาสู่งานอันสุดท้าทายของทาง Angel Studio เริ่มแรกเลย ทีมของพวกเขาต้องทำการเปลี่ยนโค้ดของเกมจากภาษา C ที่ใช้ใน Playstation ไปเป็น Assembly language ที่ใช้สำหรับ Nintendo 64 และก็เป็นที่น่าตกใจที่ทาง Nintendo ก็ไม่ได้ให้ความช่วยเหลือทางผู้พัฒนาเกมเลยสักนิด (และก็เป็นสิ่งที่บรรดาผู้พัฒนาการยุคนั้นบ่นกันมาก) เพราะทาง Nintendo ปฏิเสธที่จะแชร์โปรแกรมช่วยเปลี่ยนโค้ดอย่าง microcode tools กับพวกเขา และพวกเครื่องมือหรือโปรแกรมพื้นๆ ที่ผู้ผู้พัฒนาเกมจำใจใช้กันก็มักจะประสบปัญหาจากข้อมูลอ้างอิงที่ไม่เพียงพอ ทั้งยังไม่มีโปรแกรมที่เอามาไว้ค้นหาและแก้บั๊กกันอีก
การบีบอัดครั้งยิ่งใหญ่
ตามที่ Todd Meynink หนึ่งในผู้นำทีมพัฒนาของ Angel Studio ได้อธิบายเอาไว้ในเดือนตุลาคม ปี 2000 เขาบอกว่า เพื่อที่จะสามารถยัดทุกอย่างลงในความจุ 64MB ของ Nintendo ได้ พวกเขาต้องรักษาอัตราส่วนการบีบอัดให้อยู่ที่ 165:1 ทั้งยังเก็บความเป็น full motion video เอาไว้ด้วย ในปัจจุบันตัวถอดและสร้างโค้ด อย่าง H.265 HVEC สามารถที่จะทำเรื่องนั้นได้สบายๆ (เพราะมันสามารบีบอัดได้ในอัตราส่วน 1000:1 เลยทีเดียว) แต่ในขณะที่ Resident Evil 2 กำลังถูกพัฒนาอยู่ในปี 1998 นั้น ตัวถอดโค้ดตัวนี้ยังไม่มีด้วยซ้ำ มันถูกพัฒนาขึ้นในอีก 15 ปีให้หลัง ในตอนนั้น มันเป็นยุคของ MPEG-1
Meynink เขียนไว้ในปี 2000 ว่า
เพื่อที่จะมองขึ้นถึงความท้าทายของงานนี้ชัดเจนยิ่งขึ้น เราลองมามองมันในแง่ของตัวเลขกันดีกว่า rendered frames ของวีดีโอตัวต้นแบบนั้น อยู่ที่ 320×160 พิกเซล ที่ 24-bit color = 153,600 bytes/frame ใน Nintendo 64 Resident Evil 2 วีดีโอความถี่ 30Hz ความยาว 15 นาที จะกินพื้นที่อยู่ทั้งหมด 15 x 60 x 30 x 153,600 = 4,147,200,000 bytes ในรูปแบบของข้อมูลที่ยังไม่ได้บีบอัด พื้นที่ที่เรามีบน Nintendo คือ 25,165,824 bytes ดังนั้นอัตราส่วนการบีบอัดจะอยู่ที่ 165:1 สิ่งที่แย่ที่สุดก็คือ เราต้องใช้ไอ้เจ้าความจุอันสุดจำกัดนี้กับ movie audio
การแก้ปัญหานี้ของ Meynink นั้นเป็นความคิดง่ายมาก และยังฉลาดในการใช้ประโยขน์จากความจำกัดของสายตามนุษย์ที่จะแยกแยะรายละเอียดบนจอ SD NTSC screen
เขาอธิบายวิธีการแก้ปัญญหาของเขาเอาไว้ว่า การที่เขาสามารถเอาตัวเกมรวมทั้ง cutscene ทุกฉากใส่ลงไปในนั้นได้ ก็เนื่องมาจากการปรับลดความถี่ของ full motive video จาก 30Hz ลงไปเหลือแค่ 15Hz สิ่งที่เกิดขึ้นคือจะทำให้มีเฟรมหลายๆ เฟรมที่ถูกกระโดดข้าม ซึ่งมันจะมองเห็นได้ชัดเจนมากใน PC หรือในคอนโซลเกมที่ปรับ resolution ไว้สูงๆ แต่เป็นไปได้ยากที่จะมองเห็นความแตกต่างใน NTSC SD screen ของ Nintendo ถ้าผู้เล่นนั่งห่างจอในระยะที่เหมาะสม
Meynink ยังได้กล่าวต่อว่า ทีมของพวกเขายังได้เซฟพื้นที่จากการรีไซเคิล textures, 2D sprites และ collision data มันอาจจะทำให้แต่ละฉากของเกมดูจืดๆ ไปบ้าง ทั้งยังจำกัดจำนวนวิธีการที่ตัวละครของเราในเกมจะมีตอบสนองกับผู้คนหรือสิ่งแวดล้อมต่างๆ รอบตัว แต่มันก็เป็นสิ่งจำเป็นเพื่อทำให้เกมสามารถถูกจุลงในความจุที่น้อยขนาดนั้นได้ ระดับสีของเกมยังมีจำกัดเมื่อเทียบกับของ Playstation แต่ Meynink ก็กล่าวว่า พวกเขาได้ปรับเปลี่ยนเฉดของ gamma correction เป็นการทดแทน นอกจากนี้ ถึงแม้ว่าพวกเขาจะมีความหลากหลายของ textures และ collision data ที่น้อยกว่าเนื่องจากการบีบอัด แต่เกมก็ยังคงออกมาดูดีเนื่องจากความจุแรมของ Nintendo ที่มากกว่า Playstation ที่ทำให้สามารถปรับ resolution ของ texture ได้สูงกว่า
เสียงยังคงเป็นอีกปัญหาหนึ่งเหมือนกัน Meynink และทีมของเขาจะปรับลดสต็อกของเสียงเกมทั้งหมดลง ทั้งยังใช้ MIDI samples แทน pre-recored audio และจับเอาเสียงอื่นๆ ลงไปไว้ในอัลกอริทึมแบบบีบอัด
ภารกิจบีบอัดนี้ มัน ?บีบอัด? ความสำเร็จของเกมด้วยหรือเปล่า?
Resident Evil 2 ไม่ใช่เกมแรกเลยที่ได้มีการพอร์จจากแบบ Playstation ไปสู่ Nintendo 64 แต่สิ่งที่ทำให้มันโดดเด่นกว่าเกมอื่นก็คือ มันเป็นเกมแรกที่ถูกพอร์ตผ่านสองแพลตฟอร์มนี้ที่เก็บรายละเอียดต่างๆ มาอย่างครบถ้วน เกมอื่นๆ ก่อนหน้านี้จำต้องสละบางอย่างทิ้งไป ซึ่งส่วนที่ทำกันก็คือตัดเอา full movie video ออกและแทนที่มันด้วยภาพหรือบทสนทนา นอกจากนี้เสียงยังเป็นอีกอย่าง โดยเฉพาะเสียงการสนทนาของตัวละครที่มักจะถูกตัดออกไปเสมอ
ลองดูภาพเปรียบเทียบระหว่างของ Resident Evil 2 ของสองคอนโซลจากทาง Lens of Truth ด้านล่างนี้ดู
มันมีความแตกต่างที่เห็นได้ชัดอยู่ กราฟฟิกของ Playstation จะออกมีรายละเอียดมากกว่า ในขณะที่ของ Nintendo จะเรียบมากกว่า Lens of Thruth สรุปว่าโดยรวมๆ แล้ว Playstation version ดูดีกว่า Nintendo 64 ก็ดูดีกว่าพวกพอร์ตที่เหลือส่วนใหญ่เหมือนกัน
และนี่ก็คือเหตุผลที่ว่าทำไม Resident Evil 2 ของ Nintendo 64 ถึงได้น่าประทับในแง่ของความสำเร็จทางเทคโนโลยี ถึงแม้ว่าท้ายที่สุด Meynink และทีมของเขาได้ใช้วิธีง่ายๆ ในการแก้ปัญญา แต่ว่าความท้าทายและความยากในการเปลี่ยนเกมจากแพลตฟอร์มหนึ่งไปเป็นอีกแพลตฟอร์มหนึ่งนี่แหละ ที่เป็นสิ่งที่แสดงให้เห็น ถึงความแตกต่างอย่างสุดขั้ว ของคอนโซลเกมในยุคก่อนนั้น
ที่มา: vr-zone