This is all true, and is similar to the #1 advice that I give to aspiring indie devs, which is to make a tiny game. Like, something that can be finished in under a week. I can guarantee they won't finish it in time - it's a lesson in scope. You spent half of the time debugging some physics bug for that puzzle platformer idea? Yup. You spent a whole day working out some UI quirk? Yep. No, those ideas are all too big: you have to scope down to a Tetris clone to finish on time.<p>Regardless of if you finish in time, you should still finish it. A finished bad game is a million times more impressive than an unfinished cool idea. You gain priceless knowledge and experience from just completing a project from beginning to end, so do it often - and of course the easiest way to do that is to just make a tiny, finishable project.<p>Once you make a tiny game, make a slightly larger one. Once you get to a multi-month project, you'll encounter the dreaded motivation gap. It's when the honeymoon period of "holy crap I have so many ideas" wears off, and you actually have to implement every detail. During this phase you will HATE working on the game, and if your life doesn't depend on it, then you will quit.<p>This gap separates people who like the idea of having made a big game versus the people who want to actually make a big game. I've seen so many people start so many cool projects, but never get over that hump because it's soooo unmotivating to do something you hate, making no visible progress, for the sole prospect of "it will be cool after I trudge through this another 5 months".<p>Once you get over that hump though, it gets super exciting again, because the end is in sight, and you're just polishing the game and adding in the cool features that were in your mind before, but couldn't add yet because the framework wasn't there. The only way past that hump is to have a really inspiring team that can inspire each other when they're down on motivation, or to have inhuman Carmackian drive, or to have your life depend on it.