YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
15 stars 7 forks source link

Add a new "Tile Properties" editor to edit INDIVIDUAL tile properties. #2770

Open davilca opened 7 months ago

davilca commented 7 months ago

Is your feature request related to a problem?

When you're editing a tile set, you have three editors available: Brush Builder, Tile Animation, Auto Tiling. A new editor for editing individual tile properties would be very useful and a time saver. For example, I could add the property "1" to "water" tiles, the property "2" to "grass" tiles, etc. to easily assign terrain properties to tiles. This is useful to get the kind of footstep sound I should play when the character walks over a tile, without the need of a more complex solution nor adding a new layer for the terrain metadata.

Describe the solution you'd like

When you're editing a tile set, you have three editors available: Brush Builder, Tile Animation, Auto Tiling. I'm requesting a new editor for editing individual tile properties.

Describe alternatives you've considered

I have used many alternatives, but all of them require adding a new tile layer to my room and manually place each tile metadata, which is a very time consuming task, not flexible enough and very error-prone.

Additional context

No response

mistletoe commented 6 months ago

Dumb question: can't you write your game logic so that, when crossing a tile of type if the id is id then do stuff? I don't use Tiles, so please forgive me if I'm just being stupid, but looking at the Tile commands in GML, it seems like you should be able to get the id of the Tile and then run it through a switch to set up all things you want, rather than having to query some other Instance type, which I totally concede sounds clunky and unreliable!

Alternatively, you could run procedures at the beginning of a Room that check the Tiles and if they are type and id then you could add a generic metadata object of the same width and height initialized with _data you need for placemeeting().

davilca commented 6 months ago

Actually, you should use tiles and create a game with 100 different tile sets and 100 different maps (rooms) to understand this issue. The question here is WHERE do you indicate the TYPE of the tile. If you do it as I'm suggesting (on a new Tile Properties Editor), the task is pretty easy and flexible, since you do the job visually within the tile map resource editor, ONCE. If you do it as you're suggesting (creating functions for each of my 100 tile sets to parse all tile IDs and assign a terrain ID), the task is tedious and time consuming for big projects with tons of tile sets and tile maps, and very error-prone.

Right now, the least bad solution to this issue is to have one unique meta data tile set and add a meta data tile layer in each room to manually indicate each tile terrain, one by one. Which is a PAIN on big projects and big maps.

No other solution is more efficient and flexible than what I'm suggesting with this feature request. Everything else is a tedious workaround. Even TILED map editor ([https://www.mapeditor.org/]) allows properties for individual tiles. This is a must have feature when using tile maps for complex projects.

Totobal5 commented 1 month ago

yes please

DragoniteSpam commented 1 month ago

Other external examples include RPG Maker's "terrain tags," which are my favorite thing ever.

image