ฉันจะสร้าง Fog of War ที่ไล่ระดับสีได้อย่างไร


14

ฉันกำลังสร้างเกม 2D RTS บนลงล่างเพื่อวัตถุประสงค์ทางการศึกษา ปัจจุบันฉันเพิ่งคัดลอกการออกแบบ / ความคิดของ Starcraft ฉันตัดสินใจว่าฉันควรจะใช้ Fog Of War ด้วย

ความคาดหวังของฉัน:

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

การไล่ระดับสีระหว่างภูมิภาคการมองเห็น

เพียงแค่รายละเอียดคร่าวๆ: ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


11

คุณควรเพิ่มข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งานเกม แต่ต่อไปนี้เป็นข้อเสนอแนะบางประการ:

  • เก็บบิตแมปของแผนที่ทั้งหมดทุกครั้งที่มีการสำรวจพื้นที่ใหม่เพียงแค่พลิกบิตที่สอดคล้องกันเมื่อพวกเขามองเห็นได้ คุณสามารถทำเช่นเดียวกันสำหรับพื้นที่เปิดเผย
  • หน่วยศัตรูจะถูกดึงเมื่อพวกมันอยู่ในพื้นที่ที่ถูกเปิดเผย คุณจะต้องรักษาสถานะ 'ดูล่าสุด' สำหรับอาคารในพื้นที่ FOW
  • คุณไม่จำเป็นต้องอัปเดตการมองเห็นทุกเฟรม - ทั้งนี้ขึ้นอยู่กับความเร็วหน่วยสูงสุดของคุณ 5 หรือ 10 เฟรมต่อวินาทีน่าจะเพียงพอ
  • สมมติว่าคุณใช้แผ่นสี่เหลี่ยมคุณจะต้องมี 4 หน้ากากเพื่อให้ได้ผลลัพธ์ที่คุณต้องการ: หนึ่งรายการสำหรับกระเบื้อง 'ทึบ' (ปิดทึบ), หนึ่ง 'ข้อศอก' และหนึ่ง 'มุม' การไล่ระดับสีและอีกหนึ่ง 'ขอบตรง' ลาด คุณสามารถรับผู้อื่นทั้งหมดจากการหมุนโดยใช้และความโปร่งใส

หวังว่าจะช่วย


นอกจากนี้ให้ใช้ดัชนีพิเศษเพื่อจัดเก็บวัตถุเกมของคุณเพื่อให้คุณสามารถค้นหาวัตถุที่ผู้เล่นสามารถมองเห็นได้อย่างรวดเร็ว
ไก่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.