Bản đồ trò chơi có thể quan sát được một phần - A * có phù hợp không?


16

Tôi biết rất ít về phát triển trò chơi và tôi đang cố gắng xoay quanh các thuật toán tìm đường.

Hãy xem xét thiết lập này: một tác nhân ở trên bản đồ 2D và phải tìm đường đi ngắn nhất đến một đối tượng biết toàn cầu nhưng chỉ có thông tin về các chướng ngại vật trong phạm vi tầm nhìn địa phương của anh ta (tức là chỉ biết các chướng ngại vật ngay lập tức, không biết bố cục chung của bản đồ ).

Ngoài ra, mỗi lần di chuyển đến một hình vuông liền kề đều tốn kém và thuật toán tìm đường nên giảm thiểu số lần di chuyển.

Hiệu quả tính toán cũng rất quan trọng và quan trọng hơn độ chính xác.

A * có thích hợp cho trường hợp sử dụng này không?

Câu trả lời:


19

Bạn nên sử dụng thuật toán D * , được thiết kế cho kịch bản chính xác này. Cụ thể, việc triển khai D * Lite là biến thể hiệu quả và đơn giản nhất.


2
Có liên quan cao . Hiểu D * -lite rất đơn giản một khi bạn hiểu LPA * (thuật toán D * -lite dựa trên) , nhưng bản thân LPA * khá phức tạp. Vì vậy, nếu bạn có kế hoạch thực sự triển khai D * -lite, bài báo về LPA * sẽ là nơi để bắt đầu (giả sử bạn đã hiểu A *, nghĩa là)
BlueRaja - Danny Pflughoeft

3

Nhiều người triển khai AI trong tình huống đó sẽ chọn cách gian lận và cung cấp cho mình kiến ​​thức đầy đủ về bản đồ, nơi đối thủ của con người họ không có điều đó. Sau đó, bạn có thể chỉ cần áp dụng A * cho bản đồ đầy đủ.

Điều này có vẻ hợp lý như thế nào đối với các đơn vị điều khiển máy tính sẽ phụ thuộc vào những thứ như mê cung như thế nào trên bản đồ, và nếu người chơi có khả năng tìm hiểu bố cục bản đồ theo thời gian.

Nếu đây là cho các đơn vị do người chơi kiểm soát, bạn cũng có thể ngăn người chơi chọn điểm đến mà họ chưa khám phá, để buộc họ khám phá thủ công.


2
Đề xuất tốt, không phù hợp với trường hợp sử dụng của tôi, nhưng có thể hữu ích cho người khác. (Tôi đang phát triển AI để cạnh tranh trong một trò chơi mô phỏng)
David Chouinard

cũng có những trò chơi sử dụng triển khai tìm đường dẫn giả định rằng các khu vực chưa được khám phá là có thể giao nhau, trong khi các khu vực được truy cập trước đó không có bất kỳ thay đổi nào về khả năng bắt chéo kể từ lần truy cập trước (nghĩa là không biết rằng một bức tường có thể đã bị phá hủy hoặc xây dựng cho đến khi nó truy cập vào khu vực lần nữa).
Lie Ryan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.