[Road to Localization EP.2] สำรวจโครงสร้างของเกม

Phachara Chirapakachote
2 min readSep 16, 2021

--

สวัสดีครับทุกคน กลับมาพบกันอีกครั้งในบล็อกของผมนะครับ

Steins;Gate Main Menu

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

Introduction to Steins;Gate game structure

นี่คือไฟล์จาก Steins;Gate เวอร์ชั่น Steam นะครับ ก่อนอื่นนอกโฟลเดอร์นี้จะมีไฟล์ Launcher และไฟล์อื่นๆของตัวเกมอยู่ กับอีกโฟลเดอร์หนึ่งที่ชื่อ USRDIR ซึ่งก็คือโฟลเดอร์นี้นั่นเองครับ (ไฟล์เกมที่สำคัญจะอยู่ในโฟลเดอร์นี้ทั้งหมด)

หลักๆจะเป็นไฟล์นามสกุล .mpk ที่เก็บไฟล์ตามประเภทที่เขียนไว้ และไฟล์วิดีโอที่เก็บอยู่ในโฟลเดอร์ movie อีกที ซึ่งไฟล์วิดีโอจะเป็นนามสกุล .bk2 (รูปแบบของไฟล์วิดีโอที่หลายเกมมักใช้กัน สามารถเปิดได้โดยใช้ RAD Video Tools)

ไฟล์ .mpk จะทำหน้าที่คล้ายโฟลเดอร์โฟลเดอร์หนึ่ง ซึ่งจะเก็บไฟล์หลายไฟล์ไว้ในไฟล์เดียว เป็นไฟล์ประเภท Archive นั่นเองครับ ความจริงมันเปิดด้วย WinRar ไม่ได้หรอก… ผมแค่ตั้งไว้ให้รู้ว่ามันเป็นไฟล์ประเภทนี้เฉยๆ

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

ถึงหน้าตาเว็บจะดูเก่า แต่ข้อมูลมาเต็มแน่นอนครับ

มีหลายเจ้าที่ทำเครื่องมือออกมาเหมือนกันครับ แต่จากที่ได้ลองมา ผมขอยกให้ QuickBMS ใช้ง่ายมากที่สุด รองลงมาคือ MagesPack ซึ่งอันนี้มี UI ด้วย

หลังจากที่ได้แกะไฟล์ออกมาแล้ว ก็มีโฟลเดอร์ที่น่าสนใจได้แก่ script, system, และ manual ครับ โดย script จะเป็นตัวเก็บไฟล์คำพูดต่างๆในเกมไว้ system จะเป็นตัวเก็บไฟล์ UI และฟอนต์ไว ้ส่วน manual คือไฟล์วิธีการเล่นและ keybind ต่างๆนั่นเอง

ถ้าหากเราต้องการจะเปลี่ยนเนื้อหา/ส่วนประกอบของเกม เราสามารถทำได้โดยการแก้ไขไฟล์ที่ต้องการ และทำการ reimport เข้าไปในไฟล์ .mpk ใหม่ โดยเครื่องมือที่เรามีอยู่ก็สามารถทำได้สบายๆครับ หรือถ้าเป็นไฟล์วิดีโอ เราสามารถแปลงไฟล์วิดีโอเป็น .bk2 ตั้งชื่อให้เหมือนไฟล์ที่ต้องการจะแทนที่ แล้วก๊อปไปวางได้เลย

ไฟล์หน้าหลักของเกมซึ่งอยู่ในโฟลเดอร์ system

โดยสรุปแล้ว โครงสร้างและประเภทไฟล์ของ Steins;Gate คร่าวๆเป็นดังนี้ครับ

  1. ไฟล์คัตซีน ใช้วิดีโอของ Bink Video
  2. ไฟล์ UI เป็นไฟล์นามสกุล .dds เกือบทั้งหมด
  3. ไฟล์คำพูดและคำบรรยายของเกมเป็นไฟล์ SC3 ซึ่งต้องแกะออกมาอีกที
  4. ใช้ฟอนต์ประเภท bitmap (งานหนักภาษาไทยเล้ยยย ><)
  5. เกมจะอ่านและใช้ข้อมูลที่อยู่ในไฟล์ .mpk เท่านั้น (ยกเว้นวิดีโอ)

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

ถ้าเราเข้าใจโครงสร้างต่างๆแล้ว เราก็พอจะเห็นภาพว่าต้องแก้ตรงไหน แก้อะไรได้บาง อะไรไม่ได้บ้าง หากขาดขั้นตอนนี้ไป การทำม็อดจะเป็นไปได้ยากลำบากมากครับ

ครั้งหน้าผมจะเชิญมาพบกับ Fan Improvement Patch ของเกมนี้ ซึ่งถูกจัดทำขึ้นมาโดย Committee of Zero ผู้ทำเครื่องมือหลายๆอย่าง ซึ่งทำให้โปรเจกต์นี้ลดขั้นตอนไปเยอะมากๆ หลังจากนั้นจะค่อยๆลงลึกในไปการแก้ไฟล์แต่ละหัวข้อแล้วครับ

สำหรับวันนี้ขอลาไปก่อน สวัสดีครับ :)

--

--