The more you hate your project, the better it is.
Well that may not be completely true, but I do believe there comes a point when it transitions from ‘fun’ to ‘work’. That doesn’t mean you won’t enjoy the successes you achieve, they’ll just be separated by periods masochism.
Furthermore, it’s fine to feel you’ve just pieced together the next Frankenstein. If you walk away thinking you couldn’t have done it any better, then you haven’t gained that much experience from the process. And you won’t level up. Cause you were just beating on level 0’s.
There does reach a tradeoff point with reworking your own code. Not enough streamlining can make things difficult fix later, too much reworking and you’re just code-turbaiting. I find a healthy mix of comments chastising my own work is a good indication of when things need to be mangled.
I don’t believe there is any finite set of rules for when a project needs a bus ride to the trash can. It comes down to the individual banging away at the keyboard. What are your realistic goals for the project.
Keeping yourself on task is the crux of all this. It’s ok to step away from a project, but be realistic and keep in mind the longer you are away, the more likely you are to never return. And the code ain’t goin ta write itself. Code requires time. You’re not going to come back after a 6 month break, type a few keys and magically create the next masterpiece of the game world.
After having dumped all my free time (and I do mean ALL) into a project for the past 2 years, this is my take-away for staying on track. Take it a piece at a time. Don’t get caught up in “what about ______”. If you don’t focus on just one small task at a time, then you’ll get overwhelmed.
-(Insert Something thought provoking and ends with “A journey of a thousand miles begins with the first step”)