
นิยามสั้นๆ
ผู้ผลิตเกมในรูปแบบแอปพลิเคชันบนโทรศัพท์มือถือ คอมพิวเตอร์ แท็บเล็ต หรืออุปกรณ์อิเล็กทรอนิกส์ (Device) ทุกรุ่น
📃 ลักษณะงาน
- รับโจทย์จากลูกค้าหรือตั้งเป้าหมายงานที่ต้องการ คิด ออกแบบ และทำให้โปรแกรมนั้นสามารถทำงานได้ เพื่อสร้างเกมจากความคิดต้นฉบับให้เป็นจริงขึ้นมา และทำงานได้ถูกต้อง 100% ไม่มีข้อผิดพลาด โดยคำนึงถึงผู้เล่นเกมและอุปกรณ์ของผู้เล่นเป็นสำคัญ ตามที่ผู้ออกแบบเกมได้ออกแบบมา เปรียบเสมือนวิศวกรที่คิดคำนวณและก่อสร้างบ้านตามที่สถาปนิกออกแบบมาให้ สามารถสร้างได้สำเร็จและใช้งานได้จริงตามแบบ
- ทำงานเป็นทีมร่วมกับนักพัฒนาเกมคนอื่น โดยอาจแยกหน้าที่ออกเป็น
- นักพัฒนาเกมที่รับผิดชอบส่วนหน้าตาของเกม (Front-End Game Developer) ให้เป็นไปตามที่นักออกแบบเกมและนักออกแบบกราฟิกได้ทำงานไว้
- นักพัฒนาเกมที่รับผิดชอบส่วนโปรแกรม และคุณลักษณะต่างๆ ของเกม (Back-End Game Developer) ทำให้เกมเล่นได้ตามที่กำหนด และรักษาคุณภาพการทำงานของระบบเกม
- นักพัฒนาเกมที่รับผิดชอบเฉพาะส่วน เช่น เขียนโค้ดเฉพาะการเคลื่อนไหวของตัวละคร, เขียนโค้ดเฉพาะส่วน technical art, เขียนโค้ดส่วน UI เป็นต้น
📊 ขั้นตอนการทำงาน
ขั้นตอนการทำงานร่วมกับนักพัฒนาเกมคนอื่นภายในทีม มีดังนี้
- รับโจทย์จากผู้ที่ทำหน้าที่ออกแบบเกม (Game Designer)
- ประชุมหารือร่วมกับทีมนักพัฒนาเกม เพื่อวางแผนงาน ด้วยการ
- แบ่งงานออกเป็นส่วนๆ (Task) เพื่อเรียงลำดับงาน โดยพิจารณาจากความยากง่าย ความสำคัญ และความเร่งด่วน
- ทำการประเมินเวลาและจำนวนคนที่ต้องใช้ทำงานในแต่ละส่วน
- สรุปเป็นข้อตกลงกัน เรื่องการแบ่งการทำงานเป็นรอบๆ (Sprint) และกำหนดว่าในแต่ละรอบจะมีงานส่วนไหนที่ต้องทำให้สำเร็จบ้าง
- แยกย้ายไปทำงานในส่วนที่ได้รับมอบหมาย
โดยแต่ละคนรับผิดชอบจัดเวลาการทำงานของตนเอง
- ค้นคว้า (Research) หาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนั้น ๆ เช่น การทำเกมเตะฟุตบอล นักพัฒนาเกมต้องศึกษาหลักฟิสิกส์ของแรงเตะตามความเป็นจริง ว่าเมื่อลูกฟุตบอลโดนแรงเตะแล้วลูกจะลอยจะย้อยอย่างไรเพิ่มเติม
- เขียนโค้ดให้โปรแกรมทำงานได้ตามที่กำหนด
- ทดสอบการทำงาน แก้ไขเพิ่มเติม
- อัพเดทกับทีมเมื่อถึงกำหนดรอบการทำงาน และเลือกงานส่วนอื่นๆ สำหรับรอบการทำงานอื่นๆ ต่อไป
นอกจากนี้นักพัฒนาเกมยังมีการทำงานร่วมกับอาชีพอื่นภายในทีม ตามขั้นตอนต่าง ๆ ดังนี้
- รับผลงานกราฟิก หรือแอนิเมชั่น ที่ทีมผู้ออกแบบกราฟิก (Graphic Designer) และทีมผู้สร้างภาพ 3 มิติหรือผู้สร้างภาพเคลื่อนไหว (3D Modeler, 3D Animator) ได้สร้างสรรค์มา นำมาใส่ในเกม
- เมื่อเขียนโค้ด ทำเกม ใส่งานกราฟิกหรือแอนิเมชั่น ทดสอบการทำงานและแก้ไขเรียบร้อยแล้ว ส่งเกมให้ทีมนักทดสอบเกม (Game Tester) ได้ทดลองเล่นและตรวจสอบทุกระบบการใช้งาน รวมถึงทุกอุปกรณ์การเล่นเกม หากมีส่วนที่ต้องแก้ไข ทีมพัฒนาเกมจะรวบรวมตั้งเป็นรอบการทำงานเพื่อแก้ไข หลังจากแก้เสร็จแล้วส่งให้นักทดสอบเกมตรวจสอบจนกว่าจะไม่มีข้อผิดพลาด
- นำเกมขึ้นเผยแพร่ตามระบบต่างๆ และรับฟังเสียงตอบรับจากผู้เล่น
- หากเกมมีอีเวนท์พิเศษหรือต้องทำส่วนเพิ่มเติม ก็จะแบ่งงานเป็นส่วนๆ ตั้งรอบการทำงาน และทำไปตามขั้นตอนจนจบรอบการทำงาน จากนั้นนำไปให้นักทดสอบเกม ทดลองเล่น และนำเกมเผยแพร่
👩🏻💻 อาชีพที่ต้องทำงานร่วมกัน
- เป็นไปตามขอบเขตที่กำหนด (มักเติบโต เลื่อนขั้นมาจากผู้ออกแบบเกมที่ทำงานมานานแล้ว หรือนักพัฒนาเกมที่ทำงานมานาน)
- นักออกแบบเกม (Game Designer) ออกแบบแนวคิดหลัก (Concept) วิธีการเล่น กลไกต่างๆ ของเกม รวมถึงทิศทางภาพรวมของตัวละครและกราฟิกในเกม โดยคำนึงจากประสบการณ์ของผู้เล่น
- นักออกแบบกราฟิกในเกม (Graphic Designer) นักสร้างสรรค์ภาพ (Visual Artist) เป็นผู้ออกแบบ สร้างสรรค์ความสวยงามในเกม
- นักออกแบบสามมิติ (3D Modeler) และ นักสร้างภาพเคลื่อนไหว 3 มิติ (3D Animator) สำหรับเกมที่มีภาพ 3 มิติ
- นักทดสอบเกม (Game Tester, QA Quality Assistance) ผู้คอยทดสอบเกมก่อนปล่อยสู่ผู้เล่น ด้วยการตรวจสอบความถูกต้องของเกมในทุกๆ อุปกรณ์การเล่น และทุกๆ ความเป็นไปได้ที่ผู้เล่นจะกดคลิกไปได้ เพื่อรวบรวมสิ่งที่ต้องแก้ไขให้นักพัฒนาเกมกลับไปแก้
- ผู้สร้างระบบข้อมูลสำหรับเก็บข้อมูลและการเล่นเกมออนไลน์
🏢 สถานที่และเวลาทำงาน
อาจทำงานจากที่บ้าน หรือทำงานร่วมกับทีมที่ออฟฟิศ
ขึ้นอยู่กับแนวคิดและความสามารถในการจัดการของแต่ละบริษัท
ตัวอย่างการทำงานที่บ้าน (Remote 100%)
- ปกติทำงาน 9:00-16:00น. ยืดหยุ่นช่วงเวลาเริ่มและเลิกงานได้ โดยปกติจะมีชั่วโมงทำงานให้ครบ 8 ชั่วโมงต่อวัน
- เนื่องจากทีมงานจะต่างคนต่างทำคนละหน้าที่กันอยู่แล้ว ไม่จำเป็นต้องนั่งทำงานอยู่ในที่เดียวกัน แต่สามารถสื่อสารระหว่างการทำงานผ่าน Platform อะไรก็ได้ที่ได้ยินเสียงกัน
- มีระบบและกระบวนการทำงานที่มีการแบ่งงานเป็นส่วน (Task) ที่ชัดเจน เป็นรอบการทำงาน (Sprint) ที่ชัดเจน มีกำหนดเวลาและขอบเขตการทำงานอย่างชัดเจน เพื่อช่วยให้แต่ละคนรู้งานและหน้าที่ของตนเอง รวมถึงช่วยให้รู้และตรวจสอบปริมาณงานในแต่ละวันไดั
- ในบางโอกาสที่จำเป็น ก็ต้องประชุมหรือทำงานร่วมกันบ้าง เช่น เมื่อได้รับโจทย์มา จะมีการประชุมร่วมกันในทีมเพื่อระดมความคิด (Brainstorm) กำหนดและแบ่งงานกัน โดยประชุมกันทาง ออนไลน์
- หากบริษัทมีการจัดการงานและตารางเวลาทำงานที่ดี จะไม่จำเป็นต้องทำงานล่วงเวลา
ตัวอย่างการทำงานที่ออฟฟิศ
- เวลาเริ่มและเลิกงานขึ้นอยู่กับแต่ละบริษัท โดยมากคือจำนวนเวลาทำงาน 8 ชั่วโมงต่อวัน เช่น 10:00-19:00 น. (พักกินข้าว 1 ชั่วโมง)
- มีประชุมสั้นๆ (Stand-up Meeting) ก่อนเริ่มและเลิกงาน เพื่ออัพเดทสิ่งที่จะทำในวันนี้ และสิ่งที่ได้ทำไปในวันนี้ โดยกำหนดเวลาประชุมที่สะดวกกับทุกคน สำหรับคนที่ยังเดินทางมาไม่ถึงออฟฟิศ หรือต้องออกไปประชุม สามารถเข้าร่วมประชุมออนไลน์ได้
- มีระบบและกระบวนการทำงานที่แบ่งงานเป็นส่วน (Task) และรอบการทำงาน (Sprint) รวมถึงกำหนดเวลาขอบเขตการทำงานที่ชัดเจน เพื่อมีกรอบเวลาและปริมาณงานในการทำงานแต่ละส่วนที่ชัดเจนและทันกำหนดเวลา
- มีการประชุมเพื่อระดมความคิด หรือแก้ปัญหาปรับความเข้าใจให้ตรงกันกับภายในทีม รวมถึงกับทีมอื่นๆ แบบ offline
- อาจมีกำหนดส่งงานที่จำเป็นต้องทำงานล่วงเวลาเพื่อทำให้งานเสร็จ การได้ค่าตอบแทนการทำงานล่วงเวลา ขึ้นอยู่กับแต่ละบริษัท
✅ ความรู้ความสามารถที่ต้องใช้
- ต้องสามารถเขียนโปรแกรมได้ โดยแต่ละโปรแกรมมีวิธีเขียนที่ไม่เหมือนกัน แต่หลักการเขียนค่อนข้างเป็นหลักการเดียวกัน ดังนั้น การเขียนโปรแกรมหนึ่งๆ ได้จะเป็นพื้นฐานที่ทำให้สามารถเรียนรู้การเขียนโปรแกรมอื่นๆ ได้
- มีความสามารถในการพิมพ์คีย์บอร์ดได้คล่อง เพราะต้องใช้พิมพ์สิ่งที่คิดออกมาเป็นโค้ดให้ได้ในเวลาน้อยที่สุด
- มีทักษะทางคณิตศาสตร์ จะทำให้เรียนรู้การเขียนโปรแกรมได้ไว
- มีทักษะทางภาษาอังกฤษ จะเป็นข้อได้เปรียบในการศึกษาหาความรู้เพิ่มเติม
- รู้จัก เข้าใจ และมีความรู้ในการใช้งานอุปกรณ์ (Device) ที่ใช้เล่นเกม เช่น การสัมผัสหน้าจอ การใช้นิ้วลาก เป็นต้น
- สนใจและศึกษาอัพเดทอุปกรณ์ใหม่ๆ เสมอ เพื่อเขียนโปรแกรมที่ทำให้เกมสามารถเล่นได้บนทุกอุปกรณ์ ทุกรุ่น เช่น เมื่อมีโทรศัพท์มือถือรุ่นที่พับหน้าจอได้ออกมาใหม่ นักพัฒนาเกมต้องศึกษาและทดสอบการเล่นเกมบนอุปกรณ์นี้ เป็นต้น
- มีทักษะในการสื่อสารเป็นสิ่งที่สำคัญมาก ต้องสื่อสารได้ชัดเจน คุยกับทีมตนเองและทีมอื่นๆ ได้รู้เรื่อง เช่น ตรวจสอบว่าเข้าใจตรงกันหรือไม่? สิ่งที่ส่งมาให้นี้ถูกต้องแล้วหรือไม่? เป็นต้น เพราะนักพัฒนาเกมเป็นคนสุดท้ายที่สร้างและประกอบทุกอย่างให้ออกมาเป็นเกม ก่อนที่จะปล่อยเกม แจกจ่ายให้ผู้เล่นทั้งหมดสามารถเข้าถึงได้
- มีความละเอียด รอบคอบ
- มีวินัยในตนเอง
- คิดหาวิธีที่เรียบง่ายเพื่อเขียนโค้ดที่ดีที่สุด (ง่ายและเร็ว) ก่อนลงมือเขียน โดยอาจคิดทบทวนอย่างถี่ถ้วน หรือปรึกษานักพัฒนาเกมผู้อื่น เพื่อหาแนวทางในการเขียนโค้ด
- สนใจเกม ชอบเล่นเกม (แต่การชอบเล่นเกมเพียงอย่างเดียว ไม่สามารถทำให้เป็นนักพัฒนาเกมได้ ต้องมีองค์ประกอบและความสามารถอื่นๆ อีกมาก)
- มีความชอบและอยากทำเกม เมื่อได้ทำเกมออกมาจริงๆ จะทำให้มีความสุข และหากได้การตอบรับที่ดี ก็จะเป็นแรงผลักดันที่ดี
💵 โอกาส ความท้าทาย และผลตอบแทน
- บางบริษัทรับนักพัฒนาเกมเข้าทำงานด้วยการดูผลงานที่เคยทำมา โดยไม่จำเป็นต้องมีวุฒิเรียนจบที่ตรงสาย โดยมากตอนสัมภาษณ์ก่อนเข้าทำงานจะมีการให้ทำแบบทดสอบให้ลองทำเพื่อดูว่าสามารถเขียนโปรแกรมได้หรือไม่
- เป็นอาชีพที่ไม่มีใบประกอบวิชาชีพ
- เงินเดือนเฉลี่ย 20,000 บาท และอาจไต่ระดับตามความสามารถไปจนถึงเงินเดือนหลักล้าน
- บางบริษัทมีสวัสดิการ เช่น สั่งข้าวฟรี มีบัตรนวดให้ ได้โบนัสปลายปี ได้หุ้นของบริษัท มีค่าเสื่อมของคอมพิวเตอร์และค่าไฟให้หากใช้คอมพิวเตอร์ของตนเองทำงานที่บ้าน
- เส้นทางอาชีพ (Career Path) ค่อนข้างชัดเจน เริ่มจากการทำงานระดับที่ไม่ซับซ้อน ไปจนถึงการทำระบบและงานจัดการหรืองานบริหาร
- นักพัฒนาเกมระดับเริ่มต้น (Junior Game Developer)
- นักพัฒนาเกมระดับกลาง (Mid-Level Game Developer)
- นักพัฒนาเกมอาวุโส (Senior Game Developer)
- หัวหน้าทีมเกม (Game Leader)
- ผู้กำกับเกม (Game Director)
- นอกจากได้รับผลตอบแทนเป็นเงินแล้ว จะได้ความสุขในการทำงาน (หากเป็นคนที่ชอบเล่นเกม) และได้ความชื่นใจ เมื่อได้รับเสียงตอบรับ (Feedback) จากเกมที่ตนเองทำ
- สิ่งที่ต้องแลกมาจากการทำอาชีพนี้ คือ อาการปวดกล้ามเนื้อและเยื่อพังผืด จากการใช้กล้ามเนื้อมัดเดิมซ้ำๆ (อาการออฟฟิศซินโดรม Office Syndrome) เนื่องจากนั่งท่าเดิมเป็นระยะเวลานานต่อเนื่อง ต้องคอยเปลี่ยนท่าบ่อยๆ และออกกำลังกายสม่ำเสมอ
- หากมีงานด่วนที่ต้องทำให้เสร็จภายในเวลาที่ด่วนมากเกินกว่าที่จะทำได้ ก็จะต้องใช้พละกำลังมาก หรืออาจจะต้องทำงานให้เสร็จภายใต้แรงกดดันมากๆ จึงควรต้องมีจิตใจที่แข็งแกร่ง แต่ถ้าไม่ไหวหรือทำไม่ได้จริง ๆ ก็จะต้องสื่อสารเพื่อให้ทีมมาช่วยสนับสนุน
- ลักษณะการทำงานถึงแม้จะเป็นการทำงานเป็นทีม แต่ก็ต้องมีจิตใจที่แข็งแกร่งและมีวินัยด้วยตนเอง รับผิดชอบและทำงานส่วนที่ตนได้รับมอบหมายให้สำเร็จให้ได้
- แนวโน้มในอนาคต: เป็นอาชีพที่เป็นที่ต้องการมากขึ้น เพราะการเกิดขึ้นและพัฒนาของจักรวาลนฤมิต (เมตาเวิร์ส หรือ Metaverse) ซึ่งเป็นโลกเสมือนที่สร้างด้วยระบบความจริงเสมือน (VR–Virtual Reality) และระบบสามมิติ (3D– 3 Dimension) ซึ่งจะทำให้เกิดเกมที่เล่นเพื่อสะสม สินทรัพย์ดิจิตัล ประเภทที่ไม่สามารถทำซ้ำหรือคัดลอกได้ (NFT – Non-Fungible Token) เป็นจำนวนมาก และเกิดบริษัทผลิตเกมประเภทนี้จำนวนมาก
- ประเทศไทยเป็นประเทศที่มีคนเล่นเกมเยอะมาก แต่คนที่ผลิตเกมจริงๆ เพื่อขายสำหรับเล่นเพื่อความบันเทิงยังไม่ค่อยมี ส่วนมากเป็นคนทำเกมที่ใช้เป็นสื่อเสริมการเรียนรู้
- การเรียนต่อปริญญาโทในประเทศไทย ยังไม่มีสาขาด้านนักพัฒนาเกมเรียนโดยเฉพาะ เนื่องจากสาขานี้ในระดับปริญญาตรียังเพิ่งมีในประเทศไทยไม่นาน การศึกษาต่อในระดับปริญญาโทอาจต้องไปต่อที่ต่างประเทศ ซึ่งน่าจะเป็นการเรียนเชิงลึกทางด้านการเขียนโปรแกรม
🖥️ ช่องทางการศึกษาความรู้เพิ่มเติม
Blackeys
ช่องใน Youtiube ที่เป็นที่รวมคลิปสอนและให้ความรู้เกี่ยวกับการพัฒนาเกมที่เข้าใจง่าย แบ่งเป็น Playlists ต่าง ๆ เช่น How to make a video game, How to make a defense tower game, How to make อีกหลาย ๆ อย่างใน Playlist แต่ต้องเข้าใจว่าเทคโนโลยีมีการพัฒนาและเปลี่ยนแปลงรวดเร็ว บางคลิปอาจจะเก่าไปแล้ว เช่นบางคลิปสอนไว้ตั้งแต่ปี 2016 บางทีปัจจุบันนี้อาจจะไม่เขียนโค้ดอย่างที่สอนในคลิปแล้ว ต้องศึกษาต่อเพิ่มเติม และลองอ่านที่คอมเมนท์ด้วยว่ามีคนถามไหม ว่ายังเขียนแบบนี้ได้อยู่อีกหรือไม่
https://www.youtube.com/c/Brackeys
ยูทูปเบอร์ สายโค้ดเกม
(1) https://www.youtube.com/c/Blackthornprod
(2) https://www.youtube.com/channel/UCIabPXjvT5BVTxRDPCBBOOQ
(3) https://www.youtube.com/c/CodeMonkeyUnity
หาเวทีประกวดเพื่อประสบการณ์เพิ่มเติม เช่น
- การแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย (National Software Contest – NSC)
- งาน Game Talent Showcase ที่จัดโดย สมาคมอุตสาหกรรมซอฟต์แวร์เกมไทย (TGA) ร่วมกับ สำนักงานส่งเสริมเศรษฐกิจดิจิทัล (ดีป้า) ที่เปิดโอกาสให้เยาวชนไทยที่มีความสนใจในอุตสาหกรรมเกมได้นำเสนอผลงาน รวมถึงมีโอกาสได้พูดคุยเชิงธุรกิจกับนักลงทุนต่าง ๆ
ข้อมูลสายการเรียนที่เกี่ยวข้อง
มัธยมศึกษาตอนปลาย
- สายวิทย์-คณิต
- (ปัจจุบันมีโอกาสสำหรับนักเรียนทุกสายการเรียน แต่จำเป็นต้องมีความรู้และทักษะ สามารถสอบวัดระดับและผ่านเกณฑ์คัดเลือกต่างๆ ตามที่กำหนดด้วย)
ปริญญาตรี เช่น
- คณะเทคโนโลยีสารสนเทศ สาขาวิศวกรรมคอมพิวเตอร์
- คณะวิศวกรรมศาสตร์ สาขาวิศวกรรมคอมพิวเตอร์
- คณะวิศวกรรมศาสตร์และเทคโนโลยีอุตสาหกรรม สาขาวิศวกรรมคอมพิวเตอร์
- คณะเทคโนโลยีสารสนเทศและการสื่อสาร สาขาวิชาวิศวกรรมซอฟต์แวร์
ปริญญาโท เช่น
- หลักสูตรวิศวกรรมศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมคอมพิวเตอร์
- หลักสูตรวิศวกรรมศาสตรมหาบัณฑิต สาขาวิศวกรรมไฟฟ้าและคอมพิวเตอร์
ปริญญาเอก
- หลักสูตรปรัชญาดุษฎีบัณฑิต สาขาวิศวกรรมคอมพิวเตอร์
*ข้อมูล ณ ปี 2567