return function() w, h = w or 200, h or 200 -- keep default width/height if supplied sw = math.random(5, w-15) sh = math.random(5, h-15) x1 = math.random(5, w-sw-5) y1 = math.random(5, h-sh-5) pixels = {} for i=1, w*h do pixels[i] = -1 end for y=y1, y1+sh-1 do for x=x1, x1+sw-1 do pixels[y*w+x+1] = 0 end end end