Tôi đã cố gắng tìm ra cách triển khai thứ gì đó như tìm đường trong Starcraft 2. Tôi không tìm kiếm tất cả các tính năng phức tạp như đổ xô, xếp hàng, v.v. Thực tế tôi thích cách Starcraft 1 các đơn vị sẽ can thiệp vào nhau khác Nhưng tôi muốn một công cụ tìm đường tốt hơn so với sử dụng trong Starcraft 1.
Từ các tìm kiếm của Google, tôi đã thực hiện các câu trả lời khác nhau có liên quan đến A * qua lưới điều hướng và / hoặc xử lý một số loại "biểu đồ khả năng hiển thị". Nhưng tôi đã nhận được một số câu trả lời mâu thuẫn hoặc không rõ ràng về những gì tôi nên làm.
Một điều tôi đọc được có liên quan đến việc thực hiện A * trên các đỉnh của lưới tam giác (lưới điều hướng). Và sau đó bằng cách nào đó "đi thẳng ra con đường" mà tôi không biết làm thế nào. Nhưng điều đó không đảm bảo sự tối ưu phải không?
Một câu hỏi khác mà tôi có là làm thế nào để tìm đường dẫn starcraft 2 đối phó với thực tế là các đơn vị là các đĩa có bán kính hữu hạn và không phải là điểm khi xử lý các góc? Và làm thế nào để đối phó với các chướng ngại vật năng động như các đơn vị nhàn rỗi hoặc thậm chí các đơn vị di chuyển khác.
Tôi đang tìm kiếm một số giải thích chi tiết nghiệt ngã và không phải là tổng quan siêu cấp chung chung mà điển hình trong kết quả tìm kiếm.
Nếu nó quan trọng tôi đã xem Ghi chú của Amit về Tìm kiếm đường dẫn . Tôi đã nghe nói nhưng chưa đọc Hình học tính toán: Thuật toán và ứng dụng . Và một bài đăng trên blog về một bài thuyết trình điều hướng AI tại GDC 2011 đã đề cập rằng Starcraft 2 sử dụng phép tam giác delaunay bị ràng buộc cho một điều hướng. Mặc dù bài đăng trên blog có đề cập đến việc điều khiển Boids và "phân tích đường chân trời", nhưng nó không đề cập chính xác cách thức tìm đường cốt lõi được thực hiện trên navmesh.