นักพัฒนาสร้างโลก Minecraft ทรงกลมโดยใช้เทคนิคการแมปจากลูกบาศก์สู่ทรงกลม

ทีมชุมชน BigGo
นักพัฒนาสร้างโลก Minecraft ทรงกลมโดยใช้เทคนิคการแมปจากลูกบาศก์สู่ทรงกลม

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

การพัฒนาใช้เวลามากกว่าหนึ่งเดือนและใช้ C# .NET6, Unity และ C++ shaders เพื่อสร้างโลก Minecraft ทรงกลมที่ใช้งานได้จริง ต่างจากเกมต้นฉบับที่มีภูมิประเทศเรียบซึ่งขยายไปถึงขีดจำกัด 30 ล้านบล็อก เวอร์ชันนี้ห่อหุ้มบล็อกลูกบาศก์ที่คุ้นเคยรอบทรงกลม พร้อมด้วยแรงโน้มถ่วงที่ทำงานได้จริงซึ่งดึงไปยังจุดศูนย์กลางของดาวเคราะห์เสมอ

ข้อมูลจำเพาะการพัฒนา:

  • ภาษาโปรแกรมมิ่ง: C .NET6, Unity C, C++ shaders
  • ระยะเวลาการพัฒนา: มากกว่า 1 เดือน
  • ขนาด Chunk: บล็อก 16x16x16 (มิติมาตรฐานของ Minecraft )
  • ขีดจำกัดโลกเดิมของ Minecraft : 30,000,000 บล็อก
  • เทคนิคการแมป: การฉายภาพแบบ cube-sphere เพื่อลดการบิดเบือนให้น้อยที่สุด
การนำเสนอทรงกลมที่มีสีสันสดใสซึ่งชวนให้นึกถึง Minecraft แสดงให้เห็นการเปลี่ยนแปลงที่สร้างสรรค์จากภูมิประเทศแบบเรียบไปสู่การออกแบบดาวเคราะห์ทรงกลม
การนำเสนอทรงกลมที่มีสีสันสดใสซึ่งชวนให้นึกถึง Minecraft แสดงให้เห็นการเปลี่ยนแปลงที่สร้างสรรค์จากภูมิประเทศแบบเรียบไปสู่การออกแบบดาวเคราะห์ทรงกลม

ความท้าทายทางเทคนิคและการแก้ไข

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

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

แนวทางเทคนิค:

  • สร้างกล่องสี่เหลี่ยมจากชิ้นส่วนในรูปแบบมาตรฐานของ Minecraft
  • พับพื้นผิวของแต่ละ voxel เข้าหาจุดศูนย์กลางของตาราง
  • ใช้การปรับให้เรียบแบบวนซ้ำกับขอบ voxel ภายใน
  • ใช้การประมาณค่าเชิงเส้นทรงกลม (slerp) แทนการประมาณค่าเชิงเส้น (lerp)
  • ใช้ระบบจุดศูนย์กลางแรงโน้มถ่วงพร้อมการหมุนโลกแบบต่อเนื่อง
การวิเคราะห์การฉายแผนที่ ซึ่งมีความสำคัญต่อการทำความเข้าใจความท้าทายในการแมปโลก Minecraft ทรงกลม
การวิเคราะห์การฉายแผนที่ ซึ่งมีความสำคัญต่อการทำความเข้าใจความท้าทายในการแมปโลก Minecraft ทรงกลม

ฟิสิกส์แรงโน้มถ่วงและประสบการณ์ผู้เล่น

หนึ่งในแง่มุมที่น่าสนใจที่สุดที่ชุมชนอภิปรายคือผลกระทบของแรงโน้มถ่วงที่สมจริง เมื่อผู้เล่นขุดลึกลงไปยังแกนกลางของดาวเคราะห์ ตามทฤษฎีแล้วพวกเขาจะเบาลงเนื่องจากมวลที่อยู่เหนือพวกเขาดึงไปในทิศทางตรงข้าม ที่จุดศูนย์กลาง แรงโน้มถ่วงจะหายไปอย่างมีประสิทธิภาพ อาจทำให้ผู้เล่นแกว่งไปมาหากพวกเขาตกผ่าน

หากคุณต้องการความสมจริงจริงๆ จะไม่มีแรงโน้มถ่วงที่แกนกลาง เมื่อคุณขุดลงไป คุณจะเบาขึ้นเรื่อยๆ

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

การใช้งานฟิสิกส์:

  • ทิศทางแรงโน้มถ่วง: มุ่งไปยังจุดศูนย์กลางของทรงกลมเสมอ
  • ขีดจำกัดการขุด: ถูกจำกัดเพื่อป้องกันปัญหาฟิสิกส์ของแกนกลาง
  • กลศาสตร์วงโคจร: การเปลี่ยนแปลงความเร็วที่ใช้งานได้จริงที่จุด periapsis / apoapsis
  • ผลกระทบความสูง: การหมุนวนขึ้นเมื่อไม่สัมผัสพื้นดิน
  • แรงโน้มถ่วงแกนกลาง: ในทางทฤษฎีจะเป็นศูนย์ที่จุดศูนย์กลางดาวเคราะห์ (ฟิสิกส์ที่สมจริง)
ภาพประกอบการเปลี่ยนแปลงจากชั้นแบบเรียบเป็นรูปทรงกลม เน้นผลกระทบของแรงโน้มถ่วงที่เป็นเอกลักษณ์ภายในโลก Minecraft ทรงกลม
ภาพประกอบการเปลี่ยนแปลงจากชั้นแบบเรียบเป็นรูปทรงกลม เน้นผลกระทบของแรงโน้มถ่วงที่เป็นเอกลักษณ์ภายในโลก Minecraft ทรงกลม

การประยุกต์ใช้ในเกมและศักยภาพในอนาคต

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

โครงการนี้ยังดึงการเปรียบเทียบกับเกมทดลองอื่นๆ เช่น Planet Smith ซึ่งใช้กระเบื้องหกเหลี่ยมแทนลูกบาศก์เพื่อลดการบิดเบือน และ 'Love' ของ Eskil Steenberg ซึ่งมีโลกบล็อกทรงกลมที่คล้ายกัน ตัวอย่างเหล่านี้แสดงความสนใจที่เพิ่มขึ้นในการหลุดพ้นจากโลกเกมเรียบแบบดั้งเดิม

การตอบรับจากชุมชนและข้อมูลเชิงลึกทางเทคนิค

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

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

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

อ้างอิง: Blocky Planet – Making Minecraft Spherical