Shadow Gambit: The Cursed Crew poster

Shadow Gambit: The Cursed Crew

Stealth Tactics แนว Pirate จาก Mimimi Games เรื่องราวของเหล่าโจรสลัดในทะเลแคริบเบียน

StealthTacticsPirate"BepInExThai Localization

ภาพรวม

         ทะเลแคริบเบียนกับเรื่องโจรสลัด อู้วววว ผมหละโคตรซอบเลยยย ต้องบอกว่าจริงๆแล้วโปรเจ็คนี้เป็นโปรเจ็คแรกที่ลอง Mod เลย เกิดจากการที่เล่นแล้วรู้สึกว่าคำศัพท์ที่ใช้ในเกมมันค่อนข้างแปลก น่าจะเพราะเป็นธีมโจนสลัดเก่าๆบวกกับการใช้สำนวนภาษาอังกฤษที่ค่อนข้างเฉพาะตัวทำให้อ่านไปด้วยเล่นไปด้วยแล้วปวดหัว ฮาๆๆๆๆ
         ไปหาส่องเพจแปลเกมก็มีปรมาจารย์อยู่ท่านหนึ่งที่ระบุว่ากำลังทำอยู่ แต่ไอ้ครั้นเราจะไปถามก็กระไรอยู่เลยลองทำใช้เองซะเลย โดยผมใช้ Tool ช่วยเป็น BepInEx ทำเป็น plugin สรุปสนุกอยู่กับการใช้เครื่องมือและการ Optimize AI Model กว่าจะเสร็จทำไป 2 อาทิตย์โดยประมาณ โดยตัวม็อดนี้แปลข้อความในเกมประมาณ 20,000 บรรทัด (จริงๆ รวมพวก Action Key ต่าง ๆ ด้วย รวม ๆ ไปมันจะได้ดูเยอะ ๆ)
         แปลด้วย AI Translation และต้อง Manual Review ด้วยบางส่วน (เพราะเจอว่ามันแปล Close เป็น ใกล้ เลยต้องไล่ดู เฮ้อ แต่เอาจริงๆ ตอนเขียนอยู่นี่ก็ยังไม่ได้เล่นไปไหนไกลเลยนะ ฮาๆ) ด้วยความที่ตัว AI มันแปลได้ไม่สมบูรณ์ 100% ตอนแรกกะจะใช้ Google gemini แต่ไม่ไหวมั้ง มันจะเปลือง Token มากเกินไปเลยต้องมารันแบบ Local การ์ดจอ RTX 4070 TI Super (ไหวแบบพอประมาณ) โดย Model แรกที่ลองใช้คือ Qwen แต่ให้ตายพอมันหลอนๆ มันพ่นภาษาจีนมาเต็มเลยพระเจ้าช่วยทอดกล้วย ก็เลยต้องหาอันใหม่จนมาได้ Google Gemma 4 ซึ่งก็แปลได้ค่อนข้างดีเลยทีเดียว ได้โทนภาษาที่เข้ากับบรรยากาศโจรสลัดย้อนยุค หากท่านใดเจอคำแปลก ๆ แล้วมีเวลาจด รบกวนแจ้งมาที่ email อีกทีนะครับ คนเดียวไล่ไม่ไหวจริงๆ
         และส่วนสุดท้าย ฟอนต์ หลังจากที่งมอยู่กับวรรณยุกค์จมอยู่นาน ลองฟอนต์หลากหลายมากกะจะเอาแบบที่เข้ากับธีมเกมลงแล้วลงอีกจนในที่สุดก็ยอมแพ้แต่ก่อนหน้าจะยอมแพ้ขอใช้ฟอนต์ที่ดูทางการที่สุดก่อน TH Sarabun New สรุปจบทุกปัญหาไม่มีลอยไม่มีจมมีอย่างเดียวตัวบางไปหน่อยขนาดเรื่องใช้ตัวหน้าแล้ว

รายละเอียดตัวเกม

ชื่อเกมShadow Gambit: The Cursed Crew
Game Version1.2.133

Mod Specifications

Framework
BepInEx v6.0.0-pre.2
Plugin
ShadowGambitThaiMod v1.6.4
Runtime
.NET 6.0 v1.6.0
Unity Engine
2021.3.25f1
Hook Point
MiLocalization

Localization Tech Notes

กระบวนการแปลAI Translation + Manual Review
Model AIgoogle/gemma-4-26b-a4b
จำนวน String ที่แปล20,000+
คุณสมบัติระบบแปล
Hot-reloadFont InjectionAuto-merge

System Prompt & Rules

1ใช้ภาษาไทยเป็นหลัก
2ห้ามแปลชื่อตัวละคร สถานที่ และคำศัพท์เฉพาะ ให้คงรูปภาษาอังกฤษตามต้นฉบับ
3กฎเหล็ก: ห้ามมีตัวอักษร CJK (จีน/ญี่ปุ่น/เกาหลี) ปะปนโดยเด็ดขาด
4รักษาอักขระพิเศษ สัญลักษณ์ และโครงสร้างโค้ดต่างๆ ไว้ตามเดิมทุกประการ

Persona & Tone

ให้สะท้อนอารมณ์ของโจรสลัดที่ดูย้อนยุคและดุดัน บังคับใช้สรรพนาม "ข้า" และเรียกอีกฝ่ายว่า "เจ้า" ห้ามใช้คำลงท้ายหรือสรรพนามสมัยใหม่ (ครับ/ค่ะ/ผม/ดิฉัน) โดยเด็ดขาด ครอบคลุมถึงหน้าต่าง System UI ด้วย

Info for Nerd (ข้อมูลเทคนิคเชิงลึก)

IL2CPP สิ่งที่สร้างความยากกว่า Mono

Unity เกมส่วนใหญ่ build แบบ Mono ซึ่ง bytecode ยังอยู่ในรูปที่อ่านได้ง่าย แต่ Shadow Gambit เลือก build แบบ IL2CPP - C# ทั้งหมดถูกแปลงเป็น native C++ และคอมไพล์ก่อน ship ทำให้ runtime ที่คุ้นเคยหายไป และต้องใช้ interop layer พิเศษในการคุยกับ managed .NET จากฝั่ง plugin นั่นคือเหตุที่ต้องใช้ BepInEx 6.0.0-be.755 (IL2CPP build) แทน stable 5.x ที่คนส่วนใหญ่รู้จัก

One Hook to Rule Them All

แทนที่เราจะแก้ไฟล์ข้อความในเกมโดยตรง mod นี้ใช้ HarmonyX postfix patch เพื่อดัก method ตัวเดียวที่เกมเรียกทุกครั้งที่ต้องการแสดงข้อความ ผลคือไม่มีการแตะ game files เลย ไม่มีการแงะที่ยุ่งยากตอนจะ pack กลับเข้าไป ทำงานได้กับทุก version ของเกมโดยอัตโนมัติ (คิดว่านะ)

ระบบ lookup ทำงาน 2 ชั้น - ชั้นแรกค้นจาก ID ตัวเลขที่แม่นยำที่สุด ถ้าไม่เจอค่อย fallback ไปจับคู่จากข้อความภาษาอังกฤษ รองรับกรณีที่ game update แล้ว ID เปลี่ยนได้โดยไม่พัง

Font Injection ใน IL2CPP - ไม่ง่ายอย่างที่คิด

Unity IL2CPP ไม่ยอมให้สร้าง MonoBehaviour ใหม่ตรงๆ ต้องใช้ ClassInjector.RegisterTypeInIl2Cpp<T>() เพื่อบอก runtime ก่อนว่า type นี้มีอยู่จริง จากนั้น font replacer จะทำงานใน LateUpdate() ทุก frame สแกนและเปลี่ยน font ทุก Text component บนหน้าจอ
Font ถูกแพ็คเป็น Unity AssetBundle แยกไฟล์ ทำให้ swap font ได้โดยไม่ต้อง rebuild plugin รองรับ subtitle scaling แบบ rule-based ผ่าน GameObject path matching"

Hot-reload - แก้คำแปลโดยไม่ต้องปิดเกม

ระบบ FileSystemWatcher 3 ตัวคอยฟัง file changes แบบ real-time - ไฟล์แปล, font config, subtitle config แก้ไขไฟล์บนดิสก์แล้วเปลี่ยนทันทีในเกม ทำให้ review cycle เร็วขึ้นมาก ไม่ต้อง restart เกมทุกครั้งที่แก้คำแปล

AI Pipeline - และบทเรียนจาก CJK Contamination

ปัญหาที่เจอไม่ใช่แค่เลือก model แต่คือ data contamination - model แรกที่ลองพ่น CJK characters ปนมาในผลลัพธ์ภาษาไทย ทำให้ต้องสร้าง validation layer ที่ reject output อัตโนมัติทุกครั้งที่เจอตัวอักษรจีน/ญี่ปุ่น/เกาหลี ก่อนจะย้ายมาใช้ Gemma 4 ที่รัน local บนเครื่อง
นอกจากนี้ยังมี glossary lock - ชื่อตัวละครและคำศัพท์เฉพาะถูก inject เข้า system prompt ให้ model รู้ว่าห้ามแปล รวมถึง forbidden terms เพื่อรักษาโทนภาษาโจรสลัดย้อนยุค"

Auto-merge Detection

ระบบตรวจจับ string ใหม่ทำงานผ่าน reflection อ่าน internal dictionary ของเกมโดยตรงตอน runtime ถ้า entry count เพิ่มขึ้นจากที่รู้จัก ระบบจะ flag อัตโนมัติว่ามี string ใหม่รอแปล ทำให้ติดตาม game update ได้โดยไม่ต้องเปรียบ file ด้วยตาเอง

สัญญาอนุญาตและเครดิต

CC BY-NC-ND 4.0

ทีมงานผู้พัฒนา

ACiT ผู้พัฒนาม็อด (Mod Developer)

พร้อมดาวน์โหลดไฟล์ม็อดไทยแล้ว

รับไฟล์ Mod ภาษาไทย Font และขั้นตอนการติดตั้งแบบละเอียดแบบ Step By Step

ดาวน์โหลด
และวิธีติดตั้ง
ตั้งค่าความเป็นส่วนตัว