WC3 geliştiricileri tarafından ne tür bir yaklaşım kullanıldığından emin değilim, ancak Hiyerarşik Açıklamalı A * 'ya benziyor. WC3Editor'da tanımlanan birim yarıçapı, 3B model ölçeklendirmesi için olduğu gibi kullanıldı, ancak yol bulma için gerçek birim boyutu ayrıktı, belki unitSize = (int) (unitRadius / 10) gibi bir şeydi. Vektör tabanlı değildi, kesinlikle.
Diyelim ki yüksek çözünürlüklü düğüm ızgarası yapan birçok yol düğümü var. Bir hortlak gibi basit birimin boyutu 2'dir, bu yüzden bir ızgaraya bir yere yerleştirmek için birbirine yakın 4 serbest yol düğümüne ihtiyacımız vardır. Bir ölüm şövalye kahramanı, toplam 9 yol düğümü alarak 3 boyutuyla biraz daha büyüktür. Şimdi arada 2 düğümlü boşluk bırakarak 2 ziggurat yerleştiriyoruz ve diğer tarafa bir hortlak ve ölüm şövalyesi gönderiyoruz. Ghoul iki ziggurat arasında geçebilecekken, ölüm şövalyesinin hareket etmesi gerekecek. Nasıl Belirlenebilir?
Bir düğümün belirli bir boyuttaki bir birimi barındırabildiğini görmek için, her bir düğüme izin verilen maksimum birim boyutunu tanımlayan özel bir boşluk değeri atayalım. Temel olarak, bir düğüm için birkaç sınırlayıcı kontrolün yapıldığı ve mümkün olan en büyük sınırların düğümün temizlenmesi olarak hatırlandığı anlamına gelir. Dolayısıyla, bir düğümün üzerine bir ölüm şövalyesi yerleştirmek istediğimizde, düğümün açıklığını ölüm şövalyesinin büyüklüğü ile karşılaştırmak kadar basit hale gelir. Tabii ki, düğümler için rekabet eden birkaç birim olduğunda işler çok daha karmaşık hale gelecek, ancak bu başka bir hikaye.
Daha fazla ayrıntı için bu makaleye göz atmak isteyebilirsiniz:
http://harablog.wordpress.com/2009/01/29/clearance-based-pathfinding/