ขณะนี้ฉันกำลังทำงานกับ platformer 2D ที่ใช้กระเบื้องคล้ายกับ Terraria ในบางวิธีแม้ว่าฉันจะมีปัญหากับการสร้างภูมิประเทศ ฉันมีพื้นฐานบางอย่างที่ทำแม้ว่าพวกเขาจะไม่ออกมาเป็นสิ่งที่มีประโยชน์
ฉันได้ลองใช้เทคนิคที่แตกต่างกันสองสามอย่างเช่น Perlin Noise และอ่านเกี่ยวกับเทคนิคอื่น ๆ เช่น Midpoint Displacement ถึงแม้ว่าฉันไม่แน่ใจว่าสิ่งใดจะดีที่สุดหรือผสมผสานเทคนิคต่าง ๆ เพื่อสร้างพื้นที่ที่แตกต่างกัน (เช่น Midpoint Displacement สำหรับรูปร่างทั่วไปของภูมิประเทศและ Perlin Noise สำหรับถ้ำ)
ฉันได้พบคำอธิบายที่ยอดเยี่ยมว่าฉันจะเพิ่มเลเยอร์ให้กับมันได้อย่างไร Accidental Noise Library ได้อย่างไรแม้ว่ามันจะอยู่ใน C ++ และฉันไม่รู้ C ++ มากพอที่จะรวบรวมมันเป็น DLL ที่ฉันสามารถใช้จาก C # ฉันพยายามคัดลอกสิ่งนี้ใน C # ถึงแม้ว่าฉันไม่ทราบว่าฉันจะรวมเอฟเฟกต์สองอย่างเข้าด้วยกันได้อย่างไร (การไล่ระดับสีสำหรับฐานทั่วไปแล้วเศษส่วนเพื่อดูรายละเอียด)
ขณะนี้ฉันกำลังใช้เศษส่วนพลาสม่าและผลลัพธ์มีความหลากหลายอย่างมาก ตัวอย่างเช่นมันสามารถสร้างภูมิประเทศที่ไม่มีพื้นผิวใด ๆ หรือมันสามารถสร้างภูมิประเทศที่ไม่มีพื้นผิวเลย
ตัวอย่างของแผนที่โอเคน่าจะดีขึ้นหากมีการปรับปรุงเพิ่มเติม (สีดำเป็นของแข็งสีขาวคืออากาศ):
และตัวอย่างของแผนที่ที่แย่มาก (สีดำเป็นของแข็งสีขาวคืออากาศ):
โดยทั่วไปสิ่งที่ฉันขอคือสิ่งที่จะเป็นวิธีที่ดีกว่าในการสร้างภูมิประเทศหรือบังคับให้ตรวจสอบให้แน่ใจว่ามีพื้นที่ผิวจำนวนพอสมควรโดยมีเวลาในการสร้างเร็วที่สุด หรืออีกวิธีหนึ่งที่ฉันจะสามารถบรรลุผลเช่นเดียวกับห้องสมุดเสียงอุบัติเหตุ แต่ใน C #
ตัวอย่างใด ๆ จะได้รับการชื่นชมอย่างมาก