I want to talk a little about 8th tip:
If you're developing your own game -please I beg you- don't make a clone game. Nobody needs a another bubble game. Clone game development causes you to not to learn the game design iteration process.
I think it's really important for us, I'm talking about novices in gamedev which are looking for idea to realize.
There is no need to realize ping-pong, asteroids, breakout and other crap, being implemented so many times...
I disagree; If you're learning to program it's great to have a clearly defined goal to stick to, so you can focus on dealing with the programming thing.
It's like saying don't play "bad bad leroy brown" on the guitar when learning to play guitar. Play something new and different!
Or saying; improvise while learning to cook! It will make you a better cook.
If I'm not sure if I'm making spaghetti, I'll both be figuring out what I'm trying to cook, while running all over the kitchen,
failing to memorize where I put the knives. - Just because somebody else cooked spaghetti with meatballs, my kids won't enjoy my meal as much?
If you know you're creating a jawbreaker game, pong or asteroids, you have a pretty good idea of what you want to end up with.
You can program your way there; that is the actual challenge, and what you actually need to learn.
As superman3275 said, the statement seems to originally be directed towards established/upstart game developers (with prior programming experience implied).
And aside from how games are received by the public, I think it's up to the individual developer to decide what he or she enjoys developing more. Unless you're looking to become popular, or make money off development, why would you develop a game based on what
other people like? If it's my hobby, I intend to create something I enjoy. That's what drives indie development IMO.
Only pleasing the end user is sort of a commercialization of the scene, I think.