ซิปรูดอยู่ แต่กางเกงมันบาน

อย่างที่เล่าไปในเพจหลายรอบในช่วงนี้.. ตอนนี้ผมอยู่ในช่วงกัดฟันแปลงเกมเป็น ECS อยู่ โค้ดเดิมที่ทำมา 2 ปีต้องรื้อใหม่หมดแต่ก็ตัดใจทำ เพราะอันเก่า optimize จนหมดไอเดียแล้วก็ยังไม่พอ มาเจออันนี้ พอรู้สึกว่าถ้าทนทำแบบเก่าไปต่อซักวันอาจจะต้องรื้ออีกก็เลยเอาวะ รื้อเลย

ตอนนี้ผ่านมาประมาณเดือนกว่าแล้วมั้ง สัญญากับตัวเองไว้ว่าถ้าเสร็จแล้วจะไปเล่นเกมเต้นที่เดอะมอลงาม สัปดาห์นี้แหละะ แล้วก็ … ต่อมาก็ สัปดาห์นี้แหละะ แล้วก็ ​… เออ ยากกว่าที่คิดวะ 555 ไม่ทันไรเวลาก็หายไปเป็นเดือน ตอนแรกคิดว่า port โค้ดที่รู้ว่าสุดท้ายจะเป็นไงบ้างอยู่แล้ว จะง่ายๆ

เมื่อวาน เกมเริ่มกลับมาเหมือนเดิม!! ก่อนที่ผมจะตัดสินใจพังโค้ดจนเละไม่มีชิ้นดี มาเมื่อวานนี้แหละที่มันกลับมารันได้แล้วดูเหมือนเดิม (ไม่เหมือนที่มันเร็วขึ้น …น่าจะ) ยังขาดอะไรอีกนิดดดเดียวก็พร้อมถึง the promised moment ที่ผมจะ build ลงเครื่องอีกทีแล้วเอา profiler มาเทียบกับที่เซฟไว้เมื่อเดือนก่อนว่าจะต่างกันแค่ไหน

วันนี้เลยมั่นใจมาก ใส่รองเท้าไม่แตะออกมาทำงาน เพื่อที่ถ้าถึงฝั่งฝันได้ทันจะได้นั่งรถไปเดอะมอลงาม ไปรับรางวัลที่รอมาแสนนานได้เลย

เวลาผ่านไปจาก 10 โมงถึงเที่ยง ถึงบ่ายโมง โดน sidetrack ไปหลายนัด เออ ตรงนี้ if เยอะ ตรงนี้อ่านงงแฮะลองแก้หน่อย อ้าว แก้แล้วทำไมพังแค่ refactor แท้ๆ 555 เออว่ะ ตรงนั้นก็ยังไม่ ECS เลยแต่ไม่มีผลกับ game play… แต่นี่จะบ่ายสองแล้วถ้าไม่ออกไปเล่นตอนนี้ก็จะกลับค่ำไปรถติดแน่เลย เอๆๆๆ จะถือว่าเสร็จแล้วไปเลยดีมั้ย สู้กับตัวเองอย่างรุนแรงมาก บ่ายนี้ เหมือนคนติดยาที่พยายามเลิกมาเป็นเดือน แล้วกำลังจะโยโย่กลับไป นี่เท้าอยากจะเดินไปหาตู้เกมมาก

สุดท้ายก็ยอมแพ้! พอนึกถึงตัวเองที่รอมาเป็นเดือน ถ้าไปเล่นวันนี้ก็คงฟินแหละเกมกลับมาเล่นได้แล้ว แต่ในใจมันคงมี “แต่ว่า..​ที่จริงตรงนั้นยังเหลืออีกนิด 555” อยู่ แล้วมันคงน่าเสียดายรางวัลที่ดองมาอย่าง epic (ไม่รู้จะได้มี moment ดองรางวัลแบบนี้อีกมั้ย โละโค้ดเกมก็คงไม่ได้ทำบ่อยๆ ก็เลยเสียดาย impact ที่จะได้)

ถึงเสร็จอีกนิดนึงแล้วกลับมาเหมือนเดิม 100% ก็เหลือ unit test / integration test ที่ยังไม่ได้แก้ให้มันไม่พัง (มันพังเพราะ ECS ไม่ได้พังเพราะเทสมันผิดจริงๆ) งั้น… ใช้เวลาอีกนิดเอาให้มันดีๆไปเลย ทำเทสให้ใช้ได้เหมือนเดิมด้วย แล้วค่อยไปเล่นเสาร์หน้า รางวัลมันคงหอมหวานนนนน มากน่าดู วันนั้นมันจะสนุกแค่ไหน ก็เลย นั่นแหละครับ ยอมแพ้ละวันนี้ ใส่ร้องเท้ามาร้านกาแฟ แล้วก็กลับ 555

การไม่หลุดสัญญาตัวเองง่ายๆ ถือเป็น skill passive อย่างนึงที่ผมเก่งขึ้นชัดๆเลยล่ะมั้งสำหรับการทำงานกับตัวเองมา 1 ปีกว่า (จะเข้าปีที่ 2 แล้ว ที่จริง) ก็คือเคารพตัวเองมากๆ แต่ก่อนคิดจะไปเล่นเมื่อไหร่ก็ไปเลย ตอนนี้ โมโหตัวเอง “เป็นแล้ว” ซึ่งจำเป็นมากเลยกับงานที่ไม่มีเจ้านาย ไม่มี deadline

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

เข้าสู่ครึ่งปีหลังแล้วยิ่งรู้สึกว่า จะทันป่ะวะ เข้าไปทุกวัน ครึ่งปีแรกยิ่งไม่คิดว่าจะมี ECS อะไรนี่เสนอหน้ามา ก็เลยเสียเวลาไปอีกเดือนแบบไม่น่าเชื่อ… ถ้าทำสัญญาตัวเองอีกข้อที่ว่า “จะเสร็จปีนี้” ไม่ได้มันคงเจ็บจี๊ดน่าดู ตอนนี้ งานพิเศษเข้ามาก็ต้องยกเลิกรัวๆมีทริปมีอะไรก็กลัวจนไม่กล้ารับ เพราะตอนวันทริปมันก็ดูห่างจากปลายปีอยู่หรอก แต่กลัวยิ่งใกล้ปลายปีจะยิ่งรู้สึกเฟลที่ไม่ได้นึกถึงความกระชั้นชิดล่วงหน้า (เหมือนเมื่อต้นปี ก็ความเร็วน้อยกว่าตอนนี้เพราะไม่ได้คาดว่าจะความเร็วช้ากว่าที่ควร)

มีงานนึงเข้ามา ใช้เวลาคาดว่า 2 เดือน ได้ 1 แสน ได้เยอะเหี้ยยยยยย (แล้วก็ถ้ามือขึ้นจริงๆ คิดว่าเดือนเดียวอาจจะเสร็จได้) แต่ก็ต้องไม่รับไปเพราะเคารพตัวเองมากกว่า คิดว่าการที่ต้องเสร็จปีนี้มูลค่ามากกว่า 1 แสนอีก เลยไม่อยากเสี่ยง แล้วเอางานไปประกาศให้คนอื่นแทนไปแล้ว โอกาสที่งานจะงอกเป็น 3–4 เดือนก็มี คูณเผื่อไว้ก่อนด้วย

ถ้าตัวเองแต่ก่อน ก็คง โอเครับดิ แล้วก็เลื่อนคำสัญญาไปเป็นเสร็จเดือนกุมภาปีหน้าแทน แบบนี้สิถึงไม่โง่ แฮปปี้… ตอนนี้ตัวเองไม่เหมือนเดิมแล้ว มีเงินมาล่อขนาดนี้ยังไม่สะเทือน แปลกใจเหมือนกัน

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