AS, it sounds like you’re thinking of a level editor such as Gumbo, while Zoske is thinking of a level editor like Tiled. The former allows you to place images wherever you want, the latter is for making tile-based games such as the 2D Mario games (and a zillion others).
The “script that places one block after the other” is what a tiling engine does – takes a block of data such as this:
[lua]
data = {
39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39, 0, 0, 0, 0, 0, 38, 39, 39, 39, 39, 39, 39, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
38, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 38, 39, 39, 38, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 45, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 38, 39, 39, 39, 39, 39, 39, 38, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
}
[/lua]
…and places the tiles in the correct spots to make this:

Okay, that data was just for placement of the walls (and I chopped most of it out to save space here), there are other layers that put in floors, crates, walkways, etc. But you get the idea.
Jay