I posted a comment over on Reddit where someone was asking how people maintain discipline when developing games (although a lot of the theory could be applicable in other fields). I posted an answer with a few points and figured I’d post it here for future reference too.
I find discipline becomes easier when seeing progress so I always try to look back at what’s been achieved every few weeks, however small, and be proud of it. Not to make it sound like a feel-good wishy-washy thing but I think it’s easy to forget how much you’ve achieved relative to your skillset and resources when it’s so often compared to other people’s work (which may be further down the line).
If you still like the game idea, clearly something else is stopping you. Identify what it is. For me, as more of a programmer than an artist, testing the visual side of things seemed like a pain (setting up Unity, making sure camera is correct, finding an image to use etc..). To counter this, I’ve now created an ever-growing folder of assets I accumulate from the web and set up a prototype project for my game where I can quickly test ideas. This includes backgrounds, sprite-sheets, random images, sound effects, music etc… Therefore whenever I want to prototype anything, I can focus on the programming more than the environment setup.
Find out what your bottlenecks are during development. For me, my PC was slowing down too much and Unity would take a while to load up (didn’t take too long but when you’re not motivated enough anyway, it’s another excuse to ‘do it later’), which took me out my zone so I upgraded the RAM and installed an SSD drive. A faster machine makes so much of a difference to me when developing.
I now maintain a personal dev diary with screenshots. In order to be good at this, I customised my workflow to help take GIFs quickly without losing focus (wrote a post here).
The internet is probably the biggest distraction so I now make time at the end of the day to catch up on articles that look interesting but aren’t necessarily pertinent to what I’m doing at that time. I wrote a post here on how I did that.
Play to your mood. If you’re really motivated, work on the more 'boring’ things if possible such as non-visual/backend stuff. When you’re not in the mood, work on something that can give instant feedback which I usually find has visual aspects. The latter also works for when you want to share your work with others here or on Twitter or something and get feedback. (Of course, that’s just for me, you may find the backend aspects much more rewarding)
Essentially investing time up front on improving work flow and reducing friction is what got me out of a rut. Doing this felt productive, even if it was something simple as gathering assets for my prototype folder. Then it’s a positive cycle as you develop more, you become more self-motivated and I find it perpetuates - just be sure not to burn out and pace yourself; nothing wrong with taking up other hobbies IMHO.
The system’s not perfect and I still hit developer’s block but it’s the best thing I’ve found that works for me personally. I've also started to spend time on blogging (wrote my first dev.to post here) which I find helps become productive.