Nie korzystałem z żadnych dodatkowych frameworków do JS wspomagających grafikę 2D, ale sprawa z taką mapą wygląda prosto - jeśli masz kafelki terenu to one zawsze będą na 1 polu, drzewo zajmuje 3, ale jeśli rysujesz np. kafelki to z góry na dół wobec tego wcześniejsza warstwa pod "cieniem" drzewa została już narysowana i trafiając na ten obiekt rysujesz go od dołu do góry (od pnia do korony drzewa), wtedy na mapie wystarczy info, że kafelek drzewa zajmuje 1 pole (miejsce umieszczenia korzeni).
Osobna tablica dla obiektów też nie jest zła wtedy teren rysujesz na początku a później pozostałe obiekty w kolejności od najdalszych po najbliższe, tak aby zachować kolejność perspektywy.
Tutaj jeszcze nasuwa się pytanie czy za każdym razem gdy zmieni się coś na mapie odrysujesz całą mapę czy tylko fragment. 1-wszy przypadek jest prostszy, ale wiadomo mniej wydajny, drugi będzie wymagał odrysowania pozostałych obiektów, które mogą przesłaniać pole które zostało zmodyfikowane. Więcej niż 2 warstwy tutaj raczej nie ma sensu robić no chyba, że masz zamiar na nich umieszczać jakieś dajmy na to miejsca respienia się przeciwników, teleporty czy coś takiego.