เบื้องหลังโปรส่งจูบตัวใหม่ ในออดิชั่นทุกวันนี้

สวัสดีครับ ไม่เจอกันนาน วันนี้จะมาอัพบล๊อกประจำเดือนมิถุนายนซักหน่อย ไปๆ มาๆ กลายเป็นว่าอัพบล๊อกเดือนละครั้งไปแล้ว 5555+

วันนี้ผมจะมาพูดถึงเรื่อง โปรส่งจูบ ของออดิชั่นไทย (และอาจจะทั่วโลก) กัน

เรื่องราวทั้งหมด เริ่มจากการที่ผมได้รับแจ้งจากทางผู้พัฒนาโปร Miracle ว่า โปรส่งจูบใช้งานไม่ได้ ผมจึงทำการเริ่มตรวจสอบทันที

– ตรวจสอบจากโปรหลายๆ ค่าย พบว่าโปรส่งจูบพังกันหมด
– ทดสอบด้วยตัวเองหลายรอบ พบว่าไม่สามารถส่งจูบได้เลย

ผมจึง Confirm กับทาง Miracle ว่า Function นี้มีปัญหาจริงๆ แต่ไม่รับประกันว่าจะแก้ไขให้ได้มั้ย ปฏิบัติการ Bug Hunter จึงได้เริ่มขึ้นครับ ตอนนั้นเปิดมาจัดเต็มทุกเครื่องมือ ไม่ว่าจะเป็น Packet Intercept , Server Debugger บลาๆๆๆ

เสร็จแล้วผมเปิด Source Code ของตัว AuditionPVS ขึ้นมาเทียบ แต่ผมก็ผมปัญหาทันที เนื่องจาก source code ตัว Rev ล่าสุดที่ PVS มีนั้น ยังไม่ได้บล๊อก Kiss Hack เลย (อธิบายนิดนึง AuditionPVS บางครั้งระบบจะไปเร็วกว่า TH และบางครั้งก็จะช้ากว่าครับ ขึ้นอยู่กับแผนการอัพเดท ซึ่ง Kiss Hack นั้น TH อัพเดทเป็นที่แรกครับ ทำให้ PVS ยังไม่มี Code มา Commit ในส่วนนี้)

ซึ่งนั่นทำให้ผมถึงกับเอาเท้า (สุภาพแล้วนะครับ..) มาก่ายหน้าผากทันที เนื่องจากงานนี้ยากพอสมควรครับ ผมจึงต้องเปลี่ยนแผน นั่นก็คือ เขียนแก้เองซะเลย!!!

ผมก็พยายามจินตนาการว่า T3 จะ Patch Code ตรงส่วนใหนบ้าง และทดลองเขียนไปจนได้ผลแบบเดียวกันมา (ซึ่งหลังจากได้ commit ก็เป็นไปตามที่ผมคิดไว้จริงๆ) ซึ่งการทำงานในเฟสแรกนี้ ใช้เวลาไปทั้งหมดเกือบ 20 ชั่วโมงเลยทีเดียว เพื่อที่จะหาช่องโหว่ในโค๊ดที่ตัวเองเขียนไป และพยายามจินตนาการว่า T3 เขาจะแก้ตรงใหนบ้าง รายละเอียดตรงนี้ผมขอไม่บอกนะครับเนื่องจากมันเป็นส่วนที่ต้องเสียตังซื้อกับผม 😛

งานนี้ กาแฟ เป๊บทีน 10 ขวดท่าจะไม่พอ….

หลังจากได้  PoC  มาแล้วว่าน่าจะบั๊กตรงจุดนี้ ผมก็ไม่รอช้าครับ ทำงานเฟสที่สองทันที นั่นก็คือ การทดลองแล้วเก็บข้อมูลครับ ซึ่งตรงนี้ผมก็ต้องมานั่งเปิดหลายจอ เพื่อรัน Packet Intercept ทดลองส่ง packet หลายๆ แบบไป ทั้งทดลองใน PVS เพื่อดูการตอบสนองของ Server  จนแน่ใจ แล้วจึงมาทดสอบใน AuditionTH ครับ

ซึ่งหลังจากลองไปหลายๆ แบบ ผ่านไปวันกว่าๆ ความพยายามของผมก็สำเร็จ ซึ่งสามารถส่งจูบได้แล้ว ซึ่งวิธีการตอน Beta Test นั้น ใช้ 5 ไอดีที่ยังไม่ได้แต่งงานในการทดสอบครับ ช่องโหว่ของเซิฟอยู่ตรงนี้แหละ เท่ากับว่าส่งจูบครั้งเดียว ต้องเปิดถึง 5 จอเลยทีเดียว ในขั้นตอนการทดสอบผมเลย พยายามลดขั้นตอนลง (แต่จริงๆ Beta Test รอบแรกๆ ขั้นตอนซับซ้อนมาก จนคนใช้อาจ งง ได้ง่ายๆ) ถึงค้นพบว่า ไอดีเดียว แต่กดย้ายเซิฟไปๆ กลับๆ แบบรีตัวของ NPC นั้น สามารถทำให้ไอดีเดิมสามารถกลับมาส่งจูบได้อีกครั้ง จึงทดลองจนแน่ใจแล้ว จึงแจ้งผลไปยัง Miracle ว่า สามารถนำกลับมาใช้ได้นะ แต่ขอเวลาทดสอบมากกว่านี้ก่อน

หลังจากการทดสอบ Phase 2 เสร็จสิ้น เป็นการทดสอบหลายๆ แบบเพื่อดูข้อจำกัดของมัน แล้วถึงสรุปวิธีใช้ และข้อจำกัดของมันออกมา คือ

– ตัวส่งจูบ ต้องเป็นตัวที่ยังไม่ได้แต่งงานเท่านั้น
– ตัวส่งจูบ หลังจากส่งเสร็จไปรอบนึง ต้องกดย้ายเซิฟแล้วกลับมาเซิฟเดิม
– หากส่งจูบเสร็จแล้วออกเกม หรือย้ายเซิฟ จูบที่ส่งไว้จะหายทันที ต้องทำใหม่หมด

จริงๆ อันนี้จะเป็นปัญหามากหากไม่มีระบบหลายจอเข้ามาช่วย ไม่สิ การพัฒนาอาจจะไม่เกิดขึ้นเลยแหละ 😛

หลังจากได้ข้อสรุปแล้ว การทดสอบ Phase 3 จึงเริ่มขึ้น คราวนี้เชิญคนจากภายนอก คือทีมงานโปร Miracle เข้ามาร่วมในการทดสอบด้วย และอธิบายวิธีใช้ รวมถึงข้อจำกัดต่างๆ ถามตอบข้อสงสัย เพื่อความเข้าใจที่ตรงกัน (คือให้ทีมงานเขาใช้เป็นก่อนนั่นแหละ) หลังจากรู้แล้วว่าโปรแกรมทำงานยังไง ใช้ยังไง อธิบายเรียบร้อย ก็ถึงเวลาครับ

ผมจึงส่ง Source Code ตัวอัพเดท Function นี้ทั้งหมดไปให้ Miracle เพื่อทำการอัพเดทตัวโปรแกรมทันที ผมแจ้งกับทางนั้นว่า วิธีใช้ของมันเปลี่ยนจากหน้ามือเป็นหลังมือเลยนะ เขาก็บอกว่ายอมหมด ขอให้มันใช้ได้

ในวันเดียวกัน Miracle ก็อัพเดทส่งจูบใหม่ออกมา (คาดว่าคงมีการทดสอบกันภายในนั้นก่อนด้วย) ซึ่งก็อย่างที่ผมคิด ลูกค้าหลายๆ คนถึงกับมึนไปเลย เพราะวิธีใช้มันเปลี่ยน ก็ต้องปรับๆ ความเข้าใจกันไป มีทั้งคนที่เข้าใจ และคนที่ดราม่าอยู่เนืองๆ ท้ายนี้ ถึงอาจจะมีค่ายโปร “บางค่าย” ขโมยหลักการไปใช้โดยไม่ได้จ่ายค่า Patch ให้ผมนั้น ผมก็ขอทิ้งท้ายว่า ใช้กันดีๆ นะครับ อย่าก๊อบไปกันมาก เพราะถ้า Function นี้โดนบล๊อกอีกรอบ ผมอาจะแก้ไม่ได้แล้ว และอาจจะไม่ได้ใช้กันอีกแล้วก็ได้ แล้วก็จะเดือดร้อนกันทั้งหมดนั่นแหละครับ

Comments are closed.