Personnally, I think it is always hard to begin to work, like when I was kid and it is time to go to the bath... you don't want to, but when you are inside, you don't want to leave. And I don't work all alone, so I don't choose everything.
So, I fix myself one small objective from my todo list (like "make touch controls" ), I do it, and then, I want to continue, so I check what other things are on my to do list.
The fact is, don't do every fun part to make all at once, and you should have a What to do list, to keep the focus, If you are like me, you should do one "fun to program" part when beginning the day, Then you just check what you chosen before, I have myself other ideas of games, or of gameplay, but I remember that I shall not implement them when I think of them, you shouldn't do everything you think of at once, but write it down, do what you have to do, then later see it again, and think about it a second time.
Passion is a good thing to keep you program, but it should be moderated, so It doesn't result in "I love to program games, too bad, I never finished any of them", because passion isn't what helps making games, the fact you know how to understand it is.
It is my personnal way of thinking, I could be right, wrong, or even just applicable for me.
PS:English isn't my first language, so please forgive me If I make mistakes
PS2: I have enough rep forum, let me post