นักพัฒนาสร้างซอฟต์แวร์ที่เปลี่ยนเกม PlayStation 2 ให้เป็นไฟล์ปฏิบัติการบนพีซี

PlayStation

PlayStation - Foto: Tom Eversley / Shutterstock.com

นักพัฒนาซอฟต์แวร์ชื่อ ran-j ได้เปิดตัวเครื่องมือโอเพ่นซอร์สชื่อ PS2Recomp ที่ออกแบบมาเพื่อแปลงเกม PlayStation 2 ให้เป็นไฟล์ปฏิบัติการดั้งเดิมสำหรับคอมพิวเตอร์ ระบบจะประมวลผลไฟล์ต้นฉบับบนดิสก์และแปลงเป็นแอปพลิเคชันอิสระที่เข้ากันได้กับระบบปฏิบัติการสมัยใหม่ เช่น Windows และ Linux วิธีการนี้ช่วยลดความจำเป็นในการใช้โปรแกรมจำลองแบบดั้งเดิม ซอฟต์แวร์ทำหน้าที่โดยตรงกับโครงสร้างเกม

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

วิธีการทำงานของการคอมไพล์ใหม่แบบคงที่ของระบบใหม่

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

ในระหว่างกระบวนการแปลง เครื่องมือจะวิเคราะห์รหัสไบนารี่ดั้งเดิมตามสถาปัตยกรรม MIPS ที่ใช้ใน PlayStation 2 และแปลเป็นภาษา C++ ที่เข้ากันได้กับโปรเซสเซอร์ x86-64 ในปัจจุบันโดยตรง ไฟล์ที่ได้จะทำงานเหมือนกับโปรแกรมคอมพิวเตอร์ทั่วไป ระบบปฏิบัติการจัดการหน่วยความจำและทรัพยากรการประมวลผลโดยตรง ไม่มีเลเยอร์การแปลระดับกลางอีกต่อไป ซึ่งจะช่วยลดภาระในโปรเซสเซอร์ของคอมพิวเตอร์ลงอย่างมาก เครื่องที่มีการกำหนดค่าเล็กน้อยสามารถรันเกมได้อย่างราบรื่น

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

ความท้าทายทางเทคนิคของสถาปัตยกรรมคอนโซลดั้งเดิม

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

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

ดูเพิ่มเติม

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

ข้อดีโดยตรงสำหรับผู้เล่นคอมพิวเตอร์

การดำเนินการแบบเนทีฟบนคอมพิวเตอร์ทำให้เกมปราศจากข้อจำกัดทางเทคนิคที่กำหนดโดยโทรทัศน์แบบ Tube และข้อจำกัดด้านหน่วยความจำในขณะนั้น ตอนนี้ชื่อนี้ใช้ความจุเต็มของกราฟิกการ์ดและโปรเซสเซอร์ที่ทันสมัย คุณสมบัติอย่างเป็นทางการแสดงรายการการปรับปรุงประสิทธิภาพโดยละเอียด

  • รองรับความละเอียด 4K และจอแสดงผลแบบ Ultrawide โดยไม่ผิดเพี้ยนจากอินเทอร์เฟซ
  • ลบการล็อคเฟรมเรตออก ทำให้สามารถเล่นเกมได้ที่ 60 หรือ 120 เฟรมต่อวินาที
  • ลดเวลาในการโหลดลงอย่างมากเนื่องจากการอ่านโดยตรงจากไดรฟ์จัดเก็บข้อมูล SSD
  • แทนที่พื้นผิวเก่าได้อย่างง่ายดายด้วยโมเดลสามมิติความละเอียดสูงที่สร้างโดยแฟนๆ
  • บูรณาการกับระบบปฏิบัติการสมัยใหม่โดยไม่จำเป็นต้องกำหนดค่าปลั๊กอินที่ซับซ้อน

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

ชื่อที่สามารถเล่นได้ครั้งแรกและขั้นตอนถัดไปสำหรับชุมชน

เกมแรกที่ได้รับสถานะการเล่นเกมเต็มรูปแบบผ่าน PS2Recomp คือ Sly Cooper และ Thievius Raccoonus ชื่อแพลตฟอร์มทำหน้าที่เป็นฐานทดสอบเพื่อพิสูจน์ความเป็นไปได้ของการดำเนินการแบบเนทิฟในสภาพแวดล้อมสามมิติที่ซับซ้อน มันทำงานโดยไม่มีข้อผิดพลาดด้านกราฟิกหรือปัญหาการซิงค์เสียง ความสำเร็จของการทดสอบดึงดูดความสนใจของโปรแกรมเมอร์คนอื่นๆ ที่มีประสบการณ์ด้านวิศวกรรมย้อนกลับ

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

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

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

ดูเพิ่มเติม