เกม Marble Madness สไตล์ WebGL จาก Netlify ฉลองครบ 5 ล้านนักพัฒนา เผยให้เห็นความเป็นเลิศทางเทคนิคและบั๊กจากชุมชน

BigGo Editorial Team
เกม Marble Madness สไตล์ WebGL จาก Netlify ฉลองครบ 5 ล้านนักพัฒนา เผยให้เห็นความเป็นเลิศทางเทคนิคและบั๊กจากชุมชน

ในแนวทางที่สร้างสรรค์เพื่อฉลองความสำเร็จที่มีนักพัฒนาครบ 5 ล้านคน Netlify ได้จัดทำเกมกลิ้งลูกแก้วบนพื้นฐาน WebGL ซึ่งได้ดึงดูดความสนใจจากชุมชนเทคโนโลยี ไม่เพียงแค่ในแง่การตลาดเท่านั้น แต่ยังรวมถึงการพัฒนาทางเทคนิคและกลไกการเล่นเกมที่อิงกับฟิสิกส์

การพัฒนาทางเทคนิค

เกมนี้พัฒนาโดย Little Workshop ใช้เวลา 8 สัปดาห์ด้วยทีมงานสองคน แสดงให้เห็นถึงความสำเร็จทางเทคนิคที่น่าประทับใจโดยใช้ Three.js สำหรับการเรนเดอร์และ Rapier 3D physics engine ผ่าน WebAssembly ทีมพัฒนาใช้ Unity สำหรับการออกแบบด่าน พร้อมด้วยไปป์ไลน์ที่ซับซ้อนซึ่งใช้ Blender Python scripting สำหรับการปรับแต่งรูปทรงและส่งออกไฟล์ GLTF การผสมผสานเนื้อหา 2D กับสภาพแวดล้อม 3D ทำได้โดยใช้ CSS 3D transforms แสดงให้เห็นการผสมผสานเทคโนโลยีเว็บได้อย่างลงตัว

สแตกเทคโนโลยี:

  • ส่วนฟรอนต์เอนด์: Three.js (การเรนเดอร์ WebGL)
  • เอนจินฟิสิกส์: Rapier 3D (ผ่าน WebAssembly)
  • การออกแบบด่าน: Unity Editor
  • ไปป์ไลน์สินทรัพย์: การเขียนสคริปต์ Python ใน Blender
  • รูปแบบไฟล์: GLTF
  • ระยะเวลาพัฒนา: 8 สัปดาห์
  • ขนาดทีม: นักพัฒนา 2 คน

ฟิสิกส์และการเล่นเกม

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

ความท้าทายทางเทคนิคและรายงานบั๊ก

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

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

ปัญหาทางเทคนิคที่พบ:

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

การปรับแต่งสำหรับมือถือ

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

การตอบรับจากชุมชน

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

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

แหล่งที่มา: Cloudflare 1.1.1.1