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.
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.
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.
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".
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.
I started off making a small game [1], which I thought would be quick and easy and wouldn't take very long so would be a good starter, and it ended up taking me about 6 months to finish.
At points I absolutely couldn't stand this project any more - and there's still a bunch I need to do it like:
- add some multiplayer functionality so it goes "viral" (in the smallest possible terms of course)
- add sounds and music!
- fix bugs (when it's paused it loses the OpenGLES context so on resume some stuff goes white. Some wierd errors reported on Sony Xperia devices).
- make the UI look not-shit. I'm not a designer and it shows, fortunately a friend of mine who is spent 5 minutes doing a redesign recently which looks incredible which I'm hoping to use soon. I spent forever trying to come up with something even half decent. Lesson learnt there - get someone else to do it if you can.
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.
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.
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".
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.