I’ve realised what my problem is.
In short, it’s most game devs’ problem. Not being able to finish things. But it’s not only that I’m not able to finish a complete game, it’s the fact I’m not able to finish the little parts of the game as well.
I often find myself charging in to add a feature without really thinking through how I’m going to implement it. Then, it turns out that it doesn’t quite works, but works some of the time. I think “That works well enough, I’ll come back to it later” and leaving it half done. So right now, I basically have a whole load of half finished features, and I have no idea what needs doing.
Also, I’m far too concerned with optimization and proper coding practises. I worry about whether I should use getters and setters, whether I should rewrite that as a function or have that as a static variable, etc. I need to stop doing that too.
Oh. And I don’t comment my bloody code. That probably doesn’t help.