นำทางด้วยอุปสรรคในเกม Warcraft 3 เช่นเดียวกับ


10

พิจารณาการค้นหาแบบ A บนแผนที่แบบเรียงต่อกัน รหัสตรงไปข้างหน้าจะเป็น: หากมีหน่วยอยู่ภายในเซลล์นั้นแสดงว่าไม่สามารถเข้าถึงได้นี่เป็นสิ่งที่ตกลง

แต่มีปัญหาความละเอียดของแผนที่ เมื่อฉันมองเข้าไปใน Warcraft 3 มีสัตว์ประหลาดและโครงสร้างต่าง ๆ มีรัศมีที่แตกต่างกันและคุณสามารถเดินเข้าไปใกล้มากซึ่งคล้ายกับเวกเตอร์ที่ใช้วิธีนี้ถูกนำมาใช้อย่างไร

นอกจากนี้โซลูชันมาตรฐานคือการรวมการตรวจจับการชนกันของสิ่งกีดขวางการเคลื่อนที่เข้ากับอัลกอริธึมการค้นหาเส้นทางเช่น Warcraft 3


"ภาพเวกเตอร์" หมายถึงอะไร
jcora

คำตอบ:


7

ฉันไม่สามารถพูดได้อย่างแน่นอนว่าผู้พัฒนา WC3 ใช้วิธีการแบบใด แต่มันก็ดูเหมือนว่าจะเป็น Hierarchical Annotated A * รัศมีของหน่วยที่กำหนดใน WC3Editor ถูกใช้เป็น - สำหรับการปรับแบบจำลอง 3 มิติ แต่ขนาดของหน่วยที่แท้จริงสำหรับการค้นหาเส้นทางนั้นไม่ต่อเนื่องอาจจะคล้ายกับ unitSize = (int) (unitRadius / 10) มันไม่ใช่เวคเตอร์ที่ใช้แน่นอน

สมมติว่ามีโหนดเส้นทางจำนวนมากที่สร้างกริดโหนดความละเอียดสูง หน่วยอย่างง่ายเช่นปอบมีขนาด 2 ดังนั้นเพื่อที่จะวางไว้ที่ไหนสักแห่งในตารางที่เราต้องการโหนดเส้นทางฟรี 4 ใกล้กัน ฮีโร่อัศวินแห่งความตายมีขนาดใหญ่กว่าเล็กน้อยโดยมีขนาดเท่ากับ 3 โดยมีโหนดทั้งหมด 9 โหนด ตอนนี้เราวาง ziggurats 2 ตัวไว้ด้วยกันโดยปล่อยให้มีพื้นที่ว่าง 2 โหนดในระหว่างนั้นและส่งปอบและอัศวินแห่งความตายอีกด้านหนึ่ง Ghoul จะสามารถผ่านระหว่างสองซิกกัตได้ในขณะที่ Death Knight จะต้องเคลื่อนที่ไปรอบ ๆ จะตัดสินได้อย่างไร?

เพื่อที่จะดูว่าโหนดสามารถรองรับหน่วยที่มีขนาดเฉพาะได้หรือไม่ลองกำหนดค่าการกวาดล้างพิเศษให้กับแต่ละโหนดที่กำหนดขนาดหน่วยสูงสุดที่อนุญาต โดยทั่วไปหมายถึงว่ามีการตรวจสอบขอบเขตหลายครั้งสำหรับโหนดและขอบเขตที่ใหญ่ที่สุดที่เป็นไปได้นั้นถูกจดจำเป็นการล้างค่าของโหนด ดังนั้นเมื่อเราต้องการวาง Death Knight ในบางโหนดมันจะกลายเป็นเรื่องง่ายเหมือนกับการเปรียบเทียบการล้างค่าของโหนดกับขนาดของ Death Knight แน่นอนว่าสิ่งต่าง ๆ จะมีความซับซ้อนมากขึ้นเมื่อมีหลายหน่วยกระโดดข้ามการแข่งขันสำหรับโหนด แต่นั่นเป็นอีกเรื่องหนึ่ง

สำหรับรายละเอียดเพิ่มเติมคุณอาจต้องการตรวจสอบบทความนี้:

http://harablog.wordpress.com/2009/01/29/clearance-based-pathfinding/


4

มันจะใช้เทสเซลเลชันเพื่อสร้างเส้นทางการนำทางภูมิภาค AKA บทความนี้อธิบายแนวคิดด้วยไดอะแกรมแบบเต็ม

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

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