Okay, so here's the idea. I know it sounds a little corny, but I think the game play will be simple enough to get addictive. Imagine a game that plays like a cross between Snake and Black & White. Sounds like an odd mix, right? Well, just bear with me here for a second.
The idea is that you play as a god in the form of a dragon, something like this (image shamelessly stolen from Google image search):
It's your job to keep a bunch of villages happy. At first, all you can do as a god is create rain. So, villages that are in need of rain appear on the screen, and you have to get to them and create rain before a timer runs out. The more villagers you help, the more praise you get. Praise makes you longer, and eventually will get you more powers. I'm thinking something like the second power being a fireball to repel invaders, and the third being the ability to make plants/crops grow.
So, the longer the game goes on, the longer you get, and the more powers you get. There will also be more villages appearing that need any one of these powers. Basically, the whole point of the game is to keep villages happy for as long as possible. You loose the game if you run into yourself (a la Snake), or fail to keep a certain number of villages happy before their timers expire.
I'd like the graphical style to look somewhat akin to Blumenmacht, so very colorful and a little cartoony and trippy.
Here's why I like this idea:
The controls and core game play would be simple, but (hopefully) addictive. I also think it would be a fun way to play around with trying to procedurally generate most of my art content. The body of the dragon could be done with splines, and its texture could be implemented by some clever use of Perlin Noise. I'd also like to play around a bit with using fractals for the effects of the various powers, to add to the cartoony/trippy look and feel of the game.
I still don't know whether or not I'd like to do this in 2D or 3D. I think it would be immensely fun flying a dragon around a fully 3D world, but 2D would undoubtedly be simpler to implement and play. I'll probably throw together a 2D prototype in C#/XNA and see what happens from there.