จากประสบการณ์ที่ได้จากการทำงานกับ Node.js ก็เลยพอจะมีความรู้บ้าง และคิดว่ามันน่าจะเอามาใส่ใน RMMV ได้ เพราะไหนๆ ก็เป็น js เหมือนกันแล้ว ก็เลยลองเล่นดูนิดๆ หน่อย ว่าจะทำให้มันออนไลน์ถึงกันได้มั้ย
หลักการและองค์ประกอบ
Server
- Node.js 5.0 (เป็นตัวเซิร์ฟเวอร์ที่ใช้รัน)
- Express js Framework (ตัวช่วยในการสร้างเซิร์ฟเวอร์)
- Socket.io (ส่วนที่ใช้ติดต่อระหว่างเซิร์ฟเวอร์และไคเอนซ์)
Client
- RPG Maker MV (ตัวเกม)
- Socket.io (ใช้สำหรับติดต่อกับเซิร์ฟเวอร์)
- Online.js Plug-in (สคริปต์ที่เขียนขึ้นสำหรับรับส่งข้อมูลกับเซิร์ฟเวอร์)
เริ่มต้นก็คงต้อมพูดถึงเซิร์ฟเวอร์ก่อน การลงเซิร์ฟเวอร์นั้นง่ายมากแค่ไปดาวน์โหลดจากเว็บไซต์มาติดตั้ง จากนั้นก็รีสตาร์ทเครื่อง 1 ครั้ง แล้วก็สร้างโฟเดอร์ แล้วสร้างตัวเซิฟเวอร์สำหรับเกมของเรา โดยการลง Express ก่อนแล้วตามด้วยการลง Socket.io หลังจากการสร้างเสร็จ ก็จะรันเซิร์ฟเวอร์ผ่าน node.js จะได้ localhost:3000 มาเป็นเซิร์ฟเวอร์
อันนี้คือไฟล์เซิร์ฟเวอร์
ในส่วนของ Client จะต้องโหลด socket.io.js มาก่อน แล้วเพิ่มในส่วนของ Plug-in ไปเลย เพื่อเรียกใช้งานจากอีก Plug-in ที่เรากำลังจะเขียน ในส่วนอขง Online.js นั้นจะต้องเสร็จค่ Socket = new io(localhost:300) หรือก็ตามโฮสต์ของเซิร์ฟเวอร์ที่เราสร้างไว้
อันนี้คือไฟล์ Online Script ที่ลองทำขึ้น
จากนั้นก็ลองสร้าง Event แบบตัวเลือกขึ้นแล้วให้เรียกใช้ Plug-in Command ให้ส่งข้อความไปยังเครื่องทุกเครื่องที่ออนไลน์อยู่ (ตั้งให้เกมออนไลน์ตั้งแต่เข้าเกม) แล้วเปิดหน้าต่างว่ามีข้อความส่งมา ดูได้จากคลิปข้างล่าง
ต้องเพิ่มไฟล์ Socket.io กับ Online Script
ลองใช้กับอีเววต์แล้วให้ไปเรียกใช้ปลั๊กอินดู
จากการลองทำเล่นๆ (3-4 ชม.) ก็พอจะทำให้เห็นว่าการทำเกมออนไลน์ง่ายๆ แบบเกมเศรษฐี หรือ พวกผลัดกันตี ทำได้ไม่อยาก หากจะทำเกมที่เป็น MMORPG ที่มีการเคลื่อนที่ของผู้เล่นทุกคนตลอดเวลาอาจจะยากหน่อย แต่ก็ทำได้ถ้าตั้งใจ
กระทู้นี้อาจจะไม่ได้สอนวิธีการทำ หรือ ลงสคริปต์ให้ เพราะยังไม่ดีพอเพราะเพิ่งลองทำ แต่ก็เอามาบอกเล่าถึงแนวทาง ที่สามารถหาดูวิธีการทำได้จากในเน็ตได้ไม่ยากจ้า ไว้เดียวทำอะไรได้เป็นชิ้นเป็นอันจะเอามาให้ลองใช้กันเน้อ
ปล. ที่เห็นเปิดได้หลายๆ หน้านั้น เปิดจาก เว็บเบราว์เซอร์นะจ๊ะ