รูปแบบการยกระดับสำหรับกริดเกมหกเหลี่ยม


16

TL; DR:

ที่ระดับความสูงควรยึดกับตารางหกเหลี่ยมสไตล์ civ? กึ่งกลางด้านหรือจุดสุดยอด? (หรือซับซ้อนยิ่งขึ้น?)

คำถามที่เหมาะสม:

ลองพิจารณาเกมคลาสสิกที่เราทุกคนรู้จักและชื่นชอบ (อาจ?) Alpha Centauri ของ Sid Meier แบบจำลองแผนที่แนะนำแนวคิดใหม่ของการยกระดับภูมิประเทศที่มองเห็นได้ให้กับสูตร Civ แบบคลาสสิก ใน SMAC ทุกจุดสุดยอดของบอร์ดเกมมีระดับความสูงทำให้แผนที่เนินเขาที่สวยงามมีความจำเป็นอย่างยิ่งโดยพิจารณาจากใจตัวหนอนที่กำลังรออยู่ทุกมุม

แผนที่ระดับความสูงเฉพาะจุดยอดจะแปลเป็นตารางหกเหลี่ยมอย่างประณีตหรือไม่?

ทางเลือกที่ชัดเจนคือการแมปการยกระดับด้านข้างและการยกระดับการแมปตามศูนย์ เช่นเดียวกับการทำแผนที่ระดับความสูงจากภายใน (ให้โอกาสสำหรับหน้าผา!

ตัวเลือกสุดท้ายคือการใช้ตาข่ายรูปสามเหลี่ยมกับกริดเกมที่ครอบคลุมศูนย์และจุดยอดและมีการยกระดับจุดยอดอย่างเดียวหรือจุดยอดภายใน

ตัวเลือกใดน่าจะใช้งานได้ดี มีแนวโน้มที่จะดูดน้ำผลไม้ทั้งหมดออกจากซีพียูและแรมอย่างรวดเร็ว?

คำตอบ:


10

แผนที่ระดับความสูงเฉพาะจุดยอดจะแปลเป็นตารางหกเหลี่ยมอย่างประณีตหรือไม่?

มันขึ้นอยู่กับ tessellation ของกริด หากคุณตรวจสอบเครื่องบินของคุณเป็นอย่างดีแล้วใช่

กริด

ในกรณีนี้คุณสามารถเปลี่ยนสามเหลี่ยมสีเขียว (x6) ในแบบที่คุณต้องการ: hextri

ตัวเลือกใดน่าจะใช้งานได้ดี

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

มีแนวโน้มที่จะดูดน้ำผลไม้ทั้งหมดออกจากซีพียูและแรมอย่างรวดเร็ว?

สิ่งนี้ไม่ใช่ปัญหา (เว้นแต่คุณจะเขียนสิ่งนี้สำหรับระบบฝังตัวบางประเภท) เนื่องจากการสร้างแผนที่ทั้งหมดจะเสร็จสิ้นก่อนที่ทุกคนจะเล่นเกมในระหว่างการโหลด


โดยระดับความสูงจุดกึ่งกลางฉันหมายถึงสถานการณ์ที่คุณสามารถตั้งค่าและเก็บระดับความสูงสำหรับจุดกึ่งกลางเท่านั้น หากสอง hexes มีระดับความสูงที่แตกต่างกันขอบรอบ ๆ พวกเขาจะถูกยกขึ้นเพื่อให้ตรงกับระดับความสูงของใบหน้า (เช่น 1,1 มีระดับความสูงเป็น 3; 1,2 มีระดับความสูงเป็น 5: หน้า 1,1: 1,2 มีระดับความสูงเป็น 4 เมื่อแสดงผล)
Williham Totland

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

-1

เยี่ยมมากที่อย่างน้อยบางคนก็คิดเรื่องนี้ แย่จังฉันพบหน้านี้หลายปีต่อมา อย่างไรก็ตามฉันจะตอบคำถามของคุณสำหรับรูปหกเหลี่ยมพื้นฐานแทน รูปภาพที่แสดงจนถึงตอนนี้ไม่ได้ 100% และบนแผนที่ 1 เมตรตารางจะหลุดออกจากรูปร่าง ไม่มีความหมาย 60 องศาที่เป็นไปได้

ฉันได้ทำการทดลองเมื่อ:

  • รูปหกเหลี่ยมที่มีขนาดแตกต่างกัน: พื้นฐานรูปสามเหลี่ยม (เป็นพิกเซล) ใดที่ให้ความแม่นยำสูงสุดบนแผนที่ 1 เมตรเมื่อพิมพ์ออกมาแล้ว ซึ่งรวมถึงการทำให้สมบูรณ์ที่สุดเท่าที่จะทำได้เมื่อเปลี่ยนเป็น 60 องศา นอกจากนี้เมื่อเปลี่ยนเป็น 180 องศาสำหรับการ refitting

  • ชั้นรวมรูปหกเหลี่ยมที่แตกต่างกัน

  • รูปหกเหลี่ยมเดียวสำหรับตัดภาพที่มีรายละเอียดสูง (RAM = ไม่เพียงพอสำหรับแผนที่ขนาดใหญ่)

  • ขีด จำกัด ที่แน่นอนของคอมพิวเตอร์ของฉันรวมถึงสิ่งที่ฉันรู้สึกอนุญาต

ฉันยังไม่ได้ทำการทดลองเกี่ยวกับการยกระดับโดยการทำรูปหกเหลี่ยมที่แตกต่างกัน แต่ฉันรู้ว่าพื้นฐานจำเป็นต้องถูกต้องก่อนที่จะทำการยกระดับ


สรุป:

  • ความแม่นยำ 1 มม. หรือน้อยกว่าบนแผนที่ 1 เมตร กฎ 60 องศา

  • ฉันต้องการเส้นที่สามารถปรับให้เข้ากับตัวเองเมื่อหันไป 180 องศา

  • ฉันต้องการสามเหลี่ยมเพื่อให้พอดีกับหน้าจอของฉันด้วยการซูมสูงสุด

ฉัน จำกัด การเลือกของฉันให้เหลือ 3 ด้วยกฎเหล่านี้:

ขนาดเล็ก:

  • ขนาด; +26 x +45, 27 x 46 พิกเซล

  • ความคลาดเคลื่อนไม่เกิน 1 เมตร 0.74 มม

  • ลำดับ; 131213131312131

กลาง:

  • ขนาด; +41 x +71, 42 x 72 พิกเซล

  • ความคลาดเคลื่อนไม่เกิน 1 เมตร 0.20 มม

  • ลำดับ; 1312131313121313131312131

ใหญ่:

  • ขนาด; +56 x +97, 57 x 98 พิกเซล

  • ความคลาดเคลื่อนไม่เกิน 1 เมตร 0.5 มม

  • ลำดับ; 1312131313121313131213131312131

หนึ่งคือ 1 พิกเซล

สองและสามคือกลุ่มของ 2 พิกเซล A 2 คือ 4 พิกเซลทั้งหมดและ A 3 คือ 6 พิกเซลทั้งหมด

หากคุณเพิ่มลำดับคุณจะเห็นว่าเป็นความกว้างเป็นพิกเซล หากคุณเพิ่มขึ้นและนับ 4 และ 6 แทน 2 และ 3 คุณจะได้รับพิกเซลสูง

ตัวเลข + คือสิ่งที่คุณเพิ่มเป็นพิกเซลเมื่อคุณวางสามเหลี่ยม 2 รูปไว้ที่ด้านบนของกันและกันหรือต่อกัน

อย่าลังเลที่จะถามคำถาม ในอีเมลของฉัน


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

1
สิ่งอื่น: StackExchange ไม่ใช่ฟอรัมดั้งเดิม ข้อมูลที่เป็นประโยชน์ควรรวมอยู่ในโพสต์และผู้อ่านไม่จำเป็นต้องส่งอีเมลถึงคุณเพื่อรับคำตอบที่สมบูรณ์ นอกจากนี้เนื่องจากนี่ไม่ใช่ฟอรัมจึงไม่มีวิธีที่ผู้คนจะตั้งคำถามกับคำตอบของคุณ ดังนั้นไม่เพียง แต่เชิญคำถามที่ไม่เหมาะสมเท่านั้น แต่จะไม่สามารถใช้งานได้ ดูgamedev.stackexchange.com/help/how-to-answer
เซทแบตทิน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.