mapeditor/tiled

Various improvements and requests #3317

willianholtz posted onGitHub

Hello, as we discussed on Discord. Here are some improvements and requests I've commented on.

IDE improvements:

  • Save All: Currently we can access "Save All" only with a keyboard shortcut Ctrl+Shift+S, it would be interesting to have a button in the interface where the user can just click. The same goes for ".World" files

  • ".World" files: This would be a big step for Tiled. When we create a ".World" file, instead of having to always add a map to it, it would be interesting and more dynamic to create a map already inside the ".World". And also always call all Tileset that are already being worked on. It doesn't make sense to do all the steps again as we are working on a single project.

For example:

We create a .world, add a map, add a tileset. This is the default when starting. Now if I want to add more maps inside the World project, I have to make a new map, save it first and only then can I add it to the project. The idea would be, if the user is already working on a ".World" file, automatically make this new map already integrated into the project.

Saving files

In Tiled preferences we have "export options". In this session, it would be interesting to be able to choose what type of file Tiled would save by default: (.json, .TMX, .tmj, etc...)

This would be ideal for new maps as the default is .TMX. This helps to better integrate into the Engine that the user uses, as it will always save in that format.

Tile collisions:

Well, first I'm going to apologize if I'm talking nonsense, because I don't know the way that all engines work with the issue of collisions involving Tiled.

When we place collisions in our tilesets, we always have to do it one by one, placing the collision and defining its name (and type if used). But this is a lot of work depending on the size of the Tileset.

Ah first of all, I'm talking about the "Detect Bound Box", ok?

When using the "Bounding Box" it would be nice to be able to select all the Tiles that we want to insert the Collision into and be able to name them all at once. I know that with "Type" this can be done, but not with collisions!

Bounding

That's all for now. But I wanted to highlight the .World issue more. An improvement for this type of project would be most welcome!


Save All is already available in the File menu along with the other save options, so the shortcut is not the only option. It sounds like you meant you want to also add it to the main toolbar?

Worlds: Auto-adding new maps to the loaded world, and creating maps at a particular location in the right (maybe with right-click -> "Create Map here"?) sounds like a nice feature.

Saving: Tiled already saves the last format used in the session. Setting a specific default instead of remembering the last chosen option, especially as a project option so it's shared by the whole team, seems pretty convenient though. Just to note though: Export and Saving are separate things and are not intended to be interchangeable. Saving is for work files, Exporting is for production files. Unless your work files are also your production files (which doesn't seem to be the case, since you mentioned the Export options), the format of the work files usually doesn't matter, only the format of the exported production files matters. So, I think an option alongside "Repeat last export on save" to set a specific format would probably be better than a default save format option. So, a "Export on save" checkbox, and a drop-down next to it for the format, with "Last used" as one of the options.

Tile collision: You can already assign collision to many tiles at once. Select a bunch of tiles, draw/generate the collision on the one that's visible in the collision editor, then right-click it and you can copy it to selected tiles from there. This isn't a great UI and needs improvement, but the feature does exist. There is already an issue open to improve this: #1322

FWIW on GitHub, the norm is to have a separate issue for each separate feature request and only group very closely related ones together, so that the issues can be tracked closed independently. Lumping a whole bunch of stuff together like this makes it harder for developers to actually address your requests xP

posted by eishiya about 3 years ago

Save All is already available in the File menu along with the other save options, so the shortcut is not the only option. It sounds like you meant you want to also add it to the main toolbar?

Yes!

Worlds: Auto-adding new maps to the loaded world, and creating maps at a particular location in the right (maybe with right-click -> "Create Map here"?) sounds like a nice feature.

Yes, too!

Saving: Tiled already saves the last format used in the session. Setting a specific default instead of remembering the last chosen option, especially as a project option so it's shared by the whole team, seems pretty convenient though. Just to note though: Export and Saving are separate things and are not intended to be interchangeable. Saving is for work files, Exporting is for production files. Unless your work files are also your production files (which doesn't seem to be the case, since you mentioned the Export options), the format of the work files usually doesn't matter, only the format of the exported production files matters. So, I think an option alongside "Repeat last export on save" to set a specific format would probably be better than a default save format option. So, a "Export on save" checkbox, and a drop-down next to it for the format, with "Last used" as one of the options.

Yea! Saving and exporting are different, maybe I was wrong in the conditions, but currently every map that is created is saved in tmx default, if I just use json, it should have an option that I could set this extension as default

Tile collision: You can already assign collision to many tiles at once. Select a bunch of tiles, draw/generate the collision on the one that's visible in the collision editor, then right-click it and you can copy it to selected tiles from there. This isn't a great UI and needs improvement, but the feature does exist. There is already an issue open to improve this: https://github.com/mapeditor/tiled/issues/1322

What I wanted to say is this! I didn't find the option you mentioned! Excuse!

https://user-images.githubusercontent.com/23488207/160912273-bd8ebf4f-2a4a-4f0b-bee1-a5d6e2544a1a.mp4

EDIT: Ahhh I found the "Apply to all tiles". Wow, it's something well hidden for users. I've been using Tiled myself for a long time and I've never seen these options

FWIW on GitHub, the norm is to have a separate issue for each separate feature request and only group very closely related ones together, so that the issues can be tracked closed independently. Lumping a whole bunch of stuff together like this makes it harder for developers to actually address your requests xP

Well, that's why I decided to ask before on Discord about where to post to make requests. I understand that everything needed to be separated, but I didn't want to create several "issues" and maybe generate spam with it

posted by willianholtz about 3 years ago

Yea! Saving and exporting are different, maybe I was wrong in the conditions, but currently every map that is created is saved in tmx default, if I just use json, it should have an option that I could set this extension as default

Tiled already saves the last extension you used in the session, as I mentioned. So if you save a map as TMJ/JSON, the next time you go to save a map, it'll have that as the format selected by default.

posted by eishiya about 3 years ago

It doesn't happen to me to keep the last type of extension saved!

Even a bug happens

https://user-images.githubusercontent.com/23488207/160915446-50b1b51e-2923-4a9c-ab19-b7cae454a265.mp4

posted by willianholtz about 3 years ago

In your video, Tiled has correctly remembered the format (TMJ/JSON), just not the extension. As of Tiled 1.8 (I think?), TMJ is the default/preferred extension used for the Tiled JSON map format, as it's less ambiguous than the generic JSON.

The crash you got is probably unrelated to the format, but something else weird to do with the World.

posted by eishiya about 3 years ago

Thanks @willianholtz for all the great suggestions!

In your video, Tiled has correctly remembered the format (TMJ/JSON), just not the extension. As of Tiled 1.8 (I think?), TMJ is the default/preferred extension used for the Tiled JSON map format, as it's less ambiguous than the generic JSON.

Hmm, indeed, now that there are two possible extensions for the JSON format, it might make sense to remember the last used extension as well. I've opened issue #3319 about this.

Even a bug happens

I noticed you're adding maps to a world before saving them. That shouldn't be possible, since the world will not know which file to refer to. The bug sneaked in, because before Tiled 1.8 a map had to be saved upon creation. This might also be related to the crash, but it seems this may have been already fixed by 2743017b618f00abb1f3431b99623d08ba039b97 as a side-effect. I've pushed c6818e61630685d2e2d35a5a3e786aa7f6d6bc87, which disables the "Add to World" actions for unsaved maps.

Regarding world editing, there some open issues for this, but most improvements to the world editing are currently summarized at the related project we suggested for GSoC participants: https://github.com/mapeditor/tiled/wiki/Enhanced-World-Editing. Unfortunately we were not accepted into GSoC 2022, but it would sure be nice to get around these improvements someday.

Finally, the "Save All", I'm not sure about adding it to the tool bar. It's rare for this action to be on the tool bar, and it also means it needs an icon, and it seems to me that most icon sets do not have a "Save All" icon (your icon set, Breeze, seems to be the exception in this regard). If it is really important to you, a potential solution would be to allow scripts to add actions to tool bars, which is currently a missing feature. I've opened #3318 about this. Alternatively, maybe a auto-saving (#3133) would be a solution for you as well?

In any case, I think we have all suggestions covered elsewhere now, so I'll close this one.

posted by bjorn about 3 years ago

Fund this Issue

$0.00
Funded

Pull requests