I actually have some interesting suggestion, but please don't blame if it does not help you to get immediate or better results. From the context of comments I think your game is working with discreet cellular automaton (because you discuss move in 4 direction or 8 and so on).
Here is the idea. There is one popular game you should know: a Game of Life invented by John Horton Conway (
http://en.wikipedia.org/wiki/Conway's_Game_of_Life[
^]).
The game itself is maybe quite far from yours but 1) it is very popular, so people created a lot of implementations, some of them are very good; 2) in the programming of this game, there is only one real challenge: how to present the game scene in data structures and map them on screen — this is exactly what are you thinking about. Some people devised really clever ways of doing this thing. If you want to research designs of such codes you will certainly find all you want.
How about that?
Good luck.
—SA