I bet you could make something to do this. You make mini tilemaps and then when you want to “apply” them to the world you have a simple loop like
For Y from 0 to (mini tilemap height) {
For X from 0 to (mini tilemap width) {
If (mini tilemap get tile at (location X Y) =/= (empty tile)) {
(World Tilemap) set block at (location world location + X, world location + Y) to (mini Tilemap get tile at (X, Y))
}}}
This as a custom extension would be pretty cool. I’m sure what you could do is run a loop to put all the tiles into an array and then loop it back into the tilemap you want to draw on, like @BitBot and @WoofWoof said.
note that this function passes the tilemap in an array because we don’t have tilemaps as a supported function argument type.
i would definitely not use the color coded tilemap extension, because that extension is really just for backwards compatibility with a very old version of arcade.
can you give me more info, what part are you confused about?
basically, you just need to call the stampTilemapAtLocation function to draw a tilemap on top of the current tilemap. the first argument to that function will be the location of the top-left tile where the tilemap will be drawn, and the second argument is the tilemap you want drawn.
in my example, i drew a bunch of houses all over the place. try messing with the location parameter and see how the game changes, that might make it more obvious how things are working
Using nested loops to iterate through a set of coordinates or a 2D array is definitely the way to go here. It keeps your code much cleaner than manual placement, especially when working with procedurally generated terrain.