Draw[board_] := ListDensityPlot[board, PlotRange -> Full, ColorFunction -> (Hue[#/2+0.5]&)];
Step[board_] := (
flow = Map[Max[0, (#-1)/4]&, board, {2}];
board - 4*flow+(
RotateLeft[flow]+RotateRight[flow]+(RotateLeft /@ flow)+ (RotateRight /@ flow)
)
);

{m,n}={100, 100};
board=Table[0,{m},{n}];
board[[Range[Round[0.1m], Round[0.7n]], Range[Round[0.1m], Round[0.7n]]]] =1;
add = Table[0,{m},{n}];
add[[Range[Round[0.3m], Round[0.9n]], Range[Round[0.3m], Round[0.9n]]]] =1;
board = board+add;
board=N[board];
Dimensions[board]

Draw[board]

Dynamic[Draw[board]]

Do[board=Step[board], {10000}];

Draw[board]