กลับไป เครื่องมือ
เขียนโค้ด

Red Blob Games: A* Pathfinding

โดย Amit Patel / Red Blob Games

ภาพโต้ตอบและตัวอย่างโค้ดช่วยเลือก BFS, Dijkstra หรือ A* ให้เหมาะกับต้นทุนการเดินและเป้าหมายของเกม

guide
กริดเจ็ดคอลัมน์เปรียบเทียบเส้นทางหกก้าวที่มีต้นทุน 21 ผ่านพื้นที่แพง กับทางอ้อมแปดก้าวที่มีต้นทุน 8
ตัวอย่างเส้นทางที่สร้างขึ้นใหม่ เดินได้สี่ทิศและไม่นับต้นทุนช่องเริ่มต้น ไม่ใช่ผลจากเกมที่รันจริง ภาพอธิบายต้นฉบับที่จัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ใช้เอกสารเป็นแหล่งข้อเท็จจริงเท่านั้น ไม่ได้นำภาพต้นฉบับมาใช้ และไม่ใช่ภาพหน้าจอทางการหรือเกมเพลย์ แหล่งแนวคิด

เหมาะกับ: ศัตรูหาเส้นทางอ้อมกำแพง หรือเกม tactics ที่แต่ละช่องใช้แต้มเดินต่างกัน

เริ่มทีละขั้น: 1) ทำกราฟเล็กที่มีทางตัน 2) ใช้ BFS เมื่อต้นทุนทุกก้าวเท่ากัน 3) เพิ่มต้นทุนพื้นผิวแล้วเทียบ Dijkstra กับ A* ที่ใช้ heuristic ไม่ประเมินต้นทุนสูงเกินจริง

ภาพแนวคิดเปรียบเทียบ BFS สำหรับต้นทุนเท่ากัน Dijkstra สำหรับต้นทุนต่างกัน และ A* ที่ใช้คะแนน f เท่ากับ g บวก h
ภาพภาพรวมที่สร้างใหม่ ไม่ใช่โค้ดหรือการรับประกันผล ต้องจัดการรายละเอียดกราฟ เงื่อนไข heuristic และจุดหมายที่ไปไม่ถึงให้ถูกต้อง ภาพอธิบายต้นฉบับที่จัดทำสำหรับ GameSlash โดยมี AI ช่วยสร้าง ใช้เอกสารเป็นแหล่งข้อเท็จจริงเท่านั้น ไม่ได้นำภาพต้นฉบับมาใช้ และไม่ใช่ภาพหน้าจอทางการหรือเกมเพลย์ แหล่งแนวคิด

ลองตรวจ: เปรียบเทียบต้นทุนเส้นทาง ไม่ใช่แค่จำนวนช่อง และลองกรณีไม่มีทางถึงเป้าหมาย

ข้อควรรู้: ผลลัพธ์คือเส้นทางบนกราฟ การขยับตัวละครและการจัดการสิ่งกีดขวางระหว่างเดินยังเป็นงานของเกม

อ่านต้นฉบับ: Author’s guide

ดูแหล่งที่มา