Here and below, can we bias it away from the heaviest rubble density?  1/3 blocking sight pretty much means that any significant area of rubble is going to end up blocking vision.  Something simple like rng(3, 9) / 3 will give {1, 1, 1, 2, 2, 2, 3} for example, it's also an option to not have a rubble field at all on some tiles, like rng(2, 9) / 3 will produce {0, 1, 1, 1, 2, 2, 2, 3}.