You have to really break a big project down, well any project above a days work should really be broken down.
Personally I like to take a single feature from idea to integration in one sitting. For example in a game I was working on I decided that it's quite tricky to know where to head to find the last remaining enemies, I didn't want to have a radar or anything cheap like that, so I decided on vultures. Making a vulture model, textured and animated is not a major concearn, small organic objects can be created very quickly, even wildlife. Then I had these vultures look for enemies, and circle them, then randomly fly off searching for more - if you have 1 enemy left he'd have 6 or 7 vultures waiting on him to die
. The vulture never lands or attacks, it just does it's job, which is simply indicating for the player where the fresh meat is.
For me, little excercises like that are so much fun, you can really get into this stuff once your realistic about what you need to do, what you can do, and what won't take forever. If something takes forever, then it's usually because you missed the quick way to do it. It's not really something you can do too much until your project has some legs, like the ability to load and explore levels - once you get to that stage things get a lot more fun. I think the important thing is to not get bogged down by mind numbing code, if you need some organic influence or just a change of pace, then bite sized features in bigger projects is great fun.
I've done the same thing with moths, fish, hell I coded Nanoid pretty much exactly like this, one mad beast or cool powerup at a time.
I find it's best not to look at the big picture, because in our cases the big picture is often too daunting, consider 1 feature you'd like to see in your project, and make it happen, while your working on this 1 feature your making real progress, and it stays fresh because your not throwing features in at the end with little thought, each feature can have the same time and care spent on it.
There's no avoiding those real long and tricky tasks, like adding file formats and loaders, or making editors, but if you pepper your work with these micro-projects I find it's more likely that you'll stick with it.