Well, it is basically a tile map with ‘intelligent’ tiles. The hard bit with anything like this is getting the model of your farm/town/whatever correct.
tbh, initially I would forget about everything other than lua and work on the model - use a simple text representation or something very quick and dirty - perhaps a tile which rather than representing a piece of grass, have it show as a little bar graph showing the state of that tile - that way you can visually see how the game progresses - once you have this working it is not too difficult to graft a display and interface onto it.
But the effort should go into the simulation. I plan to write a Cricket game (English sport if you didn’t know) and the problem with, well, all of them is the core model of the game is not play tested to destruction so it ‘feels right’. If you are creating a farm sim (say) and the simulation part is not good the game will be rubbish no matter how pretty it looks.
L8R: I wrote a tutorial on Model-View-Presenter (see coronadev.blogspot.co.uk, April posts) - this is a classic example of when this separation of model (what you are actually representing) and view (what it looks like on the screen) is a really good idea.