Line of sight |
Tutorial |
Demo |
API Javadoc |
Download |
|
|
Abbiamo scritto un algoritmo per determinare la visibilità in un ambiente tile-based piano.
Tile-based significa che dato un osservatore, la visibilità è determinata tile per tile,
ovvero non esistono tile parzialmente visibili. Piano significa che l'ambiente non ha livelli/scale, etc.
Quest'ultima è una grossa limitazione (più in ambienti tattici che strategici), però
in DF possiamo conviverci tranquillamente. Quando non sarà più così magari lo
riscriveremo.
E' suddiviso in due parti: la prima è costituita da sole interfacce che definiscolo le funzionalità
necessarie a implementare la fog of war e a determinare la visibilità, e la seconda è costituita
da una possibile implementazione.
L'implementazione che offriamo è stata pensata per essere efficiente, pur usata in un gioco a turni come
è DF piuttosto che in un gioco in tempo reale.
L'algoritmo è disponibile anche in Gamengine, ma essendone indipendente abbiamo voluto distribuirlo
separatamente.
|
|