แรงบันดาลใจจากบทความ เริ่มศึกษา JavaScript อย่างไรในวันที่ framework มีมากมายจนเลือกไม่ถูก
จากการอ่านบทความข้างต้น ประกอบกับประสบการณ์ที่ได้สัมผัส แต่ละคนมีที่มาแตกต่างกันไป
บางคนเขียน code มาบ้าง บางคนไม่เคยเขียน code เลย แต่ไอเดียเต็มกระบาล (อาศัยว่าเล่นมาเยอะ เติมมาแยะ)
แต่เกือบทั้งหมด เดินทางมาถนน8เลนใหญ่สายเดียวกันคือ
ใช้อะไรดีทำเกมดี?
พอถามต่อออกไปอีกหน่อยจะกลายเป็นคำถามที่เจาะจงมากขึ้นสองคำถาม
1. ควรเริ่มด้วยวิชา programming, คณิตศาสตร์ ให้คล่องก่อนไหม
ลองขึ้นงานเองจากไม่มีอะไรเลย(from scratch)ก่อน พอคล่องแล้วค่อยมาเลือก engine
2. ควรจะเลือก engine/library ไหนดี
Q: เริ่มต้นที่พื้นฐานก่อนดีกว่าไหม?
A: แน่นอนว่าพื้นฐานสำคัญมาก ผมเคยเจอคนที่ใช้เครื่องมือเป็นอย่างเดียว
แต่ไม่เข้าใจแนวคิดหรือวิธีการที่สำคัญๆของ Game Development เลย
พอสิ่งที่จะทำมันไม่สามารถทำได้อย่างตรงไปตรงมาด้วยเครื่องมือที่มี
ก็จะไม่สามารถพลิกแพลงได้ (ทำได้เท่าที่ starter pack มันมี #อูยยย)
หรือพอเจอปัญหาที่ต้องอาศัยความเข้าใจพื้นฐานในการวิเคราะห์ก็ถึงกับไปต่อไม่เป็น
แต่เริ่มอ่านพื้นฐานทั้งหมดก่อนก็ไม่ practical ในโลกการทำงานเท่าไหร่
ข้อเสียของมันคือ ไม่รู้ว่าต้องใช้เวลานานแค่ไหน แม้โลกนี้มี engine จะมีอยู่มากมายหลายฉลาก
แต่การศึกษาพื้นฐานโดยไม่ได้ผ่านการทำจริงนั้น
เราไม่มีทางรู้เลยว่าตอนนี้เราเข้าใจเรื่องนี้ดีแล้วหรือยัง แล้วต้องศึกษาอีกมากแค่ไหน
โจทย์จริงกับสิ่งที่อ่านไม่เหมือนกัน
หลายครั้งที่ถูกถามว่า ผมต้องไปลงเรียน computer graphic (ได้ทำเดโม เอาshapeมาหมุนๆ
ควบคุมด้วยโค้ด C++ กับ GLUT ตามสมัยนิยมเมื่อนานมาแล้ว)หรือไม่?
โดยส่วนตัวผมนั้น ลองทำดูก็ไม่เสียหลายนะ(แต่ใช้ตัวที่ตอบรับกับกระแสโลกหน่อยก็ดี เช่น OpenGL 3.x ขึ้นไปหรือ vulkan)
แต่ด้วยความเยอะในขั้นตอน อาจจะขาดความรู้สึกของการทำของสำเร็จ (ตามที่มโนในหัว)
การไม่ได้ลงมือทำในโปรเจคจริงๆมันทำให้ไม่ได้ลิ้มรสความสุขตอนที่เราทำได้
ซึ่งความรู้สึกนี้คือแรงผลักดันสำคัญให้ไปต่อ
ดังนั้นเราจึงเห็นคนมากมายที่อ่านอยู่สักพักก็ล้มเลิกไป
Q: หยิบ engine มาลุยเลยเหรอ ทั้งๆที่ไม่รู้พื้นฐาน เลยเนี่ยนะ?
A: ก็ได้นะ ลงมือทำเลย แต่ถ้ามั่วไปเองอย่างเดียวจะเข้าป่าได้ (และก็จะวิ่งชนขีดจำกัดอย่างจังงงง)
ผมแนะนำว่าระหว่างนั้นให้ศึกษาเพิ่มเติมไปด้วยดังนี้
จากประสบการณ์ของผม ความรู้พื้นฐานเมื่อบวกกับโจทย์จริงจากตัวงาน
จะช่วยเชื่อมโยงเราไปยังความรู้ส่วนอื่นๆของตัว script ทำให้เราค่อยๆเข้าใจมันมากขึ้นเรื่อยๆ
ควบคู่กับการที่เราได้ทำของเสร็จไปเป็นอย่างๆด้วย
ได้ทั้งความรู้ ได้ทั้งตัวงาน ได้ทั้งความสนุกที่ได้ทำ
สิ่งเหล่านี้จะผลักดันเราไปข้างหน้าเรื่อยๆ รู้ตัวอีกทีเราก็เข้าใจโลกขึ้นกว่าเดิมอีกเยอะเลย
Q: แล้วใช้ engine ไหนดี?
A: อันไหนก็ได้ครับ
เอาที่ชอบที่ชอบ ถ้ายังไม่ได้มีความชอบอะไรเป็นพิเศษก็ลองถามเพื่อนดู
ถ้าไม่มีใครให้ถาม ก็มั่วเอาก็ได้ครับ แต่ละตัวมันมีข้อดีของมัน
คนที่มีประสบการณ์เยอะหน่อยจะเริ่มมองเห็นว่าเขาควรจะเลือกอันไหน แต่คนที่พึ่งเริ่มจะเดาทางตัวเองยาก
เพราะฉะนั้นลองหยิบมาสักอันแล้วทำดูครับ ใช้ไปสักพัก
พอความเข้าใจเริ่มมากขึ้น ก็ค่อยไปลองดูว่า engine อื่นๆมันต่างจากของเรายังไง
อันไหนท่าทางจะถูกจริตเรามากกว่า ก็ค่อยเปลี่ยนก็ได้
ทั้งหมดนี้เป็นเพียงความเห็นส่วนตัวของผมเท่านั้น แต่ละคนมีวิธีการเรียนรู้ที่แตกต่างกันไป
ถ้าไปถามคนอีกสิบคน ก็จะได้คำแนะนำที่แตกต่างกันสิบอย่าง ลองไปถามความเห็นจากหลายๆที่แล้วเลือกวิธีที่ชอบสักอันครับ
ขอให้สนุกกับการเรียนรู้ครับผม
หมายเหตุ: เป้าหมายในการที่ชีวิตของเราได้เข้ามายุ่งเกี่ยวกับการทำเกมนั้น
บ้างก็แค่อยากให้ชีวิตมีติด achivement ว่า
“กูมีเกมของตัวเองตั้ง 1 เกม publish อยู่ใน abcxyz โว้ย”
บ้างก็อยากทำกันแบบลงหลักปักฐาน ได้งานได้อาชีพ
บลา บลา บลา
วิธีการที่นำมาสู่ เกมแรก ขึ้นอยู่กับความชอบความถนัดครับ แต่……
ถ้าชีวิตคุณกับเกมไม่ได้หยุดที่คำว่า the end หลัง credit roll
ต่อจากนี้ จะมีหลายฝ่ายที่มอบความคาดหวังว่าคุณทำได้(ตามที่เขาเคยรับรู้ผ่านหูตา)
(แต่ลึกๆเองนั้นคุณทำได้ตามที่ engine พึงมี)
ก็ฝากไว้พิจารณาครับว่า จะเดินทางอย่างไรดี