Эхх...
Так создаёшь некий вспомогательный тип:
Type TFogOfWarHelper
Field x%
Field y%
Field life#
End Type
Дальше life каждого хелпера по дефолту допустим 10000 и постоянно уменьшается если рядом нет юнитов, если есть то 10000 фиксировано.
Хелперы создаются юнитом во время движения допустим каждые 2 секунды новый хелпер.
Затемнение делай системой квадов, которые будешь текстурой с маской просвечивать.