Yes. A* is still the way to go in almost every case. It's your node cost calculation that becomes dynamic and therefore more complex to calculate and track.
If you already know where the moving obstacles will be in the future your A* can take the temporality of obstacles into account in the cost function.
Örn: Bu düğüme 4 tikle ulaşılır, kene # 3'ten kene # 6'ya kadar kullanılır, bu nedenle bu düğümdeki seyahat maliyeti 6 - 4 = +2 kenedir. Bu hala en iyi yol olabilir.
Engelin hareket yönü de dikkate alınmalıdır.
Önceden bilmiyorsanız, hiçbir engel kabul edemez ve engellere ulaşıldığında yolu yeniden hesaplayabilirsiniz, ancak kilitlenmeler ve livelocks hakkında bir şeyler yapmanız gerekecektir. (Aynı şey, engellerin nerede olacağını tahmin edebiliyorsanız ancak bunun kendi içinde bir kilitlenme / livelock kaçınma türü olduğunu ve bunun amacınız için yeterince iyi olabileceğini öngörürseniz geçerlidir.)
Bir kilitlenme, ikisi de diğerinin hareket etmesini beklediğinde ve hiçbiri hareket etmediğinde olur.
Bir livelock, her ikisinin ( veya daha fazlasının <- dikkate alınması önemlidir) diğerinden aynı yönde kaçınması ve ilerleme göstermeden ileri geri gitmesidir.
Solving livelocks can become very complex and that depends entirely on your game's collision rules and mechanics (e.g.: should they fight and destroy the obstacle?).
It often comes back to having your moving objects schedule node/path reservations (don't forget cancellations when they change path or die) so other moving objects can plan ahead.
Once you have this information you can also plan interceptions.