ในที่สุดผมก็ชนะมันแล้ว… ECS ใช้เวลา 3 เดือน
หลังจากตัดสินใจเริ่มออกเดินทางกับ ECS ผมก็กัดฟันแก้โค้ดหน้าหลักของเกมใหม่หมด ตอนนั้นผมคิดว่าน่าจะ 1–2 สัปดาห์นะ แต่มาดูโพสต์นี้… 3 months ago???
ผมดูถูก development time + learning time ไปอย่างมหาศาลเลยครับ ไม่คิดว่าจะเจออุปสรรคขนาดนี้
โดยเฉพาะเพราะมันเป็นการ migrate ที่ต้องค่อยๆขยับทีละชิ้นให้ทุกอย่างยังทำงานได้ ก็เลยค่อนข้างเสียเวลามาก มองย้อนกลับไปก็ยังรู้สึกว่าทำได้ค่อนข้างดีแม้จะใช้เวลาก็เหอะ ไม่คิดว่าจะทำได้เร็วกว่านี้
ผ่านมา 2 เดือน… ในที่สุด migration ก็เสร็จสิ้นโดยที่ยังไม่ได้ลองรันในเครื่องจริงแม้แต่ครั้งเดียว ลาก่อนโค้ดเก่าที่สร้างมาตลอด 2 ปี กลายเป็น 2 เดือนก็ไม่เลวนิ
แต่หายไป 2 เดือนก็น่ากลัวอยู่ว่าปีนี้จะเสร็จมั้ย เหมือน “อยู่ๆ” ก็หายไป 2 เดือน… -2 ออกจาก 12 เลยนะ!! นี่คือความน่ากลัวของเวลา… และความน่ากลัวของการเป็นคนกุม timeline ของ project ด้วยตัวเอง ต้องตัดสินใจเองจะเสี่ยงเสียเวลามั้ย หรือจะทำๆไปแบบเดิมค่อยมาโละใหม่ทีหลัง
จนถึงวันนึงผมมั่นใจมากถึงขนาดแชทไปอวดเพื่อนว่าทำสำเร็จแล้ว เตรียมใส่รองเท้าไปเล่นเกมเต้นเพราะสัญญากับตัวเองไว้ว่าจะเอารางวัลนี้ถ้า ECS เสร็จ แต่แล้วผมก็ตัดสินใจว่าจะเอาเทสให้กลับมาเขียวหมดก่อนดีกว่า (เทสยัด throw not implemented ไว้หมด เพราะใช้กับโค้ด ECS ใหม่ไม่ได้)
ใส่รองเท้าออกมาเรียบร้อยแล้ว เลี้ยวเข้าร้านกาแฟเฉยเลย ตอนนั้นก็คิดว่า โอเค สัปดาห์นี้ยอม เสาร์หน้าค่อยไปเล่นละกัน
แต่… a month ago??
ถึงกับต้องไปดู commit log เลยครับว่ามันเกิดอะไรขึ้น เวลาผมหายไปไหน??? เป็นหลักเดือน??
June 30 — July 7 หายไปไหน?? ทำไมไม่มี commit เลย ผมนี่นั่งงงอยู่พักนึงเพราะทุกวันนี้ก็ไม่ค่อยรู้วันรู้เดือนละ
ไปดู post ในเพจ Facebook เลยพอระลึกได้ว่า… มีลูกค้ามาทักเรื่อง Native Audio บน Android ไปๆมาๆเลยได้อัพเกรดกันยกใหญ่ ไหนๆก็ไหนๆแล้วละก็จะได้ใช้ในเกมเราด้วยแหละ
ทั้งๆที่รู้ว่าเอาเกมตัวเองให้เสร็จก่อนมันสำคัญกว่าแท้ๆ แต่ไฟแมร่งมา เพราะคนมาทักก็คนทำมิวสิคเกมเหมือนกัน ที่กำลังออกใหม่แล้วมาแรงอยู่ตอนนี้ด้วย เลยเหมือนกลายเป็นเพื่อนกัน เขาขอบคุณจนถึงกับคิดจะส่งเครื่อง Android Oreo มาให้ใช้ทำงานเพราะเขารู้ว่าเราไม่มีเครื่องเทสระหว่างช่วยกันดีบัค…
นั่นล่ะครับ หายไป 1 สัปดาห์ พร้อมความรู้ใหม่แน่นเอี๊ยดเรื่องเสียงกับ Android สรุปออกมาเป็นบทความนี้
Android Native Audio Primer for Unity Developers
In this article I will demystify some of the “black box” surrounding the Android audio system. Actually a supplementary…gametorrahod.com
โอเครู้สึกผิดน้อยลงละ แล้วอีก 3 สัปดาห์ที่เหลือ?
- 7 July — เก็บขยะโค้ดเก่าที่ทิ้งไว้
- Optimize ECS ต่ออีกเพราะเห็นช่องทางพอดี แล้วก็หลายๆจุด ECS แล้วแต่ไปผิดทางกลายเป็นแย่กว่าเดิม (ตรงนี้หมดไป 7 วันแล้ว)
- ดันพลาดทำ submodule เละ เลยได้โอกาสเปลี่ยนเป็น Unity Package Manager หายไป 2 วัน
- 13 July — ลองใส่ Burst ดูแต่ไม่ง่ายอย่างที่คิด หลายๆอย่างใช้ใน Burst แล้วพัง
- ดันหาเรื่องไป Stupid Hackathon Thailand 2 ทั้งๆที่รู้ว่าสภาพตอนนั้นอาจจะไม่ไหว แต่สุดท้ายก็คิดว่าโอเคที่ได้ไป สุดท้ายแล้วมัน epic กับตัวเองเกินจุดประสงค์ตัวงานซะอีก
- 17 July — ตั้งใจแก้ปัญหาเพลงไม่ตรงที่เรื้อรังมานานนับปี ตอนนี้มั่นใจขึ้นแล้ว
- 20 July — ดันไปดู talk ที่เขาว่าจะยกเครื่องเป็น TextMeshPro เป็น default หมดในปีหน้า เลยกัดฟันเปลี่ยน text
- ทริปภาค
- เริ่มแก้เทส ซะที!!!! จำได้มั้ยว่ากะจะเริ่มแก้ตั้งแต่วันที่ใส่รองเท้าออกมาวันนั้นแล้ว… จนเกิดความคิดว่าช่างแม่งดีมั้ย อยากเล่นเกมเต้น อยากเกมเสร็จ เกมจะไม่ maintainable ก็ช่างแล้ว…
- แต่สุดท้ายก็ไม่ช่างแม่ง ซึ่งเทสพวกนี้ จำได้ว่าใช้เวลากว่าครึ่งเดือนเขียนขึ้นมาสำหรับระบบเก่าที่โละไปแล้ว ทนดูมันกลายเป็นซากที่ไม่มีประโยชน์ไม่ได้ก็เลยกัดฟันแก้
และในที่สุด
ALL. TESTS. FUCKING. GREEN.
เสียเวลาอีก 1 สัปดาห์ครับ กับการกู้เทสกลับมา
ผมเคยเห็นฉากนี้มาก่อนแล้ว แต่ตอนนั้นหน้าต่าง Unity สีขาว และโค้ดเต็มไปด้วยความเละของตัวเองตลอด 2 ปี ตอนนี้ใหม่กิ๊ง เหมือนเพิ่งลอกคราบ เทสก็กลายเป็นท่า ECS หมด ทั้งเสก System มาอัพเดทเอง ทั้งสร้าง World ใหม่ใช้แล้วทิ้งเอง…
แล้วผมจะแสดงให้ดูว่าตัวคนเดียวก็เป็นไปได้นะ… ถ้ามีกองทัพตัวผมเองจากอดีตมาช่วยทำงาน (ก็คือเทสที่เขียนไว้ไง)
สุดท้ายก็โล่งใจหน่อยว่า จริงๆเราก็ไม่ได้ slack off นี่นะ แต่ทำงานคนเดียวไม่มีเจ้านายคอยจัดโปรแกรมทำงานได้มันเลยน่ากลัวว่า “ที่ผ่านมาเรากระจอกไปปะวะ…” หรือว่า “…เวลาหายไปไหนวะ” ยิ่งพอนับถอยไป 3 เดือนเป็นสงกรานต์ ยิ่งรู้สึกว่าสงกรานต์ก็เพิ่งผ่านมาแปปเดียวเองเหมือนเมื่อวาน ความรู้สึกแบบนี้ไม่เคยรู้สึกจริงๆ
ถ้าไม่มีเพจเกมทรหดกับ commit log ให้ดูนี่ผมจำอะไรไม่ได้จริงๆนะ จำได้แต่ว่าไม่ได้หยุดทำแน่ๆ 555
โอเค รออะไรอยู่ล่ะ
ไปเล่นเกมเต้น!!!!
ไม่ได้ไปเล่นเกมมานาน 3 เดือน มันจะต้องสนุกแน่ๆ : )