inheritance

It's tiring to repeat all the data for a tile type just to make a version that additionally has an "url", "message" or "sprite" attribute. That's where you can use inheritance. Instead of doing:

[,]
tileset = ground.png
tile_x = 1
tile_y = 3

[B]
tileset = ground.png
tile_x = 1
tile_y = 3
sprite = boy.png

You can do:

[,]
tileset = ground.png
tile_x = 1
tile_y = 3

[B]
tile = ,
sprite = boy.png

And all the properties from tile "," will also be used in tile "B".