2 คะแนน โดย GN⁺ 2023-12-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Moddio เกมเอนจิน 2

  • Moddio เป็นเกมเอนจินที่ให้ความสำคัญกับมัลติเพลเยอร์เป็นอันดับแรก
  • มีโค้ดเครือข่ายแบบ server-authoritative, snapshot interpolation และความสามารถด้าน client-side reconciliation มาให้ในตัว
  • รองรับผู้เล่นพร้อมกันมากกว่า 50 คน หรืออ็อบเจ็กต์ที่เคลื่อนไหวมากกว่า 300 ชิ้น บน VM ราคา 5 ดอลลาร์ต่อเดือน

เดโม

  • สิ่งที่มีมาให้ในชุด: เอนจินฟิสิกส์ Box2D, โค้ดเครือข่ายแบบ server-authoritative, ระบบอินเวนทอรีและไอเท็ม, คุณสมบัติที่มีมาในตัว (HP, พลังงาน เป็นต้น) และอัตราการฟื้นฟู, ระบบบทสนทนา, ร้านค้า, การควบคุมยูนิต, โปรเจกไทล์และการเคลื่อนที่ของยูนิตแบบ client-side prediction, AI ของยูนิตและการหาเส้นทางแบบ A*, การควบคุมบนมือถือ เป็นต้น

วิธีรันเกม

  • ต้องใช้ Node 18 ขึ้นไป
  • หลังตั้งค่า repository แล้ว ให้ไปที่ไดเรกทอรี /src, เปลี่ยนชื่อ game-sample.json เป็น game.json แล้วกลับไปที่ไดเรกทอรีรากเพื่อรันเซิร์ฟเวอร์
  • จากนั้นสามารถเล่นเกมได้ที่ http://localhost:80

วิธีสร้างเกมใหม่ตั้งแต่ต้น

  • เกม Moddio ถูกสร้างและแก้ไขโดยใช้ Moddio Game Editor ที่ให้บริการบน https://www.modd.io
  • หลังสร้างเกมแล้ว สามารถ export game.json สำหรับใช้กับการติดตั้งแบบโลคัลได้
  • เปลี่ยนชื่อไฟล์เกม JSON ที่ export มาเป็น game.json แล้วนำไปไว้ในไดเรกทอรี ./src

วิธีมีส่วนร่วม

  • Moddio ฟรีทั้งหมดและเป็นโอเพนซอร์สภายใต้ไลเซนส์ MIT
  • หากต้องการดูวิธีเป็นผู้มีส่วนร่วม ให้ไปที่หน้าวิธีมีส่วนร่วม

เครดิต

  • ใช้งาน Isogenic game engine, Phaser, PlanckJS, uWebsocket, Box2D, Kenney assets, Hero Icons และอื่น ๆ

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2023-12-22
ความคิดเห็นจาก Hacker News
  • ความกังวลเกี่ยวกับการที่หน้าสมัครใช้งานในแอป Android ขอให้กรอกชื่อผู้ใช้และรหัสผ่าน Google ลงในจุดที่ดูเหมือนเว็บฟอร์มภายในแอป

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

    • คำถามว่าที่จัดการเกมแกลเลอรีบนเว็บไซต์ได้ดีนั้นเป็นผลงานของเพื่อนไม่กี่คน หรือเป็นผลผลิตจากคอมมูนิตี้ที่คึกคัก
  • แสดงความประหลาดใจที่ modd.io เป็นเฟรมเวิร์ก/แพลตฟอร์มยอดนิยมที่ใช้สร้างเกมแนว IO

  • หนึ่งในวิธีที่แน่นอนในการทำเกมไม่ให้เสร็จ คือเริ่มต้นจากการเขียนเอนจินเอง

    • สามารถสร้างเทคโนโลยีของตัวเองได้ แต่เทคโนโลยีนั้นควรถูกออกแบบให้เหมาะกับโปรเจกต์ ไม่ใช่เป็นแพลตฟอร์มเกมแบบทั่วไป
  • ความสนใจเกี่ยวกับประสบการณ์ผู้เล่นราว 50 คนจากการเข้าไปเล่นบนเซิร์ฟเวอร์ Brains

    • การเคลื่อนไหวที่ไม่นิ่งจากการใช้ WebSocket
    • ความสงสัยเรื่องการบีบอัดเครือข่าย โดยเฉพาะว่าการบีบอัดด้วย LZ-string เพียงพอหรือไม่
    • ค่าแบนด์วิดท์บนคลาวด์อาจสูงมาก จึงน่าจะยังมีพื้นที่ให้ปรับปรุงอีกมากในด้านเครือข่าย
  • คำถามเกี่ยวกับแรงจูงใจในการสร้างเอนจินใหม่

    • เหตุผลที่ฝังฟีเจอร์เฉพาะไว้ในเอนจิน เช่น ระบบอาวุธ ร้านค้า การยิงกระสุนแบบคาดการณ์ฝั่งไคลเอนต์ และการเคลื่อนที่ของยูนิต
    • ความสงสัยว่าฟีเจอร์เหล่านี้จำเป็นสำหรับเกมเอนจินจริงหรือไม่ หรือเป็นเอนจินสำหรับเกมบางแนวโดยเฉพาะ
  • ข้อดีของ low-code และอินเทอร์แอ็กทีฟเอดิเตอร์ที่ดูเหมาะกับโปรเจกต์งานอดิเรก

    • ความสนใจเกี่ยวกับการสร้างแผนที่และโลก
    • คำถามว่าการ export เกมเป็น JSON แล้วแก้ไขแบบโปรแกรมก่อน import กลับเข้าไปอีกครั้ง เป็นวิธีที่ดีที่สุดหรือไม่
    • ความกังวลว่าจะเข้าใจและแก้ไข JSON ได้อย่างไร พร้อมข้อเสนอแนะเรื่องแนวทาง
  • ชี้ว่าแบ็กเอนด์มัลติเพลเยอร์ที่ใช้ Node.js อาจช้าลงเรื่อย ๆ เมื่อจำนวนการเชื่อมต่อเพิ่มขึ้น

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

  • อาจเป็นประโยชน์ต่อการสร้าง AI agent เป็น NPC และขอบคุณที่เปิดซอร์สผลงานนี้