Skip to content

Add the ability to change TileMap Paint Tool's size to at least 2x2 #12301

Open
godotengine/godot
#106699
@Syntaxxor

Description

@Syntaxxor

Describe the project you are working on

A 2d pixel platformer.

Describe the problem or limitation you are having in your project

I've drawn a basic tileset for a platformer I'm working on. It's specifically set up in a way that works well with the Tiled tilemap editor's corner-based terrain set system. I can fairly easily draw with it in Tiled since when I select the terrain set, it automatically gives me a 2x2 brush to work with. I'm essentially painting in the corners and it's able to easily place my tiles in.

2025-04-22.23-33-11.mp4

The same does not work in Godot. If I set up the terrain set in the same way I set up the Tiled version, I can't actually draw with the paint tool. The only way to make it draw would be to set up my "full" tile as having the center bit set, which would then force anything I draw to be in minimum groups of 3x3 tiles instead of minimum groups of 2x2. The only way to get the results I'd prefer is by manually drawing with the rectangle tool. This is significantly less smooth than using a paint tool like I would in Tiled.

2025-04-22.23-38-42.mp4

Describe the feature / enhancement and how it helps to overcome the problem or limitation

There are a few possibilities for this. However, I think the most robust option that would help beyond just this situation is adding a variable size for the TileMap Paint Tool.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

When the player selects the TileMap Paint Tool, it shows a SpinBox in the same place as where the Bucket Tool shows the "Contiguous" CheckBox. The number in it can be changed to set the size of the Paint Tool. When drawing the tilemap, it centers a square based on that size around the cursor and places a tile in each of those, akin to how the Rectangle tool would place a square.

The drawing process would look something like:
Image
The user clicks, and then
Image

If this enhancement will not be used often, can it be worked around with a few lines of script?

It would be used as often as corner-based terrain sets. Which, admittedly, I don't know the frequency of use for. But regardless, it cannot be worked around easily.

Is there a reason why this should be core and not an add-on in the asset library?

It's a change to an aspect of a core engine feature. I'm not sure if this even could be implemented as an add-on.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions