ในแนวทางที่สร้างสรรค์เพื่อฉลองความสำเร็จที่มีนักพัฒนาครบ 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