Game Engine คืออะไร ?

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


Game Engine คืออะไร ?

Game Engine คือ Software ที่ถูกออกแบบและพัฒนาขึ้นมาเพื่อใช้ในการผลิตผลงานเกม เป็นโปรแกรมที่จะทำให้การพัฒนาเกมเกิดความสะดวกมากขึ้นในขั้นตอนของการผลิต โดยมักจะรวบรวมเอาชุดคำสั่งหรือเครื่องมือที่จำเป็นมารวมกันไว้เพื่อให้ง่ายต่อการหยิบยกเอามาใช้งานในการผลิตผลงานเกมโดย Core หลักๆ ที่เกม Engine มักจะมีใส่มาให้ก็เช่นการ Rendering ไม่ว่าจะเป็นในรูปแบบ 2มิติ หรือ 3มิติ , physics engine หรือระบบจัดการค่าทาง physics ต่างๆ ภายในเกม ไม่ว่าจะเป็นการคำนวณค่าแรงโน้มถ่วงของวัตถุ การชนกันของวัตถุ และ หลักการทางฟิสิกส์ อื่นๆ collision detection คือ ระบบการสร้างพื้นผิวสัมผัสของวัตถุ ของกำแพง รวมถึงระบบคำนวณสิ่งที่จะเกิดขึ้นเมื่อชนกับกำแพงต่างๆ , นอกจากนั้นยังมีระบบ sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, scene graph และ อื่นๆ อีกหลายระบบที่มักจะถูกจัดเตรียมมาไว้ใน  Game Engine  เพื่อให้ผู้ใช้สามารถนำมาใช้งานได้เลยโดยที่ไม่ต้องสร้างขึ้นมาใหม่ซึ่ง Game Engine ของแต่ละเจ้าก็จะมีความสามารถและการใช้งานที่แตกต่างกันไปตามวัตถุประสงค์ของการใช้งาน

Game Engine vs เขียนเกมเอง

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

รวม Game Engine ต่างๆ

Game Engine นั้นมีการใช้งานมานาน เพราะฉะนั้นก็ต้องบอกเลยว่ามันมีการผลิตขึ้นมามากมายหลายเจ้าหลายยุคสมัย เราจึงจะรวบรวมเอา Game Engine ที่ Admin รู้จักมาแนะนำตัวให้เพื่อนๆได้รู้จักกันครับ ท่าเพื่อนๆสนใจตัวไหนเป็นพิเศษก็จะได้ลองเอาไปศึกษากันดู

Unity3d


 ต้องบอกเลยว่าเจ้า unity3d นั้นเป็นเครื่องมือที่ได้รับความนิยมมากๆในช่วงนี้ เพราะมันมีความสามารถที่ครบถ้วนในการพัฒนาเกม อีกทั้งยังสามารถสร้างเกมได้ทั้ง บน Pc บนเครื่องเกมหลายเครื่อง และ บนสมาร์ทโฟนไม่ว่าจะเป็น Android หรือ Iphone ทำให้เกมที่เล่นกันบนสมาร์ทโฟนหลายๆตัวเลยที่พัฒนาขึ้นมาจากเจ้าตัวนี้ Engine ตัวนี้นั้นมีให้เลือกใช้ ทั้งแบบฟรี และ เสียเงินรายเดือน

www.unity3d.com


Godot Engine


Godot: Godot เป็นเอ็นจิ้นเกมโอเพ่นซอร์สฟรีที่ออกแบบให้ใช้งานง่ายและน้ำหนักเบา รองรับแพลตฟอร์มที่หลากหลายและเหมาะสำหรับการสร้างเกม 2 มิติ

https://godotengine.org/

MonoGame

โมโนนั้นแม้ว่าจะไม่ได้เป็นตัวที่มีคนนิยมใช้งานเหมือเจ้าอื่นๆแต่ก็ต้องบอกเลยว่าความสามารถนั้นไม่ได้โมโนตามชื่อ เพราะมันมีความสามารถในการผลิตผลงานเกมลงบนอุปกรณ์ที่หลากหลายไม่แพ้เจ้าอื่นๆเลย อีกทั้งมันยังฟรีอีกด้วย Company: MonoGame Platforms: Android, iOS, Linux, Mac, PS Mobile, Raspberry Pi, PS4 coming soon, Windows 8, Windows Phone www.monogame.net

Construct


Construct: เป็นเอนจิ้นเกมและ development platform ที่พัฒนาโดย Scirra ส่วนใหญ่จะใช้สำหรับการสร้างเกม 2D และรวมถึงระบบสคริปต์ภาพสำหรับสร้าง gameplay logic ในการเล่นเกม Construct ได้รับการออกแบบมาให้ใช้งานง่าย แม้สำหรับผู้ที่ไม่มีประสบการณ์ในการเขียนโปรแกรม และรองรับแพลตฟอร์มที่หลากหลาย รวมถึงพีซี มือถือ และเว็บ Construct มีเครื่องมือให้ใช้งานที่หลากหลัย รวมถึงตัว built-in level editor ในตัว supportการนำเข้าและส่งออกไฟล์ที่หลากหลาทั้งgraphic และ audio และการรวมเข้ากับบริการต่างๆ เช่น ลีดเดอร์บอร์ดและ in-app purchase

Unreal Engine

Unreal Engine เป็นเกมเอ็นจิ้นอันทรงพลังที่พัฒนาโดย Epic Games มีการใช้กันอย่างแพร่หลายสำหรับการสร้างเกม 3 มิติคุณภาพสูง และรองรับแพลตฟอร์มที่หลากหลาย รวมถึงพีซี อุปกรณ์เคลื่อนที่ คอนโซล และความจริงเสมือน

ต้องบอกเลยว่าเหล่าเกมเมอร์ส่วนใหญ่คงคุ้นหูกับชื่อนี้กันอยู่แล้ว เรียกว่าภาพสุด เกมสุดจริงๆ แต่ก็ต้องขอบอกว่ายังไม่แนะนำสำหรับมือใหม่นะครับ เพราะจากความรู้สึกของผมเอง ผมว่ามันยากกว่าตัวอื่นๆ แต่ท่าอยากลองก็ไปโหลดมาลองได้นะจ๊ะ เผื่อว่าจะถูกใจแล้วใช้เป็นเครื่องมือหลักกันเลย https://www.unrealengine.com

และ นอกจากที่กล่าวมายังมี
  • CRYENGINE

  • Xenko Game Engine

  • GameMaker

  • Project Anarchy

  • Gamesalad

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

credit : Game Engine คืออะไร ? - Tech2Pixel
Cd : pexels mali maeder

Comments

Popular Posts