I'll have to check again how it was done in Bomberman, but my initial idea would be to let the user define the level height and width, and then create it automatically by:
Filling all edge tiles with indestructible tiles
Filling all (2m, 2n) tiles with indestructible tiles, with m,n integers
Define exclusion zones around the player starting points (four corners)
Populate the rest with:
Crates (high probability)
Bushes (low probability)
Nothing (low probability)
For future levels where there might be characteristic interactive elements, those could also be referenced with relative position (center tiles, 20% of the level width to the left and right, etc.) to be placed and generate exclusion zones.
Another approach would be to intervert steps 3 and 4, and just clean the exclusion zones afterwards.
I'll have to check again how it was done in Bomberman, but my initial idea would be to let the user define the level height and width, and then create it automatically by:
For future levels where there might be characteristic interactive elements, those could also be referenced with relative position (center tiles, 20% of the level width to the left and right, etc.) to be placed and generate exclusion zones.
Another approach would be to intervert steps 3 and 4, and just clean the exclusion zones afterwards.