Easiest way to create a 2D isometric map with touch listeners


What would be the easiest way to create a 2D isometric tile-based map where all the tiles can be touched?
The map could also be designed manually using several gameobjects.


Check out the Kanji adventures dev diary Kanji Adventure

It’s an isometric Defold game where the map is done using individual game objects.

Also this post:


I am the creator of Kanji Adventure. A couple months back I have tried to summarize the general idea in a reply to someone who was interested. Kanji Adventure

The answer to your question is that you will need to use a (collection) factory which dynamically spawns and removes game objects depending on your current position. As for input handling, the best way I found was to use a matrix similar to one mentioned at https://gamedev.stackexchange.com/questions/34787/how-to-convert-mouse-coordinates-to-isometric-indexes/34791#34791 in order to transform mouse coordinates into in-game world space.

In February we have updated the input handling routine to support maps with variable height. We have accomplished this by running the transformation multiple times with different offsets and then checking the result with the map structure. The biggest issue we have right now is Tiled, the external map editor we are using. We have to use multiple tilesets to achieve what we want and the UX is quite bad for that specific usecase. Unfortunately I don’t know of any other external editor that supports variable height by design. If you don’t care for height however, Tiled is an excellent choice!

I would like to open source the entire routine for others to use but I doubt I will find enough time in the next two months. I am fairly busy with my university courses and other work. :confused: