7 เมษายน 2560

[สอนสร้างเกม] เรียนสร้างเกมกับมิกิจัง : บทที่ 2 เกมเอนจิน (Game Engine)

ติดตามและพูดคุยกับเราได้ที่เพจ https://www.facebook.com/PlanilaGameDeveloper

***จากนี้ไปจะเรียก "การสร้างเกม" ว่า "การพัฒนาเกม (Game Development)"***

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


เกมเอนจินคืออะไร?

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


เกมเอนจินมีตัวไหนบ้าง?

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

***คลิกที่รูปเพื่อดูรูปขนาดใหญ่***


RPG Maker

แนวเกมที่พัฒนาได้ : 2D, RPG, Action, Adventure

RPG Maker เป็นเกมเอนจินที่ได้รับความนิยมเป็นอย่างมาก เนื่องจากสามารถพัฒนาเกมได้ง่าย เพียงแค่คลิกปุ่มต่าง ๆ ก็สามารถพัฒนาเกมได้แล้ว ในขณะเดียวกันก็สามารถเขียนสคริปต์ต่าง ๆ เพิ่มเติมได้ จนมีคำกล่าวว่า "ง่ายพอสำหรับเด็ก แต่ก็ยืดหยุ่นพอสำหรับนักพัฒนา" เกมเอนจินตัวนี้ได้มีการพัฒนามายาวนานหลายรุ่นตั้งแต่รุ่น 2000, 2003, XP, VX, VX Ace และรุ่นล่าสุดคือ MV ซึ่งรุ่น MV รองรับการใช้งาน Unicode และสามารถเปิดเกมได้บนหลากหลายระบบปฏิบัติการทั้ง Windows, Macintosh, Linux, iOS, Android นอกจากนี้ยังสามารถเปิดเกมบนเว็บเบราเซอร์ (Web Browser) ได้อีกด้วย ด้วยเหตุผลที่กล่าวมาทำให้ RPG Maker เป็นเกมเอนจินที่หลายคนชื่นชอบและเหมาะสำหรับนักพัฒนาเกมมือใหม่



Game Maker

แนวเกมที่พัฒนาได้ : 2D, Action, Adventure, Arcade

นึกถึงเกมเดินฟันสองมิติใช่ไหม? Game Maker ตอบโจทย์ให้คุณได้ Game Maker เป็นเกมเอนจินที่สามารถพัฒนาเกมสองมิติได้หลายแนวมากตั้งแต่เกมงู, เกม Mario, เกมเดินฟัน, เกมวิ่งเก็บเหรียญ และอีกหลาย ๆ เกม Game Maker จึงเป็นเกมเอนจินที่เหมาะสำหรับนักพัฒนาเกมที่ชื่นชอบเกมสองมิติเป็นอย่างยิ่ง



Adobe Flash

แนวเกมที่พัฒนาได้ : 2D, Action, Adventure, Arcade

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



Adventure Game Studio (FREEWARE)

แนวเกมที่พัฒนาได้ : 2D, Point & Click, Adventure, Puzzle

ย้อนกลับไปยังยุค '90 เกมแนว Point & Click เป็นที่นิยมอย่างมาก มีเกมแนว Point & Click ออกวางขายกันมากมายทั่วตลาด แต่พอเกมสามมิติเริ่มได้รับความนิยมมากขึ้น เกมแนว Point & Click ก็ซบเซาลงเป็นอย่างมาก จนหลายบริษัทต้องยกเลิกการพัฒนาเกมแนว Point & Click ไปเลย ถึงแม้ว่าเกมแนว Point & Click จะไม่ได้รับความนิยมในปัจจุบันแล้ว แต่เนื่องด้วยเสน่ห์ของเกมแนว Point & Click ที่เน้นกราฟฟิกเป็นเอกลักษณ์และมีเนื้อเรื่องที่ชวนติดตาม ทำให้หลายคนสนใจและอยากกลับมาเล่นเกมแนว Point & Click อีกครั้ง


Adventure Game Studio เป็นเกมเอนจินที่ถูกพัฒนามาเพื่อเหล่าคอเกมแนว Point & Click โดยเฉพาะ ธีมของเกมที่พัฒนาจากเกมเอนจินตัวนี้จะเน้นรูปแบบที่มีเสน่ห์ดั้งเดิมสมัยปี '90 แต่ถึงอย่างนั้นนักพัฒนาเกมก็สามารถประยุกต์ให้เป็นธีมร่วมสมัยได้ ข้อเสียของเกมเอนจินตัวนี้คือไม่รองรับภาษาไทยอย่างเต็มรูปแบบ แต่ก็พอแก้ขัดได้ด้วยการเขียนตัวอักษรภาษาไทยทับไปในฟอนต์ภาษาอังกฤษ


Ren'Py (FREEWARE)

แนวเกมที่พัฒนาได้ : 2D, Visual Novel

อยากพัฒนาเกมแนว Visual Novel อย่างนั้นหรือ? ลองใช้ Ren'Py ดูสิ Ren'Py เป็นเกมเอนจินที่ออกแบบมาเพื่อพัฒนาเกมแนว Visual Novel โดยเฉพาะ ไม่ว่าจะเป็นเกมจีบหนุ่ม, เกมจีบสาว หรือเกมชีวิตในโรงเรียนก็สามารถจัดการได้หมด Ren'Py ไม่ใช่เกมเอนจินที่ทำได้แค่แสดงข้อความเท่านั้นนะ แต่ Ren'Py ยังมาพร้อมลูกเล่นต่างต่างนานาอีกมากมายให้คุณได้ลองสัมผัสดู



Unity 3D

แนวเกมที่พัฒนาได้ : 3D, 2D, FPS, TPS, Simulator, Sport

Unity 3D เป็นเกมเอนจินชื่อดังที่ได้รับความนิยมมากในการพัฒนาเกมสามมิติ ถึงชื่อโปรแกรมจะบอกว่าเป็น 3D แต่ถึงอย่างนั้น Unity 3D ก็สามารถพัฒนาเกมสองมิติได้เหมือนกัน โปรแกรม Unity 3D สามารถพัฒนาเกมได้แทบจะครอบจักรวาล ไม่ว่าจะเป็นเกม FPS บู๊ยิงแหลก, เกม Simulator, เกมหมากรุก, เกมหมากฮอสก็สามารถใช้ Unity 3D พัฒนาขึ้นมาได้ทั้งนั้น นอกจากนี้ Unity 3D ยังรองรับบนหลายระบบปฏิบัติการทั้ง Windows, Macintosh, Linux, iOS และ Android



Unreal Engine

แนวเกมที่พัฒนาได้ : 3D, FPS, TPS, Simulator, Sport

Unreal Engine เป็นเกมเอนจินชื่อดังที่ได้รับความนิยมมากในการพัฒนาเกมสามมิติอีกตัวหนึ่ง ถือว่า Unreal Engine เป็นคู่แข่งสำคัญของ Unity 3D เลยก็ว่าได้ ข้อเสียของโปรแกรม Unreal Engine คือใช้ทรัพยากรของคอมพิวเตอร์สูงมาก ดังนั้นถ้าใครคิดที่จะลง Unreal Engine ล่ะก็ อย่าลืมเตรียมคอมพิวเตอร์สเปกสูง ๆ ไว้ด้วยล่ะ



Blender Game Engine (FREEWARE)

แนวเกมที่พัฒนาได้ : 3D, FPS, TPS, Simulator, Sport

เกมเอนจินสำหรับพัฒนาเกมสามมิติมีอยู่มากมายหลายตัว ซึ่งส่วนใหญ่แล้วเป็นเกมเอนจินที่เสียเงินซื้อทั้งนั้น สำหรับนักพัฒนาเกมสามมิติที่ไม่อยากเสียเงินซื้อก็ยังพอมีทางออกอยู่ Blender เป็นโปรแกรมสำหรับสร้างภาพสามมิติและ Animation สามมิติ นอกจากนี้ Blender ยังมีส่วนที่เรียกว่า Blender Game Engine ที่ไว้พัฒนาเกมสามมิติโดยเฉพาะ ถึงแม้จะเป็นโปรแกรม Freeware แต่ในเรื่องของคุณภาพแล้ว Blender ก็แทบไม่ต่างจากเกมเอนจินที่เสียเงินทั้งหลายเลย Blender จึงเป็นทางออกสำหรับนักพัฒนาเกมสามมิติที่ไม่อยากเสียเงินซื้อ



ฉันควรเลือกเกมเอนจินตัวไหนดี?

เกมเอนจินแต่ละตัวสามารถพัฒนาแนวเกมได้แตกต่างกัน เช่น RPG Maker จะเน้นไปที่เกม RPG หรืออย่าง Unity 3D ก็จะเน้นไปที่เกมสามมิติ ดังนั้นการเลือกเกมเอนจินจึงควรเลือกให้เหมาะสมกับแนวเกมที่เราจะพัฒนา แล้ว "ถ้ายังไม่รู้ว่าจะพัฒนาเกมแนวไหนดีจะเลือกอย่างไร?" ถ้าเป็นแบบนั้นผู้เขียนแนะนำให้ผู้อ่านเลือกเกมเอนจินตัวใดหนึ่งมาลองใช้ก่อน ระหว่างช่วงที่ลองใช้ก็ศึกษาหลักการทำงานของเกมและวิธีการพัฒนาเกมไปด้วย เมื่อเริ่มเข้าใจหลักการทำงานของเกมและวิธีการพัฒนาเกมอย่างถ่องแท้แล้ว ผู้อ่านจะเปลี่ยนไปใช้เกมเอนจินตัวไหนก็ได้ เพราะหลักการทำงานของเกมของแต่ละเกมเอนจินจะคล้าย ๆ กัน

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

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


ฉันจะไม่ใช้เกมเอนจินในการพัฒนาเกมได้ไหม?

"ฉันไม่ใช้เกมเอนจินในการพัฒนาเกมได้ไหม?" คำตอบคือได้ แอพพลิเคชันทำงานได้โดยการอ่านคำสั่งทีละบรรทัด และเกมคือแอพพลิเดชันชนิดหนึ่ง ดังนั้นวิธีการใด ๆ ที่ทำให้เราสามารถป้อนคำสั่งให้กับอุปกรณ์ได้ วิธีนั้นก็จะสามารถพัฒนาเกมได้ เกมเอนจินเป็นเพียงเครื่องมือหนึ่งที่ช่วยในการพัฒนาเกมเท่านั้น ยังมีวิธีอื่นที่ไม่ต้องพึ่งเกมเอนจินเลยนั่นคือการเขียนโปรแกรมล้วน ๆ การพัฒนาเกมด้วยการเขียนโปรแกรมล้วน ๆ โดยไม่พึ่งเกมเอนจินเลยไม่ใช่เรื่องที่ดีต่อนักพัฒนาเกมเท่าไร ถึงแม้ว่าจะมีความรู้ความสามารถในการเขียนโปรแกรมมากแค่ไหนก็ตาม แต่ก็ไม่ควรพัฒนาเกมขนาดใหญ่ด้วยการเขียนโปรแกรมล้วน ๆ การพัฒนาเกมด้วยการเขียนโปรแกรมล้วน ๆ นั้นควรใช้กับการพัฒนาเกมขนาดเล็ก โดยมีจุดประสงค์คือเพื่อศึกษาหลักการทำงานของเกมเท่านั้น


ในบทนี้ผู้อ่านได้เรียนรู้ไปแล้วว่า "เกมเอนจินคืออะไร?", "เกมเอนจินที่เหมาะสำหรับนักพัฒนาเกมมือใหม่มีตัวไหนบ้าง?" และได้ทราบถึงหลักการเลือกเกมเอนจิน บทความ "เรียนสร้างเกมกับมิกิจัง" ชุดนี้เป็นเนื้อหาทางทฤษฎีที่เกี่ยวกับพื้นฐานการพัฒนาเกม ซึ่งจะไม่เจาะจงเกมเอนจินใดหรืออุปกรณ์ใดเป็นพิเศษ บทความชุดนี้จะสอนให้ผู้อ่านมองเห็นถึงภาพรวมในการพัฒนาเกมเท่านั้น ในส่วนเนื้อหาของตัวเกมเอนจินต่าง ๆ ผู้อ่านต้องไปศึกษาเพิ่มเติมเอาเองจากบทความชุดอื่น

ผู้เขียนแนะนำให้ผู้อ่านศึกษาบทความอย่างน้อยสองชุดประกอบไปพร้อม ๆ กันคือ บทความ "เรียนสร้างเกมกับมิกิจัง" ชุดนี้ ซึ่งเป็นเนื้อหาส่วนทฤษฎี และบทความชุดอื่นที่เกี่ยวกับเกมเอนจินที่ผู้อ่านสนใจ ซึ่งเป็นเนื้อหาส่วนปฏิบัติ เพื่อให้ผู้อ่านสามารถพัฒนาเกมได้อย่างมีประสิทธิภาพสูงสุด หลังจากที่ผู้อ่านได้อ่านบทความบทที่ 2 นี้จนจบแล้ว ผู้อ่านควรเลือกเกมเอนจินที่ตนเองสนใจอย่างน้อยหนึ่งตัว จากนั้นผู้อ่านก็เริ่มศึกษาวิธีใช้งานเกมเอนจินตัวนั้นได้เลย ไม่ต้องรอช้า

สำหรับบทความ "เรียนสร้างเกมกับมิกิจัง" บทที่ 2 ก็จบลงเพียงเท่านี้ ผู้อ่านสามารถติดตามบทความบทใหม่ได้ทุกวันศุกร์ สวัสดีค่ะ


"If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do you have to keep moving forward." - Martin Luther King Jr.
"ถ้าคุณบินไม่ได้จงวิ่ง ถ้าคุณวิ่งไม่ได้จงเดิน ถ้าคุณเดินไม่ได้จงคลาน ทำอย่างไรก็ได้ให้คุณก้าวไปข้างหน้าให้ได้"



แบบฝึกหัดประจำบทที่ 2

แบบฝึกหัดที่ 2 จงตอบคำถามต่อไปนี้
  1. เราสามารถพัฒนาเกมได้อย่างไร?
  2. เกมเอนจินคืออะไร?
  3. เพราะเหตุใดการใช้เกมเอนจินจึงทำให้การพัฒนาเกมง่ายขึ้น?
  4. เกมเอนจินเปรียบเหมือนกับสิ่งใด?
  5. เพราะเหตุใดเกมเอนจินหนึ่งตัวถึงสามารถพัฒนาเกมได้แค่บางแนวเท่านั้น? (วิเคราะห์)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น