วิทวัส กาญจนฉัตร: จากชีวิตเด็กติดเกม สู่การเป็นวิศวกรเฟซบุ๊ก

by blognone
22 February 2017 - 13:50

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

Blognone เคยสัมภาษณ์คุณวิทวัส กาญจนฉัตร ตอนนั้นทำงานอยู่กับบริษัท Turn ปัจจุบันย้ายมาทำงานกับ Facebook เป็นวิศวกรคนไทยที่สำนักงานใหญ่ของ Facebook ในแคลิฟอร์เนีย คุณวิทวัสเขียนเล่าชีวิตตัวเองว่ากว่าจะมาถึงวันนี้ได้ ก็เคยมีชีวิตเป็นเด็กติดเกมมาก่อนเช่นกัน

เนื่องในโอกาสครบรอบ 1 ปีที่ได้ทำงานที่ Facebook ในฐานะ Software Engineer (หรือที่คนไทยเรียกว่าโปรแกรมเมอร์) เลยคิดว่าเป็นโอกาสอันดีที่จะเขียนสรุปเรื่องราวที่ผ่านมา แต่รู้สึกว่ามีสิ่งที่อยากเขียนมากกว่าคือเรื่องเกี่ยวกับเกม เพราะจู่ๆ ที่เมืองไทยก็มีดราม่าเรื่องเกม เลยอยากบอกว่านอกจากปัจจัยอื่นๆ แล้ว การติดเกมก็เป็นหนึ่งปัจจัยสำคัญที่มีส่วนให้ผมมีทุกวันนี้ได้

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

ผมคิดว่าทักษะพื้นฐานที่สำคัญในการเป็นโปรแกรมเมอร์มาจาก (1) ความอยากสร้างสิ่งของด้วยตัวเอง และ (2) ภาษาอังกฤษ ผมได้ทักษะทั้งสองอย่างจากการที่ผมชอบเล่นเกมตั้งแต่เด็ก เนื่องจากที่โรงเรียนให้เรียนวิชาคอมพิวเตอร์ตั้งแต่ ป. 1 (สมัยที่ยังใช้ floppy disc 5.25”) ที่สอนให้เล่นเกมประเภท CAI (Computer Aided Instruction) เช่น Mario Typing, Super Solvers Treasure Mountain, Cove และเกมอื่นที่จำชื่อไม่ได้ (แต่จำชื่อ Command line เข้าเกมได้: rr1 rr2 sst ssr ssb)

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

ผมเลยมีความฝันอยากเป็นโปรแกรมเมอร์ตั้งแต่ตอนนั้น เพราะชอบอยู่กับคอมพิวเตอร์

(1) ความอยากสร้างสิ่งของด้วยตัวเอง

ที่บ้านมีเครื่องคอมพิวเตอร์ (Compaq Presario 7152 ที่มากับ Pentium 75MHz) เนื่องจากแม่มีวิสัยทัศน์อันยาวไกลที่อยากให้กิจการมีคอมพิวเตอร์ใช้ เป็นการเปิดโอกาสให้ผมหัดเขียนโปรแกรมตั้งแต่สมัยที่ผมยังเกรียนๆ โดยเริ่มจาก MS QBasic ที่แถมมาในเครื่อง โดยศึกษาคำสั่งเขียนโปรแกรมจาก Help files หลังจากนั้นก็หัดเขียนเว็บ HTML แบบง่ายๆ โดยอ่านหนังสือในห้องสมุด

พอได้คอมพิวเตอร์เครื่องใหม่ที่แรงขึ้น (Pentium 4) ก็หัดเขียนโปรแกรมบนวินโดวส์โดยใช้ Delphi 4 โดยศึกษาจากหนังสือที่ซื้อมา รวมถึงนิตยสารคอมพิวเตอร์ทั้งหลาย (สมัยนั้นอ่านนิตยสาร Computer Today, Microcomputer) ลองเขียนโปรแกรมแก้คะแนน Minesweeper, โปรแกรมรวม Shortcut แทนหน้าจอ Desktop ให้ที่บ้าน รวมถึงรับงานโปรแกรมแปลภาษาศัพท์การบิน จนสุดท้ายก็ได้สร้างสิ่งที่ออกสู่สายตาคนมากที่สุดตอนนั้น คือซีดีอนุสรณ์ของโรงเรียน

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

ตอนนั้นรู้สึกว่าโคตรว้าวจากกราฟฟิกของ Ez2Dj มันล้ำสมัยสุดๆ พร้อมทั้งเกมเพลย์อันสุดคูล เลยเป็นแรงบันดาลใจให้อยากสร้าง “เวอร์ชั่นของตัวเอง” ขึ้นมา (สร้างของก๊อปนั่นเอง) โดยเริ่มศึกษาว่าเขียนเกมด้วย DirectX ยังไง โดยอ่านจาก API help files พร้อมทั้งทำความรู้จักแนวคิด Screen buffering (เป็นหลักพื้นฐานการวาดภาพเคลื่อนไหวในเกม), การคำนวณภาพโปร่งใสจากค่า Alpha ในแต่ละพิกเซล เพราะอยากทำเอฟเฟกต์โน้ตระเบิดแบบอลังการ (Technical note: สุดท้ายแล้วก็ไม่ได้ใช้เพราะการคำนวณเอาเองแล้วใช้ DirectDraw วาด มันช้าเกินไปและทำให้เฟรมเรตตก เราควรใช้ Direct3D ซึ่งใช้การ์ดจอช่วยคำนวณตรงนี้ให้ดีกว่า) การใช้สมการเส้นตรงเพื่อคำนวณว่าถ้าจะวาดโน้ตให้ตกลงบนเส้นโดยที่เราสามารถปรับความเร็วโน้ตได้ระหว่างเล่นเกมแบบเนียนๆ ต้องทำอย่างไร และการอ่านสเป็กของไฟล์โน้ตเพลง (BMS) เพื่อให้เข้ากันได้กับไฟล์เพลงที่มีอยู่แล้วในอินเทอร์เน็ต

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

เกม DjMAH ที่เขียนส่งเป็นโปรเจกต์วิชา Programming Methodology ตอนเรียนวิศวะคอมปีสอง

(2) ภาษาอังกฤษ

ตอนเด็กๆ นอกจากเรียนภาษาอังกฤษที่โรงเรียนแล้ว การเล่นเกมก็เป็นการนำภาษาไปใช้ในชีวิตจริง ตอนนั้นติดเกมผจญภัยเก็บคำศัพท์เพื่อผ่านด่าน (เช่น Super Solvers Treasure Mountain) ทำให้เราได้ใช้ภาษาอังกฤษโดยไม่รู้สึกว่าเป็นภาระเลย (ใครมีลูกโตพอแล้วควรให้หัดเล่นเกมประเภทนี้)

แต่เกมที่คิดว่าพัฒนาภาษาอังกฤษให้มากที่สุดคือเกม Diablo II เพราะอุตส่าห์ซื้อมาแล้วต้องเล่นให้รู้เรื่อง เพื่อที่จะได้เคลียร์เกมแบบไม่ต้องพึ่งบทสรุป เกมนี้เป็นเกมที่มีเสียงพูดในทุกบทสนทนา ทำให้ได้ฝึกฟังไปในตัว นอกจากนี้ยังเล่นเกม StarCraft ที่ช่วยให้ฝึกเขียนโค้ดจากการสร้าง Custom map (ด่านที่สร้างเองนอกจากเนื้อเรื่องของเกม) รวมถึงเกม Resident Evil (ที่เป็นแรงบันดาลใจในการสร้างเกมกระดาษให้เพื่อนๆ เล่น) เกม Gex และเกม Final Fantasy VII (เวอร์ชั่นภาษาอังกฤษ) ที่บังคับให้อ่านเนื้อเรื่อง หรือถ้าขี้เกียจอ่าน อย่างน้อยเราก็ต้องอ่านภารกิจของเกม ซึ่งเป็นข้อความสั้นๆ ที่อ่านง่าย

สรุปคือนอกจากอ่าน Help files ภาษาอังกฤษเพื่อเขียนโปรแกรมแล้ว การอ่านและฟังจากเกมก็ช่วยได้มากเช่นกัน

สรุป

หนึ่งในสาเหตุที่ทำให้ผมได้มาทำงานที่ Silicon Valley ในประเทศอเมริกานี้ นอกจากการสนับสนุนที่ดีจากครอบครัว และทักษะที่จำเป็นในการเป็นโปรแกรมเมอร์ที่มาจากความอยากสร้างสิ่งของด้วยตัวเอง และภาษาอังกฤษแล้ว คือความพร้อมในการสัมภาษณ์งาน ความพร้อมนี้ก็มาจากการตกสัมภาษณ์หลายที่แหละ (ใจนิ่งพอ หลังจากโดนหักอก และไม่ลกเวลาสัมภาษณ์)

แต่มีครั้งหนึ่งที่ถูกถามให้เราออกแบบระบบของเกม (การออกแบบเกม เป็นลักษณะของปัญหาที่ซับซ้อน มันทำให้เราสามารถแก้ปัญหาการออกแบบระบบใหญ่ๆ ได้ด้วยเช่นกัน) ทำให้ผมนึกถึงเกม DJ เวอร์ชั่นที่ผมเคยสร้างไว้ ผมเลยเอาตรงนั้นมาตอบได้อย่างสบายๆ

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

นี่โตป่านนี้แล้วก็ยังเล่น DotA อยู่เลย เพราะนอกจากความสนุกแล้ว ยังเป็นการสร้างมิตรภาพระหว่างชายชาตรีด้วย

ภาพประกอบ: แฉ! เปิดบ้านวิศวกรหนุ่มใน Silicon Valley มั่วสุมเล่น DotA ทั้งวัน

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

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

สุดท้ายนี้ การที่ผมมีชีวิตในวันนี้ได้ ผมคิดว่ามันเหมือนกับการต่อจุด (Connect the dots) จากสิ่งที่เราทำมาในอดีต ซึ่งการที่ผมติดเกม และเคยเขียนเกมมาก่อน ก็เป็นจุดๆ หนึ่งจากหลายๆ จุดที่ผมเอามาเชื่อมต่อจนถึงปัจจุบัน

อย่างที่สตีฟ จอบส์ เคยกล่าวไว้ว่า:

You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever.

Blognone Jobs Premium