Tilemap editor UX issue: "why is it not drawing?" #10183
Seb-degraff
started this conversation in
Editor
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I stumbled upon a tilemap usability issue when using Godot for the first time in a game jam, and was encouraged to document it after I complained on twitter. I hope my godot-beginner perspective can help.
Many times during the jam I found myself trying to draw on a tilemap, but it was not working for one or several reasons. I ended up with a mental checklist of things to check whenever I couldn't draw. Some of these reasons are legitimate, but I found the combination of all of them to be a mental burden. Here is the checklist:
Proposed improvements:
Probably nothing to do for 1.
I think 2. and 4. could be solved by making the tilemap tools exclusive with the scene tools: when you click on the tilemap pen (or rectangle, select...) you also disable/exit the current scene mode mode (select, move, rotate, scale...). I suppose this would requires some design work to figure out exactly how this works. For example, what happens when a tilemap tool is active, but you select another node? Do you go back to the previously active scene tool? If so, should the ui show what was the "previously active" scene tool while a tilemap tool is selected somehow? See next section for a proposition of how to implement it.
For 3. it would be great if the last selected tile remained selected. Currently if you select another node, then select the tilemap back, the your tile selection in the tilemap tab is lost, which is quite frustrating. The tille selection should probably also survive crashes and editor restarts. Also, we were working with an 8x8 tileset which I had to zoom in every time I restarted the editor (or the tiles would be too small to select). A better default zoom could easily be deducted from the tilemap size (see attached image).
For 5, the way the eraser works is nice and should probably remain that way, but what can be improved is the feedback that the user is in erasing mode. Currently, when attempting to draw, one thing that hints the user that the eraser is active is that the "preview" tile under your cursor is a black square. This is not always very visible or clear. It could be improved easily by changing the user cursor into an eraser when hovering the tilemap and being in erase mode, to clearly signify "clicking will erase, you should disable the eraser if you wanted to draw". Of course, seasoned users will likely erase by right clicking and never enable erasing mode, but if they do they should still get feedback.
For 6, the selected layer state should survives editor restarts and eventual crashes. I often found myself drawing on the "background" layer and being confused for a second. I almost always wanted to draw on the "terrain" layer, which was second in the list and was not the default active layer after starting up the editor.
I hope these points make sense and will help someone willing to improve the UX of the tilemap. I'm not planning to do these changes myself, as I don't know the codebase and don't use Godot outside of that particular game jam.
Overriding scene tools with "tab" tools
I think a simple way to implement a solution for 2. and 4. would be to allow tabs to "override" the scene/global tool mode. When the user clicks a tool in a tab, the previously active scene/global tool would stay selected but show as dimmed (e.g. the blue icon becomes semi-transparent and the background becomes lighter). The user can then edit the tilemap (similar to the current behaviour when the select scene mode is active). When the user "closes" the tab, for example by selecting another node that isn't a tilemap, the previously active scene tool becomes active again, and exits its dimmed visual state. Selecting the tilemap again automatically returns to the tilemap edit state. In the scenario where the user wants to actually mode/rotate/scale the tilemap itself and the tilemap paint mode is overriding the scene/global tool mode, the user can return to the wanted scene tool simply by clicking it, which would exit the tilemap editing mode and therefore stop overriding the global/scene mode.
Beta Was this translation helpful? Give feedback.
All reactions