Unity โหมดจิ๋ว (แต่แจ๋ว)

เรื่องเด่น, บทความ

สำหรับใครที่ใช้ Unity ในช่วง 4 – 5 ปีที่ผ่านมา น่าจะได้เห็นวิวัฒนาการในการ export เกมสำหรับเล่นบนแพลตฟอร์มต่างๆ ทั้งบนพีซี 💻 บนมือถือ 📱 และอีกแพลตฟอร์มหนึ่งที่มีการเปลี่ยนแปลงบ่อยที่สุดก็คือ แพลตฟอร์มสำหรับเล่นบนเว็บไซต์นั่นเอง

การติดตั้ง Unity Web Player (ปัจจุบันเลิกใช้แล้ว)

ถ้าใครจำได้ ในยุคแรกเริ่ม (ฟังดูโบราณมาก 😆 แต่มันก็เป็นอย่างนั้นจริง) การ export เกมมาเล่นบนเว็บไซต์ของ Unity จะต้องใช้ Unity Web Player ซึ่งในสมัยนั้น การลง plugin เพื่อแสดงเนื้อหาบนเว็บไซต์ อาจจะดูไม่แปลกนัก เพราะเรามีไอดอลเป็น Flash Player อยู่แล้ว แต่ก็นะ สุดท้าย Flash Player ก็โดน Apple 🍎 เลิกคบ การลง plugin ก็ต้องเข้าสู่ยุคมืดไปตามระเบียบ

ยุคต่อมา Unity ก็ต้องปรับตัวให้เข้ากับกระแสในตอนนั้น คือต้องทำงานบน HTML5 ได้ โดย Unity เลือกใช้ WebGL เป็นเทคโนโลยีในการแสดงผล ซึ่งก็ดูเหมือนจะดี แต่เอาเข้าจริงแล้ว แม้จะเล่นบนเว็บไซต์ได้ แต่ก็เฉพาะบนพีซีเท่านั้น ไม่สามารถทำงานบน browser ในมือถืออย่าง Safari (ใน iPhone) หรือ Chrome (ใน Android) ได้ 😢 ทั้งๆ ที่ยุคนั้น คนเขาใช้มือถือเล่นเกมกันหมดแล้ววว! Unity สำหรับเว็บไซต์ (web browser) จึงเข้าสู่ยุคมืดอีกครั้ง …

ปูมาซะนาน กว่าจะเข้าเรื่อง 😁 เทคโนโลยีที่ผมจะขอพูดถึงในโพสต์นี้ก็คือ Project Tiny ครับ ซึ่งเป็นแนวทางใหม่ในการ export Unity มาเล่นบนเว็บ แล้วมันต่างจากที่ผ่านมายังไง มันต่างเพราะมันเล่นบน browser ในมือถือได้ด้วยนี่สิ 😲 ซึ่งเจ้าโหมด Tiny นี้ก็ออกมาให้ developer อย่างเราๆ ใช้ตั้งแต่ช่วงปลายปี 2018 แล้ว อย่างไรก็ดี ถึงตอนนี้ (ปลายปี 2019) โหมดนี้ก็ยังอยู่ในสถานะ preview นะ

แรกเริ่มเดิมที การพัฒนาเกมในโหมด Tiny จะมีความประหลาดอยู่สักหน่อย สำหรับชาว C# อย่างเราๆ เพราะ Unity เลือกใช้ Typescript เป็นภาษาสำหรับพัฒนาเกมในโหมดนี้ (ซึ่งก็ไม่แปลกใจ เพราะ Typescript สามารถ compile เป็น Javascript ได้ง่ายกว่า) และต้องใช้รูปแบบการเขียนแบบ ECS (Entity-Component-System) รายละเอียดเป็นอย่างไร เพื่อนๆ หาข้อมูลเพิ่มเติมกันนะครับ คร่าวๆ คือ เป็นรูปแบบการเขียนที่ไม่ได้ใช้ Component แปะไว้ที่ Game Object แล้วนั่นเอง

โปรเจค PTTEP World ของบริษัท ปตท.สผ. พัฒนาโดย โปรเกมมิ่ง

มาถึงตรงนี้ เพื่อนๆ อาจจะงงว่าทำไมไม่เคยได้ยินชื่อโหมด Tiny มาก่อนเลย ก็เพราะตอนนี้ทาง Unity กำลังพัฒนาให้เราสามารถใช้ C# ในโหมด Tiny ได้ ซึ่งคงต้องรออีกสักพัก กว่าจะใช้งานได้จริง (และอีกสักพักเพื่อแก้บั๊ก 🐞) Unity จึงไม่ค่อยโปรโมทฟีเจอร์นี้ แต่ถ้าถามว่ามันใช้งานได้จริงหรือเปล่า (ช่วงขายของ เพลงอินโทรมา) ต้องบอกว่าโปรเกมมิ่งเคยใช้โหมด Tiny ในการทำเกมขึ้น production จริงมาแล้วครับ! ลองเข้าไปเล่นเกม PTTEP World กันได้ ที่นี่ เลย

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

,

บทความที่เกี่ยวข้อง

Menu