I have read older threads claiming there are issues with the tilemap, and usually the reply is that improving it is in the backlog, but after now having tried it I’d have to say that it NEEDS to be fixed.
First let me say I just started using it, so let me know if I’m missing something. However, if I am, then some things are not intuitive and that may be an issue in and of itself.
Anyways, first things first: The current (small) set of tilemap features dont seem to be integrated in the editor. I cant find a way to flip tiles, except in code. I could just be missing this functionality though. (For the record having to hit space to bring up the palette is incredibly obtuse, and one shouldnt have to read a long manual to find that out)
Ok and now by biggest issue, the lack of features is bad, but from what I can tell the only way to set the bounds of a tilemap is by actually drawing the tilemap in the editor. So if you want a 10x10 tilemap you have to draw one line thats 10 tiles on the x axis and similar on the y axis. You can then “erase” these tiles by drawing over them with an empty (transparent) tile, which doesnt actually seem to “erase” anything at the core, but removes the graphical representation. Congratulations you now have a 10x10 tilemap you can work with procedurally (well or maybe 11x10 if you messed up… no way to tell but calling get_bounds then starting over).
I have never seen anything this wonky in a game engine before. Its awful. Now this affects me personally since most my projects would involve a tilemap of sorts, and if I had started with this feature when I first encountered the engine I would have dropped it immediately. Tilemaps are a very common game construct and I cant imagine this not scaring people away as it gives the impression of an incompetent team. I luckily didnt start with tilemaps, and have seen how well functioning parts of the engine work, so I want to stick with it; but if that had been my first impression I’d be back to godot or something.
edit: It seems like the tilemap was only meant to be used at design time… but plenty of games are going to need an implementation that allows for robust runtime manipulation
edit: I should probably give a recommendation for how to make this better, but that’s up to the team. At the very least we should be able to just specify a width and height in the editor (and in script). I’m not sure how that would work with the tilemaps (strange) support for negative cell values, but I’m sure that something can be done. (One could just set bounds for instance)