Proposal: Tilemap changes

Consider A as your method (one tilemap per atlas) and B the last implementation of Joshua (Tile that references an atlas).

  1. 2 drawcalls for A and B. For B, Tilemap need to draw in the z-order, and need to batch all Tiles that use the same atlas surrounded by other atlases.

  2. 3 drawcalls for A and B. You can’t batch all the brown rabbits together because they’re overlapping. Also A need 3 Tilemap.

  3. 4 drawcalls for A and B. You can’t batch anything because of overlapping. Also A need 4 Tilemap.

Now consider the ease of sorting your tiles by z-index. With B, you just need to order your Tiles in the correct order within your Tilemap using Tilemap.addTileAt. With A, you have to order correctly your Tiles within Tilemap + to order correctly each Tilemap between them. And you will need a variable number of Tilemap depending of your overlapping. That’s not user friendly at all.