Skip to content

เตรียมแพตช์ก่อนเปิดให้เล่น ​

สารบัญ · คู่มือนักพัฒนา · คู่มือผู้เล่น

หน้านี้เป็นขั้นตอนสำหรับตอนเริ่มพัฒนา ตอนนี้เรายังค้นข้อมูลและร่างแผนอยู่ ยังไม่ได้แก้อีมูเลเตอร์ ตัวเกม ฐานข้อมูล หรือย้ายข้อมูลตัวละคร

1. ตกลงว่าแพตช์นี้จะเปลี่ยนอะไร ​

เลือกบทและกลุ่มแพตช์ใน release-plan.json วันที่ในประวัติศาสตร์เป็นของเซิร์ฟเวอร์เดิม ส่วนวันเปิดของเราให้กำหนดแยกเมื่อพร้อม Morroc กับ Moscovia เป็นสองบทใน Episode 12.1 ชุดเดียวกันของไทย อย่าเผลอแยกเป็นสอง Episode ที่เปิดคนละรอบ

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

2. เขียนค่าเดิมและค่าใหม่ให้เทียบกันได้ ​

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

ตรวจแยกเรื่องการฟื้น HP/SP เอง สกิลฟื้นพลัง ยา EXP ที่ใช้ขึ้นเลเวล EXP ที่ได้รับ มอนสเตอร์ สกิล จุดเกิด ดรอป ร้านค้า เควสต์ แผนที่ อาชีพ และตัวเกม กิจกรรมชั่วคราวต้องระบุว่าใครได้โบนัส เริ่ม–จบเมื่อไร และคิดโบนัสซ้อนกันอย่างไร

3. ตรวจว่าตัวละครเดิมเล่นต่อได้อย่างไร ​

เป้าหมายคือใช้ตัวละครเดิมเล่นไปกับโลกที่ค่อย ๆ เปลี่ยน ถ้าเราจะเก็บตัวละครไว้ต่างจากการล้างข้อมูลในอดีต ต้องบอกไว้ชัด เมื่อเปลี่ยนตาราง EXP ให้เลือกว่าจะรักษาเลเวล EXP สะสม หรือสัดส่วนที่เก็บไปแล้วแบบไหน

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

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

4. ทดสอบเกมชุดที่จะเปิดจริง ​

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

ขั้นตอนนี้จะทำเมื่อเริ่มพัฒนาอีมูเลเตอร์แล้ว ตอนนี้ยังไม่ได้ทดสอบกับเซิร์ฟเวอร์เกม

5. เขียนประกาศให้ผู้เล่น ​

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

6. เปิดอัปเดตและบันทึกผล ​

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

แบบบันทึกแต่ละอัปเดต ​

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

อ่านรายละเอียดการเก็บข้อมูลเกมเป็นชุดและการย้ายข้อมูลใน แนวทางการพัฒนา (อังกฤษ)


อ่าน Markdown ต้นฉบับ