Alright, I've heard of 'Farmville,' so please don't remind me about it. My official stance on Farmville is: I don't care. I don't care about Farmville. I tried to play it for about a day and I stopped caring pretty quickly. Which, of course is the death of any good farm and or garden. You have to care.
I do, however, have a garden in my back yard. I've got tomatoes, basil, marigolds, kale, chard, lemon cucumbers and yellow squash. Or at least, I have the plants for them-- they haven't yielded much in the way of fruits. Anyhow, I enjoy gardening. It really isn't much different from certain types of gaming. I think of tower defense, RTS, and Sim City. You plant your units, you maintain your units against the ravages of enemies, bent on beating them to the ground. Each unit has a different property, and many times they will require certain appropriate conditions to upgrade them and turn out different results.
Gardening is very much like that. The sun, while an important ally, is also an enemy. It will dry out the plants and burn them. You have to keep them steadily supplied with water in order to compensate for the heat of the sun. However, it is important not to over manage the garden. If you water too much, you will rot out the roots, and kill your plants that way. The balance is delicate. I can't say I've seen this feature in an RTS or other sort of game; a way to overwater, or otherwise worry a unit to death.
Oh, here's a two dollar idea for you: an app or a widget or whatever, for your phone or desktop, that is just a houseplant that you have to water. Just a stupid, simple game to keep a person mildly entertained once a day, twice a day, however. The benefit of a computer plant is that you can track your watering schedule. In fact, the system could double as a tracking system for your own watering -- you just have to be consistent about feeding the virtual plant whenever you feed your actual plant. It might work. I certainly know I'm on my computer and phone way more than I spend time with my plants.
Another element of the garden is pests. These buggers are... so buggery! And it's really tough to combat them. Marigolds have the property of being attractive to pests, and hardy. So they can divert some of the bugs to eat them. In addition, plants like Chard can usually take a beating from the slugs and the aphids. They're hard to kill, and usually produce a lot. But still, after all that, the fucking bugs can screw things up for my other plants, the once I want to eventually eat! It's a really tough balance, too, because if you want to eat something, it's really probably not a great idea to cover it in poison. But poison seems like the most effective method of driving the point across to those damned hungry bugs. There's also ladybugs, and apple slices and eggshells and other products. Nothing is perfect though.
And the bane of my existence, there are cats. Fucking stray cats. I love cats, don't get me wrong. I even love strays. But god dammit, I hate cat shit. I hate it in my garden. It smells bad, it's disgusting to think that a cat (probably my cat) is shitting around the tomatoes *I plan to EAT* and to make matters worse, there's toxoplasmagondii. Great. It has a name; why I shouldn't eat plants sitting in cat shit-soaked soil. Apart from 'ewwwww!'
Finally, there's the attention. It is very easy to slip out of consistency with gardening. Simply become distracted for a few days. It's not hard-- I do it all the time. Actually, a gardening tracker app would be useful to me when this happens, because I could pull up my phone and see my thirsty plant, and know it's been three days since I watered. It's not an exact science, but it's pretty darn ballpark.
So that's it for this idea. In summary, I would like a game that combines RTS and Sim City. Choose a plot, clear it, fertilize, plant. Water, fight bugs. Harvest. Find out what you did wrong. Seems pretty simple to me, and I think it's a series of mechanics that can be refined to a deep level. This is why I like the thought of making games: I can combine learning about a thing, with trying to express it using programming systems and graphics. Now I just need to work on that programming... And that graphics.